Files
full/wiki/api/02-cloud.md

1551 lines
39 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CLOUD API
云端相册、书签、网盘、笔记、私密数据、分享和空间管理。
> 本文档由 protobuf descriptor 生成。字段名采用 protobuf JSON 名称64 位整数在 JSON 中应按字符串处理。
## 接入方式
- 动态 HTTP`POST /rpc/cloud/{Service}/{Method}`
- 原生 gRPC`/cloud.{Service}/{Method}`
- grpc-gateway`POST /cloud.{Service}/{Method}`
- 鉴权:需要登录的接口通过 `Authorization: <JWT>` 传递裸 JWT不添加 `Bearer` 前缀。
- 动态 HTTP 成功或失败均返回 HTTP 200业务状态见 `code``message``details`
## 服务概览
| 服务 | 方法数 | 说明 |
|---|---:|---|
| `Album` | 12 | Album 服务 |
| `Bookmark` | 6 | Bookmark 服务 |
| `Disk` | 15 | Disk 服务 |
| `Note` | 10 | Note 服务 |
| `Private` | 9 | Private 服务 |
| `Share` | 5 | Share 服务 |
| `Space` | 2 | Space 服务 |
## Album
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `CreateAlbum` | `POST /rpc/cloud/Album/CreateAlbum` | [`cloud.CreateAlbumRequest`](#cloudcreatealbumrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetAlbum` | `POST /rpc/cloud/Album/GetAlbum` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudAlbumItem`](#cloudcloudalbumitem) | Unary |
| `UpdateAlbum` | `POST /rpc/cloud/Album/UpdateAlbum` | [`cloud.CloudAlbumItem`](#cloudcloudalbumitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeleteAlbum` | `POST /rpc/cloud/Album/DeleteAlbum` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListAlbums` | `POST /rpc/cloud/Album/ListAlbums` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListAlbumsResponse`](#cloudlistalbumsresponse) | Unary |
| `SetCoverPhoto` | `POST /rpc/cloud/Album/SetCoverPhoto` | [`cloud.SetCoverPhotoRequest`](#cloudsetcoverphotorequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `UploadPhoto` | `POST /rpc/cloud/Album/UploadPhoto` | [`cloud.CloudPhotoItem`](#cloudcloudphotoitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetPhoto` | `POST /rpc/cloud/Album/GetPhoto` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudPhotoItem`](#cloudcloudphotoitem) | Unary |
| `UpdatePhoto` | `POST /rpc/cloud/Album/UpdatePhoto` | [`cloud.CloudPhotoItem`](#cloudcloudphotoitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeletePhoto` | `POST /rpc/cloud/Album/DeletePhoto` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListPhotos` | `POST /rpc/cloud/Album/ListPhotos` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListPhotosResponse`](#cloudlistphotosresponse) | Unary |
| `MovePhoto` | `POST /rpc/cloud/Album/MovePhoto` | [`cloud.MovePhotoRequest`](#cloudmovephotorequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
### Album.CreateAlbum
- 动态 HTTP`POST /rpc/cloud/Album/CreateAlbum`
- gRPC`/cloud.Album/CreateAlbum`
- 请求示例:
```json
{
"cloudId": "0",
"cloudIdentity": "string",
"coverPhoto": "string",
"description": "string",
"isPrivate": false,
"name": "string"
}
```
### Album.GetAlbum
- 动态 HTTP`POST /rpc/cloud/Album/GetAlbum`
- gRPC`/cloud.Album/GetAlbum`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Album.UpdateAlbum
- 动态 HTTP`POST /rpc/cloud/Album/UpdateAlbum`
- gRPC`/cloud.Album/UpdateAlbum`
- 请求示例:
```json
{
"coverPhoto": "string",
"createdAt": "string",
"description": "string",
"id": "0",
"identity": "string",
"isPrivate": false,
"name": "string",
"photos": [
{
"album": {},
"albumId": "0",
"createdAt": "string",
"description": "string",
"filePath": "string",
"fileSize": "0",
"height": 0,
"id": "0",
"identity": "string",
"location": "string",
"mimeType": "string",
"tags": "string",
"takenAt": "string",
"title": "string",
"updatedAt": "string",
"width": 0
}
],
"updatedAt": "string"
}
```
### Album.DeleteAlbum
- 动态 HTTP`POST /rpc/cloud/Album/DeleteAlbum`
- gRPC`/cloud.Album/DeleteAlbum`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Album.ListAlbums
- 动态 HTTP`POST /rpc/cloud/Album/ListAlbums`
- gRPC`/cloud.Album/ListAlbums`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Album.SetCoverPhoto
- 动态 HTTP`POST /rpc/cloud/Album/SetCoverPhoto`
- gRPC`/cloud.Album/SetCoverPhoto`
- 请求示例:
```json
{
"albumId": "0",
"photoId": "0"
}
```
### Album.UploadPhoto
- 动态 HTTP`POST /rpc/cloud/Album/UploadPhoto`
- gRPC`/cloud.Album/UploadPhoto`
- 请求示例:
```json
{
"album": {
"coverPhoto": "string",
"createdAt": "string",
"description": "string",
"id": "0",
"identity": "string",
"isPrivate": false,
"name": "string",
"photos": [
{}
],
"updatedAt": "string"
},
"albumId": "0",
"createdAt": "string",
"description": "string",
"filePath": "string",
"fileSize": "0",
"height": 0,
"id": "0",
"identity": "string",
"location": "string",
"mimeType": "string",
"tags": "string",
"takenAt": "string",
"title": "string",
"updatedAt": "string",
"width": 0
}
```
### Album.GetPhoto
- 动态 HTTP`POST /rpc/cloud/Album/GetPhoto`
- gRPC`/cloud.Album/GetPhoto`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Album.UpdatePhoto
- 动态 HTTP`POST /rpc/cloud/Album/UpdatePhoto`
- gRPC`/cloud.Album/UpdatePhoto`
- 请求示例:
```json
{
"album": {
"coverPhoto": "string",
"createdAt": "string",
"description": "string",
"id": "0",
"identity": "string",
"isPrivate": false,
"name": "string",
"photos": [
{}
],
"updatedAt": "string"
},
"albumId": "0",
"createdAt": "string",
"description": "string",
"filePath": "string",
"fileSize": "0",
"height": 0,
"id": "0",
"identity": "string",
"location": "string",
"mimeType": "string",
"tags": "string",
"takenAt": "string",
"title": "string",
"updatedAt": "string",
"width": 0
}
```
### Album.DeletePhoto
- 动态 HTTP`POST /rpc/cloud/Album/DeletePhoto`
- gRPC`/cloud.Album/DeletePhoto`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Album.ListPhotos
- 动态 HTTP`POST /rpc/cloud/Album/ListPhotos`
- gRPC`/cloud.Album/ListPhotos`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Album.MovePhoto
- 动态 HTTP`POST /rpc/cloud/Album/MovePhoto`
- gRPC`/cloud.Album/MovePhoto`
- 请求示例:
```json
{
"newAlbumId": "0",
"photoId": "0"
}
```
## Bookmark
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `CreateBookmark` | `POST /rpc/cloud/Bookmark/CreateBookmark` | [`cloud.CreateBookmarkRequest`](#cloudcreatebookmarkrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetBookmark` | `POST /rpc/cloud/Bookmark/GetBookmark` | [`base_cloud_blocks.IDRequest`](#base_cloud_blocksidrequest) | [`cloud.CloudBookmarkItem`](#cloudcloudbookmarkitem) | Unary |
| `UpdateBookmark` | `POST /rpc/cloud/Bookmark/UpdateBookmark` | [`cloud.CloudBookmarkItem`](#cloudcloudbookmarkitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeleteBookmark` | `POST /rpc/cloud/Bookmark/DeleteBookmark` | [`base_cloud_blocks.IDRequest`](#base_cloud_blocksidrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListBookmarks` | `POST /rpc/cloud/Bookmark/ListBookmarks` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListBookmarksResponse`](#cloudlistbookmarksresponse) | Unary |
| `ImportBookmarks` | `POST /rpc/cloud/Bookmark/ImportBookmarks` | [`cloud.ImportBookmarksRequest`](#cloudimportbookmarksrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
### Bookmark.CreateBookmark
- 动态 HTTP`POST /rpc/cloud/Bookmark/CreateBookmark`
- gRPC`/cloud.Bookmark/CreateBookmark`
- 请求示例:
```json
{
"category": "string",
"cloudId": "0",
"cloudIdentity": "string",
"description": "string",
"icon": "string",
"isPrivate": false,
"tags": "string",
"title": "string",
"url": "string"
}
```
### Bookmark.GetBookmark
- 动态 HTTP`POST /rpc/cloud/Bookmark/GetBookmark`
- gRPC`/cloud.Bookmark/GetBookmark`
- 请求示例:
```json
{
"id": "0"
}
```
### Bookmark.UpdateBookmark
- 动态 HTTP`POST /rpc/cloud/Bookmark/UpdateBookmark`
- gRPC`/cloud.Bookmark/UpdateBookmark`
- 请求示例:
```json
{
"category": "string",
"createdAt": "string",
"description": "string",
"icon": "string",
"id": "0",
"identity": "string",
"isPrivate": false,
"tags": "string",
"title": "string",
"updatedAt": "string",
"url": "string"
}
```
### Bookmark.DeleteBookmark
- 动态 HTTP`POST /rpc/cloud/Bookmark/DeleteBookmark`
- gRPC`/cloud.Bookmark/DeleteBookmark`
- 请求示例:
```json
{
"id": "0"
}
```
### Bookmark.ListBookmarks
- 动态 HTTP`POST /rpc/cloud/Bookmark/ListBookmarks`
- gRPC`/cloud.Bookmark/ListBookmarks`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Bookmark.ImportBookmarks
- 动态 HTTP`POST /rpc/cloud/Bookmark/ImportBookmarks`
- gRPC`/cloud.Bookmark/ImportBookmarks`
- 请求示例:
```json
{
"data": "string",
"format": "string"
}
```
## Disk
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `CreateDir` | `POST /rpc/cloud/Disk/CreateDir` | [`cloud.CreateDirRequest`](#cloudcreatedirrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetDir` | `POST /rpc/cloud/Disk/GetDir` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudDiskDirItem`](#cloudclouddiskdiritem) | Unary |
| `UpdateDir` | `POST /rpc/cloud/Disk/UpdateDir` | [`cloud.CloudDiskDirItem`](#cloudclouddiskdiritem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeleteDir` | `POST /rpc/cloud/Disk/DeleteDir` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListDirs` | `POST /rpc/cloud/Disk/ListDirs` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListDirsResponse`](#cloudlistdirsresponse) | Unary |
| `GetDirTree` | `POST /rpc/cloud/Disk/GetDirTree` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudDiskDirItem`](#cloudclouddiskdiritem) | Unary |
| `MoveDir` | `POST /rpc/cloud/Disk/MoveDir` | [`cloud.MoveDirRequest`](#cloudmovedirrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `UploadFile` | `POST /rpc/cloud/Disk/UploadFile` | [`cloud.CloudDiskFileRequest`](#cloudclouddiskfilerequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetFile` | `POST /rpc/cloud/Disk/GetFile` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudDiskFileItem`](#cloudclouddiskfileitem) | Unary |
| `UpdateFile` | `POST /rpc/cloud/Disk/UpdateFile` | [`cloud.CloudDiskFileItem`](#cloudclouddiskfileitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeleteFile` | `POST /rpc/cloud/Disk/DeleteFile` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListFiles` | `POST /rpc/cloud/Disk/ListFiles` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListFilesResponse`](#cloudlistfilesresponse) | Unary |
| `MoveFile` | `POST /rpc/cloud/Disk/MoveFile` | [`cloud.MoveFileRequest`](#cloudmovefilerequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `CopyFile` | `POST /rpc/cloud/Disk/CopyFile` | [`cloud.CopyFileRequest`](#cloudcopyfilerequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `SearchFiles` | `POST /rpc/cloud/Disk/SearchFiles` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListFilesResponse`](#cloudlistfilesresponse) | Unary |
### Disk.CreateDir
- 动态 HTTP`POST /rpc/cloud/Disk/CreateDir`
- gRPC`/cloud.Disk/CreateDir`
- 请求示例:
```json
{
"cloudId": "0",
"cloudIdentity": "string",
"name": "string",
"parentId": "0",
"path": "string"
}
```
### Disk.GetDir
- 动态 HTTP`POST /rpc/cloud/Disk/GetDir`
- gRPC`/cloud.Disk/GetDir`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Disk.UpdateDir
- 动态 HTTP`POST /rpc/cloud/Disk/UpdateDir`
- gRPC`/cloud.Disk/UpdateDir`
- 请求示例:
```json
{
"createdAt": "string",
"files": [
{
"createdAt": "string",
"directory": {},
"directoryId": "0",
"hash": "string",
"id": "0",
"identity": "string",
"mimeType": "string",
"name": "string",
"originalName": "string",
"size": "0",
"storagePath": "string",
"updatedAt": "string"
}
],
"id": "0",
"identity": "string",
"name": "string",
"parent": {},
"parentId": "0",
"path": "string",
"subdirectories": [
{}
],
"updatedAt": "string"
}
```
### Disk.DeleteDir
- 动态 HTTP`POST /rpc/cloud/Disk/DeleteDir`
- gRPC`/cloud.Disk/DeleteDir`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Disk.ListDirs
- 动态 HTTP`POST /rpc/cloud/Disk/ListDirs`
- gRPC`/cloud.Disk/ListDirs`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Disk.GetDirTree
- 动态 HTTP`POST /rpc/cloud/Disk/GetDirTree`
- gRPC`/cloud.Disk/GetDirTree`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Disk.MoveDir
- 动态 HTTP`POST /rpc/cloud/Disk/MoveDir`
- gRPC`/cloud.Disk/MoveDir`
- 请求示例:
```json
{
"id": "0",
"newParentId": "0"
}
```
### Disk.UploadFile
- 动态 HTTP`POST /rpc/cloud/Disk/UploadFile`
- gRPC`/cloud.Disk/UploadFile`
- 请求示例:
```json
{
"cloudId": "0",
"cloudIdentity": "string",
"directoryId": "0",
"hash": "string",
"mimeType": "string",
"name": "string",
"originalName": "string",
"size": "0",
"storagePath": "string"
}
```
### Disk.GetFile
- 动态 HTTP`POST /rpc/cloud/Disk/GetFile`
- gRPC`/cloud.Disk/GetFile`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Disk.UpdateFile
- 动态 HTTP`POST /rpc/cloud/Disk/UpdateFile`
- gRPC`/cloud.Disk/UpdateFile`
- 请求示例:
```json
{
"createdAt": "string",
"directory": {
"createdAt": "string",
"files": [
{}
],
"id": "0",
"identity": "string",
"name": "string",
"parent": {},
"parentId": "0",
"path": "string",
"subdirectories": [
{}
],
"updatedAt": "string"
},
"directoryId": "0",
"hash": "string",
"id": "0",
"identity": "string",
"mimeType": "string",
"name": "string",
"originalName": "string",
"size": "0",
"storagePath": "string",
"updatedAt": "string"
}
```
### Disk.DeleteFile
- 动态 HTTP`POST /rpc/cloud/Disk/DeleteFile`
- gRPC`/cloud.Disk/DeleteFile`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Disk.ListFiles
- 动态 HTTP`POST /rpc/cloud/Disk/ListFiles`
- gRPC`/cloud.Disk/ListFiles`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Disk.MoveFile
- 动态 HTTP`POST /rpc/cloud/Disk/MoveFile`
- gRPC`/cloud.Disk/MoveFile`
- 请求示例:
```json
{
"id": "0",
"newDirectoryId": "0"
}
```
### Disk.CopyFile
- 动态 HTTP`POST /rpc/cloud/Disk/CopyFile`
- gRPC`/cloud.Disk/CopyFile`
- 请求示例:
```json
{
"id": "0",
"newName": "string",
"targetDirectoryId": "0"
}
```
### Disk.SearchFiles
- 动态 HTTP`POST /rpc/cloud/Disk/SearchFiles`
- gRPC`/cloud.Disk/SearchFiles`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
## Note
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `CreateNote` | `POST /rpc/cloud/Note/CreateNote` | [`cloud.CreateNoteRequest`](#cloudcreatenoterequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetNote` | `POST /rpc/cloud/Note/GetNote` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudNoteItem`](#cloudcloudnoteitem) | Unary |
| `UpdateNote` | `POST /rpc/cloud/Note/UpdateNote` | [`cloud.CloudNoteItem`](#cloudcloudnoteitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeleteNote` | `POST /rpc/cloud/Note/DeleteNote` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListNotes` | `POST /rpc/cloud/Note/ListNotes` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListNotesResponse`](#cloudlistnotesresponse) | Unary |
| `TogglePin` | `POST /rpc/cloud/Note/TogglePin` | [`cloud.TogglePinRequest`](#cloudtogglepinrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `IncrementViews` | `POST /rpc/cloud/Note/IncrementViews` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `SearchNotes` | `POST /rpc/cloud/Note/SearchNotes` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListNotesResponse`](#cloudlistnotesresponse) | Unary |
| `InsertAttachment` | `POST /rpc/cloud/Note/InsertAttachment` | [`cloud.NoteAttachmentItem`](#cloudnoteattachmentitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeleteAttachment` | `POST /rpc/cloud/Note/DeleteAttachment` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
### Note.CreateNote
- 动态 HTTP`POST /rpc/cloud/Note/CreateNote`
- gRPC`/cloud.Note/CreateNote`
- 请求示例:
```json
{
"category": "string",
"cloudId": "0",
"cloudIdentity": "string",
"content": "string",
"isMarkdown": false,
"isPinned": false,
"isPrivate": false,
"tags": "string",
"title": "string"
}
```
### Note.GetNote
- 动态 HTTP`POST /rpc/cloud/Note/GetNote`
- gRPC`/cloud.Note/GetNote`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Note.UpdateNote
- 动态 HTTP`POST /rpc/cloud/Note/UpdateNote`
- gRPC`/cloud.Note/UpdateNote`
- 请求示例:
```json
{
"attachments": [
{
"createdAt": "string",
"fileName": "string",
"filePath": "string",
"fileSize": "0",
"id": "0",
"mimeType": "string",
"noteId": "0"
}
],
"category": "string",
"content": "string",
"createdAt": "string",
"id": "0",
"identity": "string",
"isMarkdown": false,
"isPinned": false,
"isPrivate": false,
"tags": "string",
"title": "string",
"updatedAt": "string",
"views": 0
}
```
### Note.DeleteNote
- 动态 HTTP`POST /rpc/cloud/Note/DeleteNote`
- gRPC`/cloud.Note/DeleteNote`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Note.ListNotes
- 动态 HTTP`POST /rpc/cloud/Note/ListNotes`
- gRPC`/cloud.Note/ListNotes`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Note.TogglePin
- 动态 HTTP`POST /rpc/cloud/Note/TogglePin`
- gRPC`/cloud.Note/TogglePin`
- 请求示例:
```json
{
"id": "0",
"isPinned": false
}
```
### Note.IncrementViews
- 动态 HTTP`POST /rpc/cloud/Note/IncrementViews`
- gRPC`/cloud.Note/IncrementViews`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Note.SearchNotes
- 动态 HTTP`POST /rpc/cloud/Note/SearchNotes`
- gRPC`/cloud.Note/SearchNotes`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Note.InsertAttachment
- 动态 HTTP`POST /rpc/cloud/Note/InsertAttachment`
- gRPC`/cloud.Note/InsertAttachment`
- 请求示例:
```json
{
"createdAt": "string",
"fileName": "string",
"filePath": "string",
"fileSize": "0",
"id": "0",
"mimeType": "string",
"noteId": "0"
}
```
### Note.DeleteAttachment
- 动态 HTTP`POST /rpc/cloud/Note/DeleteAttachment`
- gRPC`/cloud.Note/DeleteAttachment`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
## Private
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `CreatePrivateData` | `POST /rpc/cloud/Private/CreatePrivateData` | [`cloud.CreatePrivateDataRequest`](#cloudcreateprivatedatarequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetPrivateData` | `POST /rpc/cloud/Private/GetPrivateData` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudPrivateItem`](#cloudcloudprivateitem) | Unary |
| `UpdatePrivateData` | `POST /rpc/cloud/Private/UpdatePrivateData` | [`cloud.CloudPrivateItem`](#cloudcloudprivateitem) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DeletePrivateData` | `POST /rpc/cloud/Private/DeletePrivateData` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListPrivateData` | `POST /rpc/cloud/Private/ListPrivateData` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListPrivateDataResponse`](#cloudlistprivatedataresponse) | Unary |
| `GetPrivateDataByType` | `POST /rpc/cloud/Private/GetPrivateDataByType` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListPrivateDataResponse`](#cloudlistprivatedataresponse) | Unary |
| `SearchPrivateData` | `POST /rpc/cloud/Private/SearchPrivateData` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListPrivateDataResponse`](#cloudlistprivatedataresponse) | Unary |
| `EncryptData` | `POST /rpc/cloud/Private/EncryptData` | [`cloud.DataRequest`](#clouddatarequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `DecryptData` | `POST /rpc/cloud/Private/DecryptData` | [`cloud.DataRequest`](#clouddatarequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
### Private.CreatePrivateData
- 动态 HTTP`POST /rpc/cloud/Private/CreatePrivateData`
- gRPC`/cloud.Private/CreatePrivateData`
- 请求示例:
```json
{
"cloudId": "0",
"cloudIdentity": "string",
"data": "string",
"dataType": "string",
"description": "string",
"isEncrypted": false,
"tags": "string",
"title": "string"
}
```
### Private.GetPrivateData
- 动态 HTTP`POST /rpc/cloud/Private/GetPrivateData`
- gRPC`/cloud.Private/GetPrivateData`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Private.UpdatePrivateData
- 动态 HTTP`POST /rpc/cloud/Private/UpdatePrivateData`
- gRPC`/cloud.Private/UpdatePrivateData`
- 请求示例:
```json
{
"createdAt": "string",
"data": "string",
"dataType": "string",
"description": "string",
"id": "0",
"identity": "string",
"isEncrypted": false,
"tags": "string",
"title": "string",
"updatedAt": "string"
}
```
### Private.DeletePrivateData
- 动态 HTTP`POST /rpc/cloud/Private/DeletePrivateData`
- gRPC`/cloud.Private/DeletePrivateData`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Private.ListPrivateData
- 动态 HTTP`POST /rpc/cloud/Private/ListPrivateData`
- gRPC`/cloud.Private/ListPrivateData`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Private.GetPrivateDataByType
- 动态 HTTP`POST /rpc/cloud/Private/GetPrivateDataByType`
- gRPC`/cloud.Private/GetPrivateDataByType`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Private.SearchPrivateData
- 动态 HTTP`POST /rpc/cloud/Private/SearchPrivateData`
- gRPC`/cloud.Private/SearchPrivateData`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Private.EncryptData
- 动态 HTTP`POST /rpc/cloud/Private/EncryptData`
- gRPC`/cloud.Private/EncryptData`
- 请求示例:
```json
{
"data": "string",
"key": "string"
}
```
### Private.DecryptData
- 动态 HTTP`POST /rpc/cloud/Private/DecryptData`
- gRPC`/cloud.Private/DecryptData`
- 请求示例:
```json
{
"data": "string",
"key": "string"
}
```
## Share
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `CreateShare` | `POST /rpc/cloud/Share/CreateShare` | [`cloud.CreateShareRequest`](#cloudcreatesharerequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `GetShare` | `POST /rpc/cloud/Share/GetShare` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudShareItem`](#cloudcloudshareitem) | Unary |
| `DeleteShare` | `POST /rpc/cloud/Share/DeleteShare` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
| `ListShares` | `POST /rpc/cloud/Share/ListShares` | [`base_cloud_blocks.FetchRequest`](#base_cloud_blocksfetchrequest) | [`cloud.ListSharesResponse`](#cloudlistsharesresponse) | Unary |
| `ValidateSharePassword` | `POST /rpc/cloud/Share/ValidateSharePassword` | [`cloud.ValidateSharePasswordRequest`](#cloudvalidatesharepasswordrequest) | [`base_cloud_blocks.StatusReply`](#base_cloud_blocksstatusreply) | Unary |
### Share.CreateShare
- 动态 HTTP`POST /rpc/cloud/Share/CreateShare`
- gRPC`/cloud.Share/CreateShare`
- 请求示例:
```json
{
"cloudId": "0",
"cloudIdentity": "string",
"expiresAt": "string",
"isPublic": false,
"password": "string",
"resourceId": "0",
"shareToken": "string",
"shareType": "string"
}
```
### Share.GetShare
- 动态 HTTP`POST /rpc/cloud/Share/GetShare`
- gRPC`/cloud.Share/GetShare`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Share.DeleteShare
- 动态 HTTP`POST /rpc/cloud/Share/DeleteShare`
- gRPC`/cloud.Share/DeleteShare`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
### Share.ListShares
- 动态 HTTP`POST /rpc/cloud/Share/ListShares`
- gRPC`/cloud.Share/ListShares`
- 请求示例:
```json
{
"page_no": "0",
"page_size": "0",
"params": {
"key": "string"
}
}
```
### Share.ValidateSharePassword
- 动态 HTTP`POST /rpc/cloud/Share/ValidateSharePassword`
- gRPC`/cloud.Share/ValidateSharePassword`
- 请求示例:
```json
{
"identity": "string",
"password": "string"
}
```
## Space
| 方法 | 动态 HTTP 路径 | 请求 | 响应 | 类型 |
|---|---|---|---|---|
| `Get` | `POST /rpc/cloud/Space/Get` | [`base_cloud_blocks.Empty`](#base_cloud_blocksempty) | [`cloud.CloudSpace`](#cloudcloudspace) | Unary |
| `GetByKeyIdentifier` | `POST /rpc/cloud/Space/GetByKeyIdentifier` | [`base_cloud_blocks.IdentRequest`](#base_cloud_blocksidentrequest) | [`cloud.CloudSpace`](#cloudcloudspace) | Unary |
### Space.Get
- 动态 HTTP`POST /rpc/cloud/Space/Get`
- gRPC`/cloud.Space/Get`
- 请求示例:
```json
{}
```
### Space.GetByKeyIdentifier
- 动态 HTTP`POST /rpc/cloud/Space/GetByKeyIdentifier`
- gRPC`/cloud.Space/GetByKeyIdentifier`
- 请求示例:
```json
{
"id": "0",
"identity": "string"
}
```
## 消息结构
### base_cloud_blocks.Empty
空消息:请求时发送 `{}`
### base_cloud_blocks.FetchRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `page_no` | `int64` | 可选 |
| `page_size` | `int64` | 可选 |
| `params` | `map<string, string>` | 对象映射 |
### base_cloud_blocks.FetchRequest.ParamsEntry
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `key` | `string` | 可选 |
| `value` | `string` | 可选 |
### base_cloud_blocks.IDRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
### base_cloud_blocks.IdentRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `int64` | 可选 |
| `identity` | `string` | 可选 |
### base_cloud_blocks.StatusReply
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `code` | `int32` | 可选 |
| `message` | `string` | 可选 |
| `details` | `string` | 可选 |
| `timeseq` | `int64` | 可选 |
### cloud.CloudAlbumItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `name` | `string` | 可选 |
| `description` | `string` | 可选 |
| `coverPhoto` | `string` | 可选 |
| `isPrivate` | `bool` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
| `photos` | `[]cloud.CloudPhotoItem` | 数组 |
### cloud.CloudBookmarkItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `title` | `string` | 可选 |
| `url` | `string` | 可选 |
| `description` | `string` | 可选 |
| `category` | `string` | 可选 |
| `tags` | `string` | 可选 |
| `icon` | `string` | 可选 |
| `isPrivate` | `bool` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
### cloud.CloudDiskDirItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `parentId` | `uint64` | 可选 |
| `name` | `string` | 可选 |
| `path` | `string` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
| `parent` | `cloud.CloudDiskDirItem` | 可选 |
| `subdirectories` | `[]cloud.CloudDiskDirItem` | 数组 |
| `files` | `[]cloud.CloudDiskFileItem` | 数组 |
### cloud.CloudDiskFileItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `directoryId` | `uint64` | 可选 |
| `name` | `string` | 可选 |
| `originalName` | `string` | 可选 |
| `size` | `int64` | 可选 |
| `mimeType` | `string` | 可选 |
| `storagePath` | `string` | 可选 |
| `hash` | `string` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
| `directory` | `cloud.CloudDiskDirItem` | 可选 |
### cloud.CloudDiskFileRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `directoryId` | `uint64` | 可选 |
| `name` | `string` | 可选 |
| `originalName` | `string` | 可选 |
| `size` | `int64` | 可选 |
| `mimeType` | `string` | 可选 |
| `storagePath` | `string` | 可选 |
| `hash` | `string` | 可选 |
### cloud.CloudNoteItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `title` | `string` | 可选 |
| `content` | `string` | 可选 |
| `category` | `string` | 可选 |
| `tags` | `string` | 可选 |
| `isMarkdown` | `bool` | 可选 |
| `isPinned` | `bool` | 可选 |
| `isPrivate` | `bool` | 可选 |
| `views` | `int32` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
| `attachments` | `[]cloud.NoteAttachmentItem` | 数组 |
### cloud.CloudPhotoItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `albumId` | `uint64` | 可选 |
| `title` | `string` | 可选 |
| `description` | `string` | 可选 |
| `filePath` | `string` | 可选 |
| `fileSize` | `int64` | 可选 |
| `mimeType` | `string` | 可选 |
| `width` | `int32` | 可选 |
| `height` | `int32` | 可选 |
| `takenAt` | `string` | 可选 |
| `location` | `string` | 可选 |
| `tags` | `string` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
| `album` | `cloud.CloudAlbumItem` | 可选 |
### cloud.CloudPrivateItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `dataType` | `string` | 可选 |
| `title` | `string` | 可选 |
| `description` | `string` | 可选 |
| `data` | `string` | 可选 |
| `isEncrypted` | `bool` | 可选 |
| `tags` | `string` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
### cloud.CloudShareItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `shareType` | `string` | 可选 |
| `resourceId` | `uint64` | 可选 |
| `shareToken` | `string` | 可选 |
| `password` | `string` | 可选 |
| `expiresAt` | `string` | 可选 |
| `viewCount` | `int32` | 可选 |
| `downloadCount` | `int32` | 可选 |
| `isPublic` | `bool` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
### cloud.CloudSpace
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `identity` | `string` | 可选 |
| `totalStorage` | `int64` | 可选 |
| `usedStorage` | `int64` | 可选 |
| `maxStorage` | `int64` | 可选 |
| `fileCount` | `int32` | 可选 |
| `albumCount` | `int32` | 可选 |
| `photoCount` | `int32` | 可选 |
| `noteCount` | `int32` | 可选 |
| `bookmarkCount` | `int32` | 可选 |
| `privateCount` | `int32` | 可选 |
| `createdAt` | `string` | 可选 |
| `updatedAt` | `string` | 可选 |
| `cloudDiskDirs` | `[]cloud.CloudDiskDirItem` | 数组 |
| `cloudAlbums` | `[]cloud.CloudAlbumItem` | 数组 |
| `cloudNotes` | `[]cloud.CloudNoteItem` | 数组 |
| `cloudBookmarks` | `[]cloud.CloudBookmarkItem` | 数组 |
| `cloudPrivate` | `[]cloud.CloudPrivateItem` | 数组 |
| `cloudShares` | `[]cloud.CloudShareItem` | 数组 |
### cloud.CopyFileRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `targetDirectoryId` | `uint64` | 可选 |
| `newName` | `string` | 可选 |
### cloud.CreateAlbumRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `name` | `string` | 可选 |
| `description` | `string` | 可选 |
| `coverPhoto` | `string` | 可选 |
| `isPrivate` | `bool` | 可选 |
### cloud.CreateBookmarkRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `title` | `string` | 可选 |
| `url` | `string` | 可选 |
| `description` | `string` | 可选 |
| `category` | `string` | 可选 |
| `tags` | `string` | 可选 |
| `icon` | `string` | 可选 |
| `isPrivate` | `bool` | 可选 |
### cloud.CreateDirRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `parentId` | `uint64` | 可选 |
| `name` | `string` | 可选 |
| `path` | `string` | 可选 |
### cloud.CreateNoteRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `title` | `string` | 可选 |
| `content` | `string` | 可选 |
| `category` | `string` | 可选 |
| `tags` | `string` | 可选 |
| `isMarkdown` | `bool` | 可选 |
| `isPinned` | `bool` | 可选 |
| `isPrivate` | `bool` | 可选 |
### cloud.CreatePrivateDataRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `dataType` | `string` | 可选 |
| `title` | `string` | 可选 |
| `description` | `string` | 可选 |
| `data` | `string` | 可选 |
| `isEncrypted` | `bool` | 可选 |
| `tags` | `string` | 可选 |
### cloud.CreateShareRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `cloudId` | `uint64` | 可选 |
| `cloudIdentity` | `string` | 可选 |
| `shareType` | `string` | 可选 |
| `resourceId` | `uint64` | 可选 |
| `shareToken` | `string` | 可选 |
| `password` | `string` | 可选 |
| `expiresAt` | `string` | 可选 |
| `isPublic` | `bool` | 可选 |
### cloud.DataRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `data` | `string` | 可选 |
| `key` | `string` | 可选 |
### cloud.ImportBookmarksRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `data` | `string` | 可选 |
| `format` | `string` | 可选 |
### cloud.ListAlbumsResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `albums` | `[]cloud.CloudAlbumItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListBookmarksResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `bookmarks` | `[]cloud.CloudBookmarkItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListDirsResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `dirs` | `[]cloud.CloudDiskDirItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListFilesResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `files` | `[]cloud.CloudDiskFileItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListNotesResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `notes` | `[]cloud.CloudNoteItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListPhotosResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `photos` | `[]cloud.CloudPhotoItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListPrivateDataResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `data` | `[]cloud.CloudPrivateItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.ListSharesResponse
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `shares` | `[]cloud.CloudShareItem` | 数组 |
| `total` | `int64` | 可选 |
### cloud.MoveDirRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `newParentId` | `uint64` | 可选 |
### cloud.MoveFileRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `newDirectoryId` | `uint64` | 可选 |
### cloud.MovePhotoRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `photoId` | `uint64` | 可选 |
| `newAlbumId` | `uint64` | 可选 |
### cloud.NoteAttachmentItem
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `noteId` | `uint64` | 可选 |
| `fileName` | `string` | 可选 |
| `filePath` | `string` | 可选 |
| `fileSize` | `int64` | 可选 |
| `mimeType` | `string` | 可选 |
| `createdAt` | `string` | 可选 |
### cloud.SetCoverPhotoRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `albumId` | `uint64` | 可选 |
| `photoId` | `uint64` | 可选 |
### cloud.TogglePinRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `id` | `uint64` | 可选 |
| `isPinned` | `bool` | 可选 |
### cloud.ValidateSharePasswordRequest
| JSON 字段 | 类型 | 规则 |
|---|---|---|
| `identity` | `string` | 可选 |
| `password` | `string` | 可选 |