request.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. complete() {
  20. uni.hideLoading();
  21. }
  22. });
  23. });
  24. };
  25. uni.addInterceptor('request', {
  26. invoke(args) {
  27. // console.log('interceptor-invoke', args) //请求前
  28. let token = uni.getStorageSync('token');
  29. if(token) args.header.token = token;
  30. },
  31. success(args) { //请求成功
  32. if (args.data.resultCode && args.data.resultCode != 1) {
  33. uni.showToast({
  34. title: args.data.errorMessage,
  35. duration: 2000,
  36. icon: "none",
  37. });
  38. }
  39. if(args.data.code == 400){
  40. uni.removeStorageSync('token');
  41. uni.showToast({
  42. title: args.data.msg,
  43. duration: 2000,
  44. icon: "none",
  45. });
  46. setTimeout(() => {
  47. // #ifdef  H5
  48. goto("/pages/my/login")
  49. // #endif
  50. // #ifdef  APP
  51. goto("/pages/my/login")
  52. // #endif
  53. // #ifdef  MP-WEIXIN
  54. uni.switchTab({
  55. url: "/pages/my/index"
  56. });
  57. // #endif
  58. }, 1500);
  59. }
  60. },
  61. fail(err) {
  62. // console.log('interceptor-fail', err) //请求失败
  63. },
  64. complete(res) {
  65. // console.log('interceptor-complete', res) //成功|失败
  66. }
  67. })