request.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import {
  2. baseURL
  3. } from './env.js'
  4. import {
  5. api
  6. } from './api.js'
  7. // 请求拦截
  8. const fetch = (url, opt) => {
  9. uni.showLoading({
  10. mask: true
  11. })
  12. let urls = (api[opt.url]?.url || api[url]?.url);
  13. let params = opt.params ? ('?' + Object.keys(opt.params).map(key => key + '=' + opt.params[key]).join('&')) : ''
  14. opt.url = uni.$baseUrl + urls + params
  15. opt.method = opt.method || "GET";
  16. var header = {}
  17. // 是否禁用token
  18. if (!opt.hideToken) {
  19. if (uni.getStorageSync('token')) {
  20. header = {
  21. Authorization: 'Bearer ' + uni.getStorageSync('token')
  22. }
  23. }
  24. }
  25. // 带入租户编号
  26. if (url === "login") opt.header["tenant-id"] = 122;
  27. opt.header = {
  28. ...opt.header,
  29. ...header
  30. }
  31. // console.log(opt);
  32. opt.data = opt.data || {};
  33. return new Promise((resolve, reject) => {
  34. let options = {}
  35. Object.keys(opt).map(key => {
  36. if (key !== "params") {
  37. return options[key] = opt[key]
  38. }
  39. })
  40. uni.request(options)
  41. .then(res => {
  42. // 响应拦截
  43. const {
  44. code
  45. } = res.data
  46. if (code == 200) {
  47. resolve(res.data)
  48. console.log("请求成功")
  49. }
  50. if (code == 401) {
  51. uni.reLaunch({
  52. url: "/pages/login/loginPage"
  53. })
  54. // console.log("未授权,跳转回登录页")
  55. }
  56. uni.hideLoading();
  57. resolve(res.data);
  58. // resolve(res.data)
  59. })
  60. .catch(err => {
  61. uni.hideLoading();
  62. // 异常处理
  63. console.info("网络异常", err);
  64. reject(err)
  65. })
  66. })
  67. }
  68. export {
  69. fetch
  70. }