kindergarten_java/reading-platform-frontend/src/utils/env.ts
En a1dcd529ef feat: 实现 OSS 直传功能
后端实现:
- 新增 OssTokenVo 响应类
- 修改 OssUtils 支持生成 OSS 直传 Token
- 修改 FileUploadController 添加 /oss/token 接口
- 修改 SecurityConfig 配置 OSS 相关接口权限
- 更新多环境 OSS 配置

前端实现:
- 新增 env.ts 工具函数,支持环境前缀
- file.ts 新增 getOssToken 和 uploadToOss 方法
- 修改 uploadFile 方法使用 OSS 直传

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 18:13:56 +08:00

51 lines
1.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 环境工具函数
*
* 提供环境相关的配置和工具函数
*/
/**
* 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}`;
}