request.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. // uni-app请求封装
  2. import {TOKEN_KEYAuto} from '@/utils/courseTool.js'
  3. import store from '@/store/index.js'
  4. export default class Request {
  5. http(router, data = {}, method,contentType) {
  6. let that = this;
  7. let path = 'https://userapp.ysya.top/store'//益 寿缘
  8. // let path = 'https://userapp.ysya.top/ceshi/store'//益 寿缘测试
  9. let type = 0
  10. uni.setStorageSync('requestPath',path)
  11. // uni.showLoading({
  12. // title: '加载中'
  13. // });
  14. let token = uni.getStorageSync('AppToken');
  15. if(router.indexOf("/companyapp")!=-1){
  16. // router =router.replace('/companyapp','')
  17. path = 'https://userapp.ysya.top'//益 寿缘
  18. type = 1
  19. token = uni.getStorageSync('ManageToken');
  20. }
  21. // 企微看课
  22. if(router.indexOf("/course_auto")!=-1){
  23. type = 2
  24. router =router.replace('/course_auto','')
  25. path = 'https://h5.ysya.top'//益 寿缘
  26. // path = 'https://user.test.ylrztop.com/prod-api'//云联融智优选
  27. token =uni.getStorageSync(TOKEN_KEYAuto)
  28. console.log("TOKEN_KEYAuto===",TOKEN_KEYAuto,token)
  29. }
  30. if(router.indexOf("/course_uniapp")!=-1){
  31. type = 3
  32. router =router.replace('/course_uniapp','')
  33. //张玉朋
  34. path = 'https://userapp.ysya.top'//益 寿缘
  35. // path = 'https://user.test.ylrztop.com/prod-api'//云联融智优选
  36. token =uni.getStorageSync('TOKEN_WEXIN')
  37. }
  38. return new Promise((resolve, reject) => {
  39. // token = uni.getStorageSync('AppToken');
  40. var httpContentType='application/x-www-form-urlencoded';
  41. if(contentType!=undefined){
  42. //application/json;charset=UTF-8
  43. httpContentType=contentType;
  44. }
  45. var routers=router;
  46. // 请求
  47. uni.request({
  48. header: {
  49. // 'Content-Type': 'application/x-www-form-urlencoded',
  50. 'Content-Type': httpContentType,
  51. 'AppToken': token
  52. },
  53. url: `${path}${router}`,
  54. data: data,
  55. method: method,
  56. success: (res) => {
  57. if(type !==0&&(res.data.code == 401 || res.data.code == 4001||res.data.code == 4004)) {
  58. store.commit('setCoureLogin', 2);
  59. uni.removeStorageSync("userinfos")
  60. // uni.removeStorageSync('userInfo');
  61. uni.removeStorageSync('TOKEN_WEXIN');
  62. if(type==2) {
  63. uni.removeStorageSync(TOKEN_KEYAuto)
  64. }
  65. if(type==1) {
  66. uni.removeStorageSync('ManageToken');
  67. uni.navigateTo({
  68. url:'/pages_manage/login'
  69. })
  70. }
  71. resolve({ code: 401, data: null });
  72. return
  73. }
  74. //收到开发者服务器成功返回的回调函数
  75. if(res.data.code==401){//没有权限直接退出到登录界面
  76. let pages = getCurrentPages();
  77. pages.forEach(function(element) {
  78. if(element!=undefined&&element.route=="pages/auth/login"){
  79. resolve(res.data)
  80. return;
  81. }
  82. });
  83. // let url = pages[ pages.length - 1]; //当前页页面实例
  84. // //如果登录界面已打开,自动关闭
  85. // if(url!=undefined&&url.route=="pages/auth/login"){
  86. // resolve(res.data)
  87. // return;
  88. // }
  89. uni.navigateTo({
  90. url:'/pages/auth/login',
  91. success: () => {
  92. uni.hideLoading();
  93. },
  94. fail: () => {
  95. uni.hideLoading();
  96. }
  97. })
  98. return;
  99. }
  100. if (res.data.token&&type==0) {
  101. uni.setStorageSync('AppToken',res.data.token)
  102. }
  103. resolve(res.data)
  104. },
  105. fail:(res) =>{
  106. //接口调用失败的回调函数
  107. },
  108. complete:(res) =>{
  109. //接口调用结束的回调函数(调用成功、失败都会执行)
  110. if (res.data.code == 401) {
  111. return false
  112. }
  113. uni.hideLoading();
  114. }
  115. })
  116. })
  117. }
  118. }