request.js 1.7 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 '../libs/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.reLaunch({
  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.errMsg,
  46. mask: true,
  47. icon: "none"
  48. })
  49. reject(res)
  50. },
  51. complete(res) {
  52. uni.hideLoading();
  53. }
  54. })
  55. } catch (err) {
  56. uni.hideLoading();
  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. header.permitTplId=config.permitTplId;
  75. let method = parmas.method || "get";
  76. let dataType = parmas.dataType || "json";
  77. let requestBody = {
  78. url,
  79. data,
  80. header,
  81. method,
  82. dataType
  83. };
  84. return requestBody;
  85. };