简介
本文档提供关于目录或相簿相关接口介绍以及示例代码。
列出目录或相簿内容
功能说明
用于列出目录或相簿内容。
示例代码
try {let result = await SMHDirectoryApis.listDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath:'dir',limit:'10',orderBy:SMHFileListOrderBy.name,orderByType:SMHOrderByType.asc,withFavoriteStatus:true,withInode:true});}catch (e) {// 异常处理}
参数说明
请求参数 | 描述 | 类型 | 是否必选 |
libraryId | String | 是 | |
spaceId | String | 否 | |
dirPath | 目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar;对于根目录,该参数留空 | String | 否 |
marker | 用于顺序列出分页的标识,不能与 page 和 page_size 参数同时使用 | String | 否 |
limit | 用于顺序列出分页时本地列出的项目数限制,不能与 page 和 page_size 参数同时使用 | String | 否 |
page | 分页码,默认第一页,可选参数,不能与 marker 和 limit 参数同时使用 | Number | 否 |
pageSize | 分页大小,默认 20,可选参数,不能与 marker 和 limit 参数同时使用 | Number | 否 |
orderBy | 排序字段,按名称排序为 name,按修改时间排序为 modificationTime,按文件大小排序为 size,按创建时间排序为 creationTime | SMHFileListOrderBy | 否 |
orderByType | 排序方式,升序为 asc,降序为 desc | SMHOrderByType | 否 |
directoryFilter | 筛选方式,不传返回全部,onlyDir 只返回文件夹,onlyFile 只返回文件 | SMHDirectoryFilter | 否 |
sortType | 排序方式,不传则文件和文件夹单独排序,先返回文件夹,后返回文件。union 文件和文件夹拉通排序 | String | 否 |
withFavoriteStatus | 是否返回收藏状态 | Bool | 否 |
withInode | 是否返回 inode,即文件目录 ID | Bool | 否 |
创建目录或相簿
功能说明
用于创建目录或相簿。
示例代码
try{let result = await SMHDirectoryApis.createDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath: "dir",conflictResolutionStrategy: SMHConflictResolutionStrategy.rename,});}catch(e){// 异常处理}
参数说明
请求参数 | 描述 | 类型 | 是否必选 |
libraryId | String | 是 | |
spaceId | String | 否 | |
dirPath | 目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar;对于根目录,该参数留空 | String | 是 |
conflictResolutionStrategy | 最后一级目录冲突时的处理方式 ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码 rename: 冲突时自动重命名最后一级目录 默认为 ask | SMHConflictResolutionStrategy | 否 |
withInode | 是否返回 inode,即文件目录 ID | Bool | 否 |
删除目录或相簿
功能说明
用于删除目录或相簿。
示例代码
try{let result = await SMHDirectoryApis.deleteDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath:'path'});}catch(e){// 异常处理}
参数说明
复制目录或相簿
功能说明
用于复制目录或相簿。
示例代码
try {let result = await SMHDirectoryApis.copyDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath: "path",copyFrom: "from"})} catch (e) {// 异常处理}
参数说明
请求参数 | 描述 | 类型 | 是否必选 |
libraryId | String | 是 | |
spaceId | String | 否 | |
dirPath | 目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar | String | 是 |
copyFrom | 被复制的源目录或相簿路径 | String | 是 |
conflictResolutionStrategy | 最后一级目录冲突时的处理方式 ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码 rename: 冲突时自动重命名最后一级目录 默认为 ask | SMHConflictResolutionStrategy | 否 |
重命名/移动目录或相簿
功能说明
用于重命名或移动目录或相簿。
示例代码
try {let result = await SMHDirectoryApis.moveDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath: "path",from: "from"})} catch (e) {// 异常处理}
参数说明
请求参数 | 描述 | 类型 | 是否必选 |
libraryId | String | 是 | |
spaceId | String | 否 | |
dirPath | 目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar | String | 是 |
from | 被重命名或移动的源目录或相簿路径 | String | 是 |
conflictResolutionStrategy | 最后一级目录冲突时的处理方式 ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码 rename: 冲突时自动重命名最后一级目录 默认为 ask | SMHConflictResolutionStrategy | 否 |
更新目录标签
功能说明
用于更新目录标签。
示例代码
try{let result = await SMHDirectoryApis.updateLabels({libraryId:"libraryId",spaceId:"spaceId",dirPath:"path",labels:["18","age"]});}catch(e){// 异常处理}
参数说明
获取文件/目录的额外信息
功能说明
用于获取文件/目录的额外信息。
示例代码
try {let result = await SMHDirectoryApis.additionalInfo({libraryId:"libraryId",spaceId:"spaceId",dirPath: "test",objectsKeys: ["key1"]})} catch (e) {// 异常处理}
参数说明
查看目录或相簿详情
功能说明
用于查看目录或相簿详情。
示例代码
try{let result = await SMHDirectoryApis.directoryDetail({libraryId:"libraryId",spaceId:"spaceId",dirPath:"path",withInode:true,withFavoriteStatus:true});}catch(e){// 异常处理}
参数说明
检查目录或相簿状态
功能说明
用于检查目录或相簿状态。
示例代码
try{let result = await SMHDirectoryApis.headDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath:"path"});}catch(e){// 异常处理}
参数说明
获取相簿封面
功能说明
用于获取相簿封面。
示例代码
try{let result = await SMHDirectoryApis.getAlbumCoverUrl({libraryId:"libraryId",spaceId:"spaceId",albumName:"albumName",size:"100"});}catch(e){// 异常处理}
参数说明
请求参数 | 描述 | 类型 | 是否必选 |
libraryId | String | 是 | |
spaceId | String | 否 | |
albumName | 相簿名,分相簿媒体库必须指定该参数,不分相簿媒体库不能指定该参数 | String | 否 |
size | 缩放大小, 如果指定了该参数,则优先使用人脸识别智能缩放裁剪为 {Size}px × {Size}px 大小,如果未识别到人脸则居中缩放裁剪为 {Size}px × {Size}px 大小,如果未指定 {Size} 参数则使用原图 | String | 否 |