request.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import host from "./config.js"
  2. import { goto } from '@/utils/myfun.js';
  3. export default ({ url, method, params, header, baseURL }) => {
  4. baseURL = baseURL ? baseURL : host.Hhost;
  5. return new Promise((resolve, reject) => {
  6. uni.request({
  7. url: baseURL + url,
  8. method,
  9. header,
  10. data: {
  11. ...params
  12. },
  13. success(res) {
  14. resolve(res.data);
  15. },
  16. fail(err) {
  17. reject(err);
  18. }
  19. });
  20. });
  21. };
  22. uni.addInterceptor('request', {
  23. invoke(args) {
  24. // console.log('interceptor-invoke', args) //请求前
  25. let token = uni.getStorageSync('token');
  26. if (token) args.header.token = token;
  27. },
  28. success(args) { //请求成功
  29. if (args.data.code == 400) {
  30. uni.removeStorageSync('token');
  31. uni.showToast({
  32. title: args.data.msg,
  33. duration: 2000,
  34. icon: "none",
  35. });
  36. setTimeout(() => {
  37. // #ifdef H5 || APP-PLUS
  38. goto("/pages/my/login");
  39. // #endif
  40. // #ifdef  MP-WEIXIN
  41. uni.switchTab({ url: "/pages/my/index" });
  42. // #endif
  43. }, 1500);
  44. }
  45. if ([-1, 301].includes(args.data.code)) {
  46. uni.showToast({
  47. title: args.data.msg,
  48. duration: 2000,
  49. icon: "none",
  50. });
  51. }
  52. },
  53. fail(err) {
  54. // console.log('interceptor-fail', err) //请求失败
  55. },
  56. complete(res) {
  57. // console.log('interceptor-complete', res) //成功|失败
  58. }
  59. })