request.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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 ='http://k26a55d9.natappfree.cc/'//本地
  8. let path = 'https://userapp.kangniantangyiyao.top/store'//臻选
  9. // let path = 'https://userappB.kangniantangyiyao.top/store'//惠选
  10. // let path = 'http://192.168.110.247:8113/store'
  11. // let path2 = 'https://userapp.kangniantangyiyao.top'//直播
  12. let path2 = 'http://192.168.110.59:8113'//本地(直播)
  13. let type = 0
  14. uni.setStorageSync('requestPath',path)
  15. // uni.showLoading({
  16. // title: '加载中'
  17. // });
  18. if (router.indexOf("/live/liveData/like") != -1) {
  19. path = 'https://im.fhhx.runtzh.com';
  20. }
  21. if (router.indexOf("/app/order/getMyMergedOrderList") != -1 || router.indexOf("/app/order/deleteOrder") != -1) {
  22. path = 'https://userapp.kangniantangyiyao.top';
  23. }
  24. if (router.indexOf("/app/order/getMergedAfterSalesList") != -1) {
  25. path = 'https://userapp.kangniantangyiyao.top';
  26. }
  27. if (router.indexOf("/live") !== -1 || router.indexOf("/liveAPP") !== -1) {
  28. // path = 'https://userapp.kangniantangyiyao.top';
  29. path = path2
  30. router = router.replace('/liveAPP', '')
  31. type = 4
  32. token = uni.getStorageSync('AppToken');
  33. }
  34. if (router.indexOf("/patient/getPatientList") !== -1) {
  35. // path = 'https://userapp.kangniantangyiyao.top';
  36. path = path2
  37. }
  38. if (router.indexOf("/getGotoWxAppLiveLink") !== -1) {
  39. // path = 'https://userapp.kangniantangyiyao.top/companyapp';
  40. path = `${path2}/companyapp`;
  41. }
  42. let token = uni.getStorageSync('AppToken');
  43. if(router.indexOf("/companyapp")!=-1){
  44. router =router.replace('/companyapp','')
  45. // path = 'http://192.168.10.155:8113'//金正本地
  46. path = 'https://userapp.kangniantangyiyao.top'//臻选
  47. // path = 'https://userappB.kangniantangyiyao.top'//惠选
  48. type = 1
  49. token = uni.getStorageSync('ManageToken');
  50. }
  51. // 企微看课
  52. if(router.indexOf("/course_auto")!=-1){
  53. type = 2
  54. router =router.replace('/course_auto','')
  55. // path = 'http://w43fa358.natappfree.cc'
  56. path = 'https://userapp.kangniantangyiyao.top'//臻选
  57. // path = 'https://userappB.kangniantangyiyao.top'//惠选
  58. token =uni.getStorageSync(TOKEN_KEYAuto)
  59. console.log("TOKEN_KEYAuto===",TOKEN_KEYAuto,token)
  60. }
  61. if(router.indexOf("/course_uniapp")!=-1){
  62. type = 3
  63. router =router.replace('/course_uniapp','')
  64. path = 'https://userapp.kangniantangyiyao.top'//臻选
  65. // path = 'https://userappB.kangniantangyiyao.top'//惠选
  66. token =uni.getStorageSync('TOKEN_WEXIN')
  67. }
  68. return new Promise((resolve, reject) => {
  69. // token = uni.getStorageSync('AppToken');
  70. var httpContentType='application/x-www-form-urlencoded';
  71. if(contentType!=undefined){
  72. //application/json;charset=UTF-8
  73. httpContentType=contentType;
  74. }
  75. var routers=router;
  76. // 请求
  77. uni.request({
  78. header: {
  79. // 'Content-Type': 'application/x-www-form-urlencoded',
  80. 'Content-Type': httpContentType,
  81. 'AppToken': token,
  82. 'companyUserToken':uni.getStorageSync('CompanyUserToken')
  83. },
  84. url: `${path}${router}`,
  85. data: data,
  86. method: method,
  87. success: (res) => {
  88. if(type !==0&&(res.data.code == 401 || res.data.code == 4001||res.data.code == 4004)) {
  89. store.commit('setCoureLogin', 2);
  90. uni.removeStorageSync("userinfos")
  91. // uni.removeStorageSync('userInfo');
  92. uni.removeStorageSync('TOKEN_WEXIN');
  93. if(type==2) {
  94. uni.removeStorageSync(TOKEN_KEYAuto)
  95. }
  96. if(type==1) {
  97. uni.removeStorageSync('ManageToken');
  98. uni.navigateTo({
  99. url:'/pages_manage/login'
  100. })
  101. }
  102. resolve({ code: 401, data: null });
  103. return
  104. }
  105. //收到开发者服务器成功返回的回调函数
  106. if(res.data.code==401){//没有权限直接退出到登录界面
  107. let pages = getCurrentPages();
  108. pages.forEach(function(element) {
  109. if(element!=undefined&&element.route=="pages/auth/login"){
  110. resolve(res.data)
  111. return;
  112. }
  113. });
  114. // let url = pages[ pages.length - 1]; //当前页页面实例
  115. // //如果登录界面已打开,自动关闭
  116. // if(url!=undefined&&url.route=="pages/auth/login"){
  117. // resolve(res.data)
  118. // return;
  119. // }
  120. uni.navigateTo({
  121. url:'/pages/auth/login',
  122. success: () => {
  123. uni.hideLoading();
  124. },
  125. fail: () => {
  126. uni.hideLoading();
  127. }
  128. })
  129. return;
  130. }
  131. if (res.data.token&&type==0) {
  132. uni.setStorageSync('AppToken',res.data.token)
  133. }
  134. resolve(res.data)
  135. },
  136. fail:(res) =>{
  137. //接口调用失败的回调函数
  138. },
  139. complete:(res) =>{
  140. //接口调用结束的回调函数(调用成功、失败都会执行)
  141. if (res.data.code == 401) {
  142. return false
  143. }
  144. uni.hideLoading();
  145. }
  146. })
  147. })
  148. }
  149. }