request.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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.navigateTo({
  29. url: '/pages/login/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 url = parmas.url;
  63. url = baseUrl + url;
  64. let data = {
  65. ...parmas.data
  66. };
  67. let header = {
  68. ...parmas.header
  69. };
  70. header[config.TokenKey]=getToken();
  71. header['AppID'] = config.appID
  72. header['AppKey'] = config.appKey
  73. header['AppSecret'] = config.appSecret
  74. let method = parmas.method || "get";
  75. let dataType = parmas.dataType || "json";
  76. let requestBody = {
  77. url,
  78. data,
  79. header,
  80. method,
  81. dataType
  82. };
  83. return requestBody;
  84. };