request.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. uni.showToast({
  24. title: msg || "登录失效!",
  25. mask: true,
  26. icon: "none",
  27. complete() {
  28. uni.redirectTo({
  29. url: '/pages/authorizedLogin/index'
  30. })
  31. }
  32. })
  33. } else {
  34. reject(data)
  35. uni.showToast({
  36. title: msg,
  37. mask: true,
  38. icon: "none"
  39. })
  40. }
  41. }
  42. },
  43. fail(res) {
  44. uni.showToast({
  45. title: res,
  46. mask: true,
  47. icon: "none"
  48. })
  49. reject(res)
  50. },
  51. complete(res) {
  52. uni.hideLoading();
  53. }
  54. })
  55. } catch (err) {
  56. console.log(err)
  57. reject(err)
  58. }
  59. })
  60. }
  61. function formatRequestBody(parmas) {
  62. let unionid=uni.getStorageSync('unionid');
  63. let isAccount=uni.getStorageSync('isAccount');
  64. let qrcode=uni.getStorageSync('qrcode');
  65. let url = parmas.url;
  66. url = baseUrl + url;
  67. let data = {...parmas.data};
  68. let header = {...parmas.header};
  69. header[config.TokenKey]=getToken();
  70. header['AppID'] = config.appID
  71. header['AppKey'] = config.appKey
  72. header['AppSecret'] = config.appSecret
  73. header['wxCode'] = unionid
  74. header['ocId'] = qrcode.ocId
  75. header['isAccount'] = isAccount
  76. header['AppType'] = 'mini'
  77. let method = parmas.method || "get";
  78. let dataType = parmas.dataType || "json";
  79. let requestBody = {
  80. url,
  81. data,
  82. header,
  83. method,
  84. dataType
  85. };
  86. return requestBody;
  87. };