request.js 1.8 KB

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