/** * 包入口:仅暴露上传方法及参数、返回值类型,内部实现固定。 */ import { uploadDirectory } from './middleware/OssService'; import type { UploadSummary } from './core/reporter'; /** 上传参数 */ export type UploadOptions = { /** 本地目录路径 */ localDir: string; /** Bucket 名称 */ bucket: string; /** 环境标识,如 dev / test / prod */ env?: string; /** 业务路径前缀 */ pathPrefix?: string; /** 包含的文件模式 */ include?: string[]; /** 排除的文件模式 */ exclude?: string[]; }; /** 上传结果:总数、成功/失败/跳过的 key 列表 */ export type UploadResult = UploadSummary; /** * 上传本地目录到 OSS(华为 OBS)。配置从环境变量/配置文件读取,进度输出到控制台。 */ export async function upload(options: UploadOptions): Promise { const opt = { ...options, env: options.env || 'dev', bucket: options.bucket || 'hr-uat', } return uploadDirectory(opt); }