upload.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { BASE_URL } from './request';
  2. /**
  3. * 上传报名证明图片
  4. * @param {Object} params 参数对象
  5. * @param {string} params.filePath 本地文件路径
  6. * @param {number} params.marathonId 比赛ID
  7. * @param {string} params.competitionNo 参赛号
  8. * @param {string} [url='/api/upload/image'] 上传接口路径
  9. * @param {string} [name='file'] 后端接收文件字段名
  10. */
  11. export function uploadImage(
  12. { filePath, marathonId = '', competitionNo = '' },
  13. url = '/api/upload/image',
  14. name = 'file'
  15. ) {
  16. return new Promise((resolve, reject) => {
  17. wx.uploadFile({
  18. url: BASE_URL + url,
  19. filePath,
  20. name,
  21. header: {
  22. 'Authorization': wx.getStorageSync('token') || ''
  23. },
  24. formData: {
  25. marathon_id: marathonId,
  26. competition_no: competitionNo,
  27. file:filePath
  28. },
  29. success(res) {
  30. try {
  31. const data = JSON.parse(res.data);
  32. if (data.code === 200 && data.ret) {
  33. wx.showToast({
  34. title: '上传成功',
  35. icon: 'none'
  36. });
  37. resolve(data.data);
  38. } else {
  39. wx.showToast({
  40. title: data.message || '上传失败',
  41. icon: 'none'
  42. });
  43. reject(data);
  44. }
  45. } catch (err) {
  46. reject(err);
  47. }
  48. },
  49. fail(err) {
  50. wx.showToast({
  51. title: '网络异常,请重试',
  52. icon: 'none'
  53. });
  54. reject(err);
  55. }
  56. });
  57. });
  58. }