# 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: 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` - 白名单键:`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` - 白名单键:`cloud.Album.GetAlbum` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Album.UpdateAlbum - 动态 HTTP:`POST /rpc/cloud/Album/UpdateAlbum` - gRPC:`/cloud.Album/UpdateAlbum` - 白名单键:`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` - 白名单键:`cloud.Album.DeleteAlbum` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Album.ListAlbums - 动态 HTTP:`POST /rpc/cloud/Album/ListAlbums` - gRPC:`/cloud.Album/ListAlbums` - 白名单键:`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` - 白名单键:`cloud.Album.SetCoverPhoto` - 请求示例: ```json { "albumId": "0", "photoId": "0" } ``` ### Album.UploadPhoto - 动态 HTTP:`POST /rpc/cloud/Album/UploadPhoto` - gRPC:`/cloud.Album/UploadPhoto` - 白名单键:`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` - 白名单键:`cloud.Album.GetPhoto` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Album.UpdatePhoto - 动态 HTTP:`POST /rpc/cloud/Album/UpdatePhoto` - gRPC:`/cloud.Album/UpdatePhoto` - 白名单键:`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` - 白名单键:`cloud.Album.DeletePhoto` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Album.ListPhotos - 动态 HTTP:`POST /rpc/cloud/Album/ListPhotos` - gRPC:`/cloud.Album/ListPhotos` - 白名单键:`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` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Bookmark.GetBookmark` - 请求示例: ```json { "id": "0" } ``` ### Bookmark.UpdateBookmark - 动态 HTTP:`POST /rpc/cloud/Bookmark/UpdateBookmark` - gRPC:`/cloud.Bookmark/UpdateBookmark` - 白名单键:`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` - 白名单键:`cloud.Bookmark.DeleteBookmark` - 请求示例: ```json { "id": "0" } ``` ### Bookmark.ListBookmarks - 动态 HTTP:`POST /rpc/cloud/Bookmark/ListBookmarks` - gRPC:`/cloud.Bookmark/ListBookmarks` - 白名单键:`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` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Disk.GetDir` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Disk.UpdateDir - 动态 HTTP:`POST /rpc/cloud/Disk/UpdateDir` - gRPC:`/cloud.Disk/UpdateDir` - 白名单键:`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` - 白名单键:`cloud.Disk.DeleteDir` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Disk.ListDirs - 动态 HTTP:`POST /rpc/cloud/Disk/ListDirs` - gRPC:`/cloud.Disk/ListDirs` - 白名单键:`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` - 白名单键:`cloud.Disk.GetDirTree` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Disk.MoveDir - 动态 HTTP:`POST /rpc/cloud/Disk/MoveDir` - gRPC:`/cloud.Disk/MoveDir` - 白名单键:`cloud.Disk.MoveDir` - 请求示例: ```json { "id": "0", "newParentId": "0" } ``` ### Disk.UploadFile - 动态 HTTP:`POST /rpc/cloud/Disk/UploadFile` - gRPC:`/cloud.Disk/UploadFile` - 白名单键:`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` - 白名单键:`cloud.Disk.GetFile` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Disk.UpdateFile - 动态 HTTP:`POST /rpc/cloud/Disk/UpdateFile` - gRPC:`/cloud.Disk/UpdateFile` - 白名单键:`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` - 白名单键:`cloud.Disk.DeleteFile` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Disk.ListFiles - 动态 HTTP:`POST /rpc/cloud/Disk/ListFiles` - gRPC:`/cloud.Disk/ListFiles` - 白名单键:`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` - 白名单键:`cloud.Disk.MoveFile` - 请求示例: ```json { "id": "0", "newDirectoryId": "0" } ``` ### Disk.CopyFile - 动态 HTTP:`POST /rpc/cloud/Disk/CopyFile` - gRPC:`/cloud.Disk/CopyFile` - 白名单键:`cloud.Disk.CopyFile` - 请求示例: ```json { "id": "0", "newName": "string", "targetDirectoryId": "0" } ``` ### Disk.SearchFiles - 动态 HTTP:`POST /rpc/cloud/Disk/SearchFiles` - gRPC:`/cloud.Disk/SearchFiles` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Note.GetNote` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Note.UpdateNote - 动态 HTTP:`POST /rpc/cloud/Note/UpdateNote` - gRPC:`/cloud.Note/UpdateNote` - 白名单键:`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` - 白名单键:`cloud.Note.DeleteNote` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Note.ListNotes - 动态 HTTP:`POST /rpc/cloud/Note/ListNotes` - gRPC:`/cloud.Note/ListNotes` - 白名单键:`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` - 白名单键:`cloud.Note.TogglePin` - 请求示例: ```json { "id": "0", "isPinned": false } ``` ### Note.IncrementViews - 动态 HTTP:`POST /rpc/cloud/Note/IncrementViews` - gRPC:`/cloud.Note/IncrementViews` - 白名单键:`cloud.Note.IncrementViews` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Note.SearchNotes - 动态 HTTP:`POST /rpc/cloud/Note/SearchNotes` - gRPC:`/cloud.Note/SearchNotes` - 白名单键:`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` - 白名单键:`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` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Private.GetPrivateData` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Private.UpdatePrivateData - 动态 HTTP:`POST /rpc/cloud/Private/UpdatePrivateData` - gRPC:`/cloud.Private/UpdatePrivateData` - 白名单键:`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` - 白名单键:`cloud.Private.DeletePrivateData` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Private.ListPrivateData - 动态 HTTP:`POST /rpc/cloud/Private/ListPrivateData` - gRPC:`/cloud.Private/ListPrivateData` - 白名单键:`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` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Private.EncryptData` - 请求示例: ```json { "data": "string", "key": "string" } ``` ### Private.DecryptData - 动态 HTTP:`POST /rpc/cloud/Private/DecryptData` - gRPC:`/cloud.Private/DecryptData` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Share.GetShare` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Share.DeleteShare - 动态 HTTP:`POST /rpc/cloud/Share/DeleteShare` - gRPC:`/cloud.Share/DeleteShare` - 白名单键:`cloud.Share.DeleteShare` - 请求示例: ```json { "id": "0", "identity": "string" } ``` ### Share.ListShares - 动态 HTTP:`POST /rpc/cloud/Share/ListShares` - gRPC:`/cloud.Share/ListShares` - 白名单键:`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` - 白名单键:`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` - 白名单键:`cloud.Space.Get` - 请求示例: ```json {} ``` ### Space.GetByKeyIdentifier - 动态 HTTP:`POST /rpc/cloud/Space/GetByKeyIdentifier` - gRPC:`/cloud.Space/GetByKeyIdentifier` - 白名单键:`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` | 对象映射 | ### 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` | 可选 |