import { request } from '@/utils/request' // 上传文件到 OSS // @Author: Antigravity export function uploadFile(filePath) { return new Promise((resolve, reject) => { const token = uni.getStorageSync('token') || '' // 使用 import() 动态获取配置,避免循环依赖或加载顺序问题 import('@/utils/config').then(({ BASE_URL, DEFAULT_HEADERS }) => { uni.uploadFile({ url: BASE_URL + '/resource/oss/upload', filePath: filePath, name: 'file', header: { 'Authorization': token ? `Bearer ${token}` : '', ...DEFAULT_HEADERS }, success: (res) => { const resData = JSON.parse(res.data) if (resData.code === 200) { resolve(resData.data) } else { uni.showToast({ title: resData.msg || '上传失败', icon: 'none' }) reject(resData.msg) } }, fail: (err) => { uni.showToast({ title: '网络异常', icon: 'none' }) reject(err) } }) }).catch(reject) }) }