UNPKG

t-comm

Version:

专业、稳定、纯粹的工具库

53 lines (52 loc) 1.87 kB
import { AREA_MAP } from './config'; import type { IPurgeType, IPurgeMethod } from '../eo/type'; /** * 上传文件到 COS 并刷新 CDN 缓存(一体化操作) * 先上传文件到 COS,然后自动刷新对应的 CDN URL 缓存,支持 CDN 和 EdgeOne 两种刷新方式 * @param {object} config 配置信息 * @param {string} config.secretId 腾讯云 secretId * @param {string} config.secretKey 腾讯云 secretKey * @param {string} config.bucket COS bucket * @param {string} config.region COS region * @param {Array<object>} config.files 文件列表,每项包含 key、path、url * @param {string} [config.area='mainland'] CDN 刷新区域 * @param {boolean} [config.useEO] 是否使用 EdgeOne 刷新(默认使用 CDN) * @param {object} [config.eoOptions] EdgeOne 刷新配置 * @returns {Promise<{uploadResult: any, purgeResult: any, code: 1|2}>} code=2 表示上传和刷新均成功,code=1 表示上传成功但刷新失败 * @example * ```ts * const result = await uploadCOSFileAndPurgeUrlCache({ * secretId: 'xxx', * secretKey: 'xxx', * bucket: 'my-bucket-1250000000', * region: 'ap-guangzhou', * files: [{ * key: 'static/app.js', * path: '/dist/app.js', * url: 'https://cdn.example.com/static/app.js', * }], * }); * ``` */ export declare function uploadCOSFileAndPurgeUrlCache({ secretId, secretKey, bucket, region, files, area, useEO, eoOptions, }: { secretId: string; secretKey: string; bucket: string; region: string; files: Array<{ key: string; path: string; url: string; }>; area?: (typeof AREA_MAP)[keyof typeof AREA_MAP]; useEO?: boolean; eoOptions?: { zoneId: string; type?: IPurgeType; method?: IPurgeMethod; }; }): Promise<{ uploadResult: any; purgeResult: any; code: 1 | 2; }>;