request.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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(params) {
  7. return new Promise(function(resolve, reject) {
  8. try {
  9. uni.showLoading({
  10. title: '加载中',
  11. mask: true
  12. });
  13. uni.request({
  14. ...formatRequestBody(params),
  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: "登录失效!",
  25. mask: true,
  26. icon: "none",
  27. duration:3000,
  28. complete() {
  29. // let pages=getCurrentPages()
  30. // console.log({
  31. // page:pages[pages.length-1].$route.fullPath
  32. // })
  33. // let qrcode=uni.getStorageSync('qrcode')
  34. // if(qrcode){uni.setStorageSync('qrcode',qrcode)}
  35. uni.clearStorageSync()
  36. setTimeout(()=>{
  37. uni.reLaunch({
  38. url: '/pages/login/index'
  39. })
  40. },3000)
  41. }
  42. })
  43. } else {
  44. reject(data)
  45. uni.showToast({
  46. title: msg,
  47. mask: true,
  48. duration:3000,
  49. icon: "none"
  50. })
  51. }
  52. }
  53. },
  54. fail(res) {
  55. uni.showToast({
  56. title: res,
  57. mask: true,
  58. icon: "none"
  59. })
  60. reject(res)
  61. },
  62. complete(res) {
  63. uni.hideLoading();
  64. }
  65. })
  66. } catch (err) {
  67. console.log(err)
  68. reject(err)
  69. }
  70. })
  71. }
  72. function formatRequestBody(params) {
  73. let url = params.url;
  74. url = baseUrl + url;
  75. let data = {
  76. ...params.data
  77. };
  78. let header = {
  79. ...params.header,
  80. AppID:config.appID,
  81. AppKey:config.appKey,
  82. AppSecret:config.appSecret
  83. };
  84. if(getToken()){
  85. header[config.TokenKey]=getToken();
  86. }
  87. let method = params.method || "get";
  88. let dataType = params.dataType || "json";
  89. let requestBody = {
  90. url,
  91. data,
  92. header,
  93. method,
  94. dataType
  95. };
  96. return requestBody;
  97. };