upload.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import request, { baseURL } from '@/utils/request.js'
  2. // 统一上传方法,所有页面都能用
  3. export const uploadFile = (filePath) => {
  4. return new Promise((resolve, reject) => {
  5. uni.uploadFile({
  6. // 🔥 这里自动拼接基础URL,和其他接口完全统一
  7. url: baseURL + '/miniProgram/upload',
  8. filePath: filePath,
  9. name: 'file',
  10. header: {
  11. // 可自动携带 token
  12. // token: uni.getStorageSync('token')
  13. },
  14. success: (res) => {
  15. try {
  16. const data = JSON.parse(res.data)
  17. resolve(data)
  18. } catch (e) {
  19. reject(e)
  20. }
  21. },
  22. fail: reject
  23. })
  24. })
  25. }
  26. // 统一替换文件方法,所有页面都能用
  27. /**
  28. * 图片替换上传接口(适配家庭成员修改页)
  29. * @param {string} oldFileId - 旧文件ID(用于覆盖)
  30. * @param {string} filePath - 新图片本地路径
  31. * @param {string} businessType - 固定业务类型:xcx_jtcy
  32. * @returns Promise
  33. */
  34. export const replaceFile = (oldFileId, filePath, businessType) => {
  35. return new Promise((resolve, reject) => {
  36. uni.uploadFile({
  37. url: baseURL + '/miniProgram/replace',
  38. filePath: filePath,
  39. // 后端接收文件的字段名(保持不变)
  40. name: 'file',
  41. // 🔥 额外传递的参数:旧文件ID + 业务类型
  42. formData: {
  43. oldFileId: oldFileId || '',
  44. businessType: businessType || 'xcx_jtcy'
  45. },
  46. header: {
  47. // 如果需要 token 在这里打开
  48. // token: uni.getStorageSync('token')
  49. },
  50. success: (res) => {
  51. try {
  52. const data = JSON.parse(res.data)
  53. resolve(data)
  54. } catch (e) {
  55. reject(e)
  56. }
  57. },
  58. fail: reject
  59. })
  60. })
  61. }