request.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. // uni-app请求封装
  2. export default class Request {
  3. http(router, data = {}, method,contentType) {
  4. let that = this;
  5. //let path ='http://192.168.110.11:8007';//app
  6. let path='https://devapi.ylrzfs.com/prod-api';
  7. let token = uni.getStorageSync('AppToken');
  8. // // #ifdef H5
  9. // path ='http://app.fbylive.com';//h5接口
  10. // // #endif
  11. // // 看课模块
  12. // if(router.indexOf("/app/course/getRealLink") != -1 ) {
  13. // path ='http://app.fbylive.com';
  14. // }
  15. // // 腕表模块
  16. // if(router.indexOf("/watch-api") != -1 ) {
  17. // router = router.replace('/watch-api','')
  18. // // path = 'http://42.194.245.189:8114'
  19. // }
  20. // // doctorAi模块
  21. // if(router.indexOf("/doctorAi") != -1 ) {
  22. // router = router.replace('/doctorAi','')
  23. // // path = 'http://doctor.ai.cdwjyyh.com'
  24. // }
  25. // // 手动发课
  26. // if(router.indexOf("/companyapp") != -1 ) {
  27. // token= uni.getStorageSync('ManageToken');
  28. // }
  29. uni.setStorageSync('requestPath',path);
  30. // uni.showLoading({
  31. // title: '加载中'
  32. // });
  33. return new Promise((resolve, reject) => {
  34. let CompanyUserToken = uni.getStorageSync('CompanyUserToken');
  35. var httpContentType='application/x-www-form-urlencoded';
  36. if(contentType!=undefined){
  37. httpContentType=contentType;
  38. }
  39. var routers=router;
  40. //console.log("---qxj request url",`${path}${router}`+" params:"+JSON.stringify(data)+" \n AppToken:"+token);
  41. // 请求
  42. uni.request({
  43. header: {
  44. // 'Content-Type': 'application/x-www-form-urlencoded',
  45. 'Content-Type': httpContentType,
  46. 'AppToken': token,
  47. 'CompanyUserToken':CompanyUserToken //业务员token
  48. },
  49. url: `${path}${router}`,
  50. data: data,
  51. method: method,
  52. success: (res) => {
  53. //收到开发者服务器成功返回的回调函数
  54. if(res.data.code==401){ //没有权限直接退出到登录界面
  55. let pages = getCurrentPages();
  56. let url = pages[ pages.length - 1]; //当前页页面实例
  57. //如果登录界面已打开,自动关闭
  58. if(url!=undefined&&url.route=="pages/auth/login"){
  59. resolve(res.data)
  60. return;
  61. }
  62. }
  63. if(res.token) {
  64. uni.setStorageSync('AppToken',res.token)
  65. }
  66. resolve(res.data)
  67. },
  68. fail:(res) =>{
  69. if (res.errMsg=='request:fail') {
  70. uni.showToast({
  71. title: '服务器错误,请稍后重试',
  72. icon: 'none'
  73. });
  74. }
  75. //接口调用失败的回调函数
  76. },
  77. complete:(res) =>{
  78. // console.log("complete=======",path,router,res.data)
  79. //接口调用结束的回调函数(调用成功、失败都会执行)
  80. if (res.data&&res.data.code == 401) {
  81. uni.$emit('loginOut');
  82. this.$logout();
  83. return false
  84. }
  85. uni.hideLoading();
  86. }
  87. });
  88. })
  89. }
  90. }