51 lines
1.0 KiB
TypeScript
51 lines
1.0 KiB
TypeScript
|
|
/**
|
|||
|
|
* 环境工具函数
|
|||
|
|
*
|
|||
|
|
* 提供环境相关的配置和工具函数
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* OSS 环境前缀映射
|
|||
|
|
*/
|
|||
|
|
const OSS_ENV_PREFIX_MAP: Record<string, string> = {
|
|||
|
|
development: 'dev',
|
|||
|
|
test: 'test',
|
|||
|
|
production: 'prod',
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取当前 Vite 环境
|
|||
|
|
*/
|
|||
|
|
export function getViteEnv(): string {
|
|||
|
|
return import.meta.env.MODE || 'development';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取 OSS 环境前缀
|
|||
|
|
*
|
|||
|
|
* @returns OSS 环境前缀(dev/test/prod)
|
|||
|
|
*/
|
|||
|
|
export function getOssEnvPrefix(): string {
|
|||
|
|
const env = getViteEnv();
|
|||
|
|
return OSS_ENV_PREFIX_MAP[env] || 'dev';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 构建完整的 OSS 目录路径
|
|||
|
|
*
|
|||
|
|
* @param bizDir 业务目录(如:avatar, course/cover)
|
|||
|
|
* @returns 完整目录路径(如:dev/avatar, test/course/cover)
|
|||
|
|
*/
|
|||
|
|
export function buildOssDirPath(bizDir?: string): string {
|
|||
|
|
const envPrefix = getOssEnvPrefix();
|
|||
|
|
|
|||
|
|
if (!bizDir) {
|
|||
|
|
return envPrefix;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 移除 bizDir 开头可能存在的环境前缀,避免重复
|
|||
|
|
const cleanBizDir = bizDir.replace(/^(dev|test|prod)\//, '');
|
|||
|
|
|
|||
|
|
return `${envPrefix}/${cleanBizDir}`;
|
|||
|
|
}
|