request.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import {
  2. HTTP_REQUEST_URL,
  3. HEADER,
  4. TOKENNAME,
  5. HEADERPARAMS
  6. } from '@/config/app';
  7. import {
  8. toLogin,
  9. checkLogin
  10. } from '@/libs/login';
  11. import { useAppStore } from '@/stores/app'
  12. import { useToast } from '@/hooks/useToast'
  13. /**
  14. * 发送请求
  15. */
  16. function baseRequest(url, method, data, {
  17. noAuth = false,
  18. noVerify = false
  19. }, params) {
  20. const appStore = useAppStore();
  21. const { Toast } = useToast();
  22. let Url = HTTP_REQUEST_URL,header = HEADER
  23. const TOKEN = 'Bearer ' + appStore.token
  24. if (params != undefined) {
  25. header = HEADERPARAMS;
  26. }
  27. // if (!noAuth) {
  28. // //登录过期自动登录
  29. // if (!TOKEN && !checkLogin()) {
  30. // toLogin();
  31. // return Promise.reject({
  32. // code: 401,
  33. // message: '未登录'
  34. // });
  35. // }
  36. // }
  37. if (TOKEN) header[TOKENNAME] = TOKEN;
  38. return new Promise((reslove, reject) => {
  39. Url=HTTP_REQUEST_URL || 'http://api.front.hdq.xbdzz.cn'
  40. uni.request({
  41. url: Url + '/' + url,
  42. method: method || 'GET',
  43. header: header,
  44. timeout: 30000,
  45. data: data || {},
  46. success: (res) => {
  47. if (noVerify)
  48. reslove(res.data, res);
  49. else if (res.data.code == 200)
  50. reslove(res.data, res);
  51. else if ([410000, 410001, 410002, 401,403].indexOf(res.data.code) !== -1) {
  52. // toLogin();
  53. appStore.LOGOUT();
  54. Toast({title: res.data.msg || '登录过期,请重新登录'});
  55. reject(res.data);
  56. } else
  57. Toast({title: res.data.msg || '系统错误'})
  58. reject(res.data.msg || '系统错误');
  59. },
  60. fail: (msg) => {
  61. Toast({title: '请求失败'})
  62. reject('请求失败');
  63. }
  64. })
  65. });
  66. }
  67. const request = {};
  68. ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
  69. request[method] = (api, data, opt, params) => baseRequest(api, method, data, opt || {}, params)
  70. });
  71. export default request;