Skip to content

Commit bd876c1

Browse files
committed
加 COS.util,更新 d.ts
1 parent dbdde41 commit bd876c1

File tree

2 files changed

+59
-9
lines changed

2 files changed

+59
-9
lines changed

index.d.ts

+54-9
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,12 @@ declare namespace COS {
182182
) => void,
183183
}
184184

185+
interface Util {
186+
md5: (str: String, encoding?: string) => string,
187+
xml2json: (bodyStr: string) => any,
188+
json2xml: (json: any) => string,
189+
}
190+
185191
interface StaticGetAuthorizationOptions {
186192
/** 计算签名用的密钥 SecretId,必选 */
187193
SecretId: string,
@@ -744,7 +750,7 @@ declare namespace COS {
744750
/** 指定通用错误文档的对象键,当发生错误且未命中重定向规则中的错误码重定向时,将返回该对象键的内容 */
745751
Key: Key,
746752
/** 用于配置命中错误文档的 HTTP 状态码,可选值为 Enabled 或 Disabled,默认为 Enabled */
747-
OriginalHttpStatus?: 'Enabled' | 'Disabled,默认为'
753+
OriginalHttpStatus?: 'Enabled' | 'Disabled'
748754
},
749755
/** 重定向规则配置,最多设置100条 RoutingRule */
750756
RoutingRules?: {
@@ -1128,10 +1134,10 @@ declare namespace COS {
11281134
/** getObject 接口参数 */
11291135
interface GetObjectParams extends ObjectParams {
11301136
BodyType?: 'text' | 'blob' | 'arraybuffer',
1131-
/** 请求里的 QueryString 参数 */
1132-
QueryString?: string,
1133-
/** 请求里的 Url Query 参数 */
1137+
/** 请求里的 Url Query 参数,传入该值中的 key/value 将会被 URLEncode */
11341138
Query?: Query,
1139+
/** 请求里的 Url Query 参数。传入该值将直接拼接在 Url 上,不会对其进行 URLEncode */
1140+
QueryString?: string,
11351141
/** 当对象在指定时间后被修改,则返回对象,否则返回 HTTP 状态码为304(Not Modified) */
11361142
IfModifiedSince?: string,
11371143
/** 当对象在指定时间后未被修改,则返回对象,否则返回 HTTP 状态码为412(Precondition Failed) */
@@ -1280,7 +1286,7 @@ declare namespace COS {
12801286
/** 存储桶持有者信息 */
12811287
Owner: Owner,
12821288
/** 被授权者信息与权限信息 */
1283-
Grants: Grants,
1289+
Grants: Grants[],
12841290
}
12851291

12861292
// putObjectAcl
@@ -1755,8 +1761,9 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */
17551761
onProgress?: onProgress,
17561762
/** 上传完成回调方法 */
17571763
onFileFinish?: onFileFinish,
1758-
}
1764+
};
17591765

1766+
/** uploadFiles 接口返回值 */
17601767
interface UploadFileResult extends GeneralResult {
17611768
/** 对象的实体标签(Entity Tag),是对象被创建时标识对象内容的信息标签,可用于检查对象的内容是否发生变化,例如"8e0b617ca298a564c3331da28dcb50df"。此头部并不一定返回对象的 MD5 值,而是根据对象上传和加密方式而有所不同 */
17621769
ETag: ETag,
@@ -1810,17 +1817,36 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */
18101817
/** 上传任务列表 */
18111818
type TaskList = Task[]
18121819

1820+
// request
1821+
/** request 接口参数 */
1822+
interface RequestParams extends BucketParams {
1823+
/** 操作方法,如 get,post,delete, head 等 HTTP 方法 */
1824+
Method: string,
1825+
/** 请求的对象键,最前面不带 / */
1826+
Key?: Key,
1827+
/** 请求里的 Url Query 参数 */
1828+
Query?: Query,
1829+
/** 请求里的 Body 参数 */
1830+
Body?: Body,
1831+
/** 请求的 API 动作接口(可理解为不带 = 的 Query 参数),如 acl、tagging、image_process 等 */
1832+
Action: Action
1833+
}
1834+
/** Request 接口返回值 */
1835+
interface RequestResult extends GeneralResult {
1836+
Body?: Buffer,
1837+
}
1838+
18131839
// getObjectUrl
18141840
/** getObjectUrl 接口参数 */
18151841
interface GetObjectUrlParams extends ObjectParams {
18161842
/** 获取的 Url 是否计算签名 */
18171843
Sign?: boolean,
18181844
/** 请求方法 */
18191845
Method?: Method,
1820-
/** 请求里的 QueryString 参数 */
1821-
QueryString?: string,
1822-
/** 请求里的 Url Query 参数 */
1846+
/** 请求里的 Url Query 参数,传入该值中的 key/value 将会被 URLEncode */
18231847
Query?: Query,
1848+
/** 请求里的 Url Query 参数。传入该值将直接拼接在 Url 上,不会对其进行 URLEncode */
1849+
QueryString?: string,
18241850
/** 签名几秒后失效,默认为900秒 */
18251851
Expires?: number,
18261852
}
@@ -1881,6 +1907,9 @@ declare class COS {
18811907
/** 计算签名 */
18821908
static getAuthorization: (options: COS.StaticGetAuthorizationOptions) => string;
18831909

1910+
/** 工具 */
1911+
static util: COS.Util;
1912+
18841913
// 实例方法
18851914
/** 获取用户的 bucket 列表 @see https://cloud.tencent.com/document/product/436/8291 */
18861915
getService(params: COS.GetServiceParams, callback: (err: COS.CosError, data: COS.GetServiceResult) => void): void;
@@ -2063,6 +2092,18 @@ declare class COS {
20632092
getBucketAccelerate(params: COS.GetBucketAccelerateParams, callback: (err: COS.CosError, data: COS.GetBucketAccelerateResult) => void): void;
20642093
getBucketAccelerate(params: COS.GetBucketAccelerateParams): Promise<COS.GetBucketAccelerateResult>;
20652094

2095+
/** 设置指定存储桶下的默认加密配置 @see https://cloud.tencent.com/document/product/436/40136 */
2096+
putBucketEncryption(params: COS.PutBucketEncryptionParams, callback: (err: COS.CosError, data: COS.PutBucketEncryptionResult) => void): void;
2097+
putBucketEncryption(params: COS.PutBucketEncryptionParams): Promise<COS.PutBucketEncryptionResult>;
2098+
2099+
/** 查询指定存储桶下的默认加密配置 @see https://cloud.tencent.com/document/product/436/40137 */
2100+
getBucketEncryption(params: COS.GetBucketEncryptionParams, callback: (err: COS.CosError, data: COS.GetBucketEncryptionResult) => void): void;
2101+
getBucketEncryption(params: COS.GetBucketEncryptionParams): Promise<COS.GetBucketEncryptionResult>;
2102+
2103+
/** 删除指定存储桶下的默认加密配置 @see https://cloud.tencent.com/document/product/436/40138 */
2104+
deleteBucketEncryption(params: COS.DeleteBucketEncryptionParams, callback: (err: COS.CosError, data: COS.DeleteBucketEncryptionResult) => void): void;
2105+
deleteBucketEncryption(params: COS.DeleteBucketEncryptionParams): Promise<COS.DeleteBucketEncryptionResult>;
2106+
20662107
/** 取回对应对象(Object)的元数据,Head的权限与Get的权限一致 @see https://cloud.tencent.com/document/product/436/7745 */
20672108
headObject(params: COS.HeadObjectParams, callback: (err: COS.CosError, data: COS.HeadObjectResult) => void): void;
20682109
headObject(params: COS.HeadObjectParams): Promise<COS.HeadObjectResult>;
@@ -2182,6 +2223,10 @@ declare class COS {
21822223
/** 判断上传队列是否有未完成的任务 */
21832224
isUploadRunning(): boolean;
21842225

2226+
/** 分片复制文件 */
2227+
request(params: COS.RequestParams, callback: (err: COS.CosError, data: COS.RequestResult) => void): void;
2228+
request(params: COS.RequestParams): Promise<COS.RequestResult>;
2229+
21852230
/** 获取文件下载链接 @see https://cloud.tencent.com/document/product/436/35651 */
21862231
getObjectUrl(params: COS.GetObjectUrlParams, callback: (err: COS.CosError, data: COS.GetObjectUrlResult) => void): string;
21872232

src/cos.js

+5
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@ var COS = function (options) {
6363
base.init(COS, task);
6464
advance.init(COS, task);
6565

66+
COS.util = {
67+
md5: util.md5,
68+
xml2json: util.xml2json,
69+
json2xml: util.json2xml,
70+
};
6671
COS.getAuthorization = util.getAuth;
6772
COS.version = '1.2.21';
6873

0 commit comments

Comments
 (0)