request.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import config from "@/config/index.js"
  2. const baseUrl = process.env.NODE_ENV === 'development' ? config.base.dev : config.base.pro;
  3. import {
  4. getToken
  5. } from '@/utils/auth.js';
  6. export async function request(parmas) {
  7. return new Promise(function(resolve, reject) {
  8. try {
  9. uni.showLoading({
  10. title: '加载中',
  11. mask: true
  12. });
  13. uni.request({
  14. ...formatRequestBody(parmas),
  15. success(response) {
  16. let data = response.data;
  17. let code = data.code;
  18. let msg = data.msg
  19. if (code === 200) {
  20. resolve(data)
  21. } else {
  22. if (code === 401) {
  23. } else {
  24. reject(data)
  25. uni.showToast({
  26. title: msg,
  27. mask: true,
  28. icon: "none"
  29. })
  30. }
  31. }
  32. },
  33. fail(res) {
  34. uni.showToast({
  35. title: res,
  36. mask: true,
  37. icon: "none"
  38. })
  39. reject(res)
  40. },
  41. complete(res) {
  42. uni.hideLoading();
  43. }
  44. })
  45. } catch (err) {
  46. console.log(err)
  47. reject(err)
  48. }
  49. })
  50. }
  51. function formatRequestBody(parmas) {
  52. let unionid=uni.getStorageSync('unionid');
  53. let isAccount=uni.getStorageSync('isAccount');
  54. let qrcode=uni.getStorageSync('qrcode');
  55. let url = parmas.url;
  56. url = baseUrl + url;
  57. let data = {...parmas.data};
  58. let header = {...parmas.header};
  59. header[config.TokenKey]=getToken();
  60. header['AppID'] = config.appID
  61. header['AppKey'] = config.appKey
  62. header['AppSecret'] = config.appSecret
  63. header['ocId'] = qrcode.ocId
  64. header['AppType'] = 'h5-scan-mini'
  65. if(unionid){header['wxCode'] = unionid}
  66. if(isAccount){header['isAccount'] = isAccount}
  67. let method = parmas.method || "get";
  68. let dataType = parmas.dataType || "json";
  69. let requestBody = {
  70. url,
  71. data,
  72. header,
  73. method,
  74. dataType
  75. };
  76. return requestBody;
  77. };