request.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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 store from '../store';
  12. /**
  13. * 发送请求
  14. */
  15. function baseRequest(url, method, data, {
  16. noAuth = false,
  17. noVerify = false
  18. }, params) {
  19. let Url = HTTP_REQUEST_URL,header = HEADER
  20. if (params != undefined) {
  21. header = HEADERPARAMS;
  22. }
  23. if (!noAuth) {
  24. //登录过期自动登录
  25. if (!store.state.app.token && !checkLogin()) {
  26. toLogin();
  27. return Promise.reject({
  28. msg: '未登录'
  29. });
  30. }
  31. }
  32. if (store.state.app.token) header[TOKENNAME] = store.state.app.token;
  33. return new Promise((reslove, reject) => {
  34. Url=HTTP_REQUEST_URL||'http://api.front.hdq.xbdzz.cn'
  35. uni.request({
  36. url: Url + '/api/front/' + url,
  37. method: method || 'GET',
  38. header: header,
  39. data: data || {},
  40. success: (res) => {
  41. if (noVerify)
  42. reslove(res.data, res);
  43. else if (res.data.code == 200)
  44. reslove(res.data, res);
  45. else if ([410000, 410001, 410002, 401].indexOf(res.data.code) !== -1) {
  46. toLogin();
  47. reject(res.data);
  48. } else
  49. reject(res.data.message || '系统错误');
  50. },
  51. fail: (msg) => {
  52. reject('请求失败');
  53. }
  54. })
  55. });
  56. }
  57. const request = {};
  58. ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
  59. request[method] = (api, data, opt, params) => baseRequest(api, method, data, opt || {}, params)
  60. });
  61. export default request;