request.js 1.4 KB

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