request.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import { objToUrl } from '@/utils/index';
  2. function request(options,hasNoToken) {
  3. return new Promise((resolve, reject) => {
  4. let _obj = {
  5. url: '',
  6. data: {},
  7. method: 'GET',
  8. header: {
  9. 'Content-Type': 'application/json;charset=UTF-8'
  10. }
  11. };
  12. const baseUrl = getApp().globalData.baseUrl
  13. const userInfo = uni.getStorageSync('userInfo');
  14. Object.assign(_obj, options);
  15. const header = {
  16. 'USER-TERM-TYPE': 'ipad', // 支付时需要用到 与pad一致
  17. 'App-Type': 2,
  18. 'Version': '1.0.0',
  19. }
  20. if(userInfo.sysUserFlag == '0'){
  21. header['auth-token'] = hasNoToken ? '' : uni.getStorageSync('token')
  22. }else{
  23. header['access-token'] = hasNoToken ? '' : uni.getStorageSync('token')
  24. }
  25. _obj.header = header
  26. _obj.header['X-HEADER-APPID'] = '!z2Yc.aes|STw5oReFk+wACvW4IGVHZsFe+/MgMT9cp0amuic1gqE=';
  27. _obj.url = baseUrl + _obj.url;
  28. _obj.method = _obj.method.toUpperCase();
  29. _obj.success = function(res) {
  30. console.log(res.data)
  31. const isCloseUser = res.data.status == 500&&(res.data.message == 0||res.data.message == -1)
  32. const closeMsg = res.data.message == 0 ? '用户已停用' : '用户已注销'
  33. const showCommonTips = uni.getStorageSync('showCommonTips')
  34. if (_obj.url.indexOf('checkLogin') > -1) {
  35. resolve(res.data);
  36. } else if (res.data.status === '900010' || isCloseUser) {
  37. if(!showCommonTips){
  38. uni.setStorageSync('showCommonTips',1)
  39. uni.showModal({
  40. title: '提示',
  41. content: isCloseUser ? closeMsg : '登录已过期,请重新登录',
  42. confirmText: '知道了',
  43. showCancel: false,
  44. success(res) {
  45. if(res.confirm){
  46. uni.removeStorageSync('token')
  47. uni.removeStorageSync('userInfo')
  48. uni.removeStorageSync('permCodes')
  49. uni.removeStorageSync('userPhoto')
  50. uni.removeStorageSync('showCommonTips')
  51. uni.reLaunch({
  52. url: `/pages/login/login`
  53. })
  54. }
  55. }
  56. })
  57. }
  58. } else {
  59. resolve(res.data);
  60. }
  61. };
  62. _obj.fail = function(err) {
  63. console.log(err)
  64. reject(err);
  65. };
  66. _obj.complete = function() {};
  67. uni.request(_obj);
  68. });
  69. }
  70. function getRoutePath() {
  71. // eslint-disable-next-line no-undef
  72. const pages = getCurrentPages(); // 获取加载的页面
  73. const currentPage = pages[pages.length - 1]; // 获取当前页面的对象
  74. let url = currentPage.route; // 当前页面url
  75. const options = objToUrl(currentPage.options); // 如果要获取url中所带的参数可以查看options
  76. const lanuch = [
  77. 'pages/personData/personData'
  78. ].includes(url);
  79. url = '/' + url;
  80. if (options.length) {
  81. url += '?' + options;
  82. }
  83. return {
  84. url,
  85. lanuch
  86. };
  87. }
  88. export default request;