UNPKG

@xuanqikai/one-click-upload

Version:

A CLI tool for one-click file upload to cloud storage services (OSS, TOS)

104 lines 2.27 kB
export interface TOSCDNConfig { accessKeyId: string; accessKeySecret: string; region: string; cdnDomain?: string; } export interface CDNPreloadResult { success: boolean; taskId?: string; url?: string; error?: string; } export interface CDNRefreshResult { success: boolean; taskId?: string; url?: string; error?: string; } export interface CDNTaskResult { success: boolean; taskId?: string; url?: string; error?: string; taskType: 'refresh' | 'prefetch'; } export declare class TOSCDNService { private config; private endpoint; private readonly HEADER_KEYS_TO_IGNORE; constructor(config: TOSCDNConfig); /** * 判断URL是文件还是目录 */ private isDirectory; /** * 刷新CDN缓存 */ refreshCDN(url: string): Promise<CDNRefreshResult>; /** * 预热CDN缓存 */ preloadCDN(url: string): Promise<CDNPreloadResult>; /** * 先刷新后预热CDN缓存(推荐使用) */ refreshAndPreloadCDN(url: string): Promise<CDNTaskResult[]>; /** * 构建请求头(包含签名) */ private buildHeaders; /** * 为GET请求构建请求头(包含签名) */ private buildHeadersForGet; /** * 计算签名 - 完全按照官方代码逻辑 */ private calculateSignature; /** * 为GET请求计算签名 */ private calculateSignatureForGet; /** * HMAC-SHA256 计算 - 返回二进制数据 */ private hmac; /** * SHA256 哈希计算 */ private hash; /** * 获取请求体的 SHA256 哈希 */ private getBodySha; /** * 构建查询参数字符串 */ private queryParamsToString; /** * 获取签名头部 */ private getSignHeaders; /** * URI 转义 */ private uriEscape; /** * 批量预热CDN */ preloadCDNBatch(urls: string[]): Promise<{ success: number; failed: number; results: CDNPreloadResult[]; }>; /** * 查询CDN任务配额 */ queryTaskQuota(): Promise<any>; /** * 验证配置 */ validateConfig(): boolean; } //# sourceMappingURL=TOSCDNService.d.ts.map