| 12345678910111213141516171819202122232425262728293031323334 |
- 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)
- })
- }
|