request.js 5.1 KB

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