request.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import {TOKEN_KEY} from '@/utils/common.js'
  2. // uni-app请求封装
  3. export default class Request {
  4. http(router, data = {}, method,contentType,type) {
  5. let that = this;
  6. // let path ='http://h5api.muyi88.com';//server
  7. // let path = 'http://h5api.ylrztop.com'
  8. // let path = 'http://h5.baohetangjinyue.cn'
  9. // let path = 'http://h5api.jiuzhouzaixian.com'
  10. // let path = 'http://h5api.xintaihlw.cn'
  11. // let path = 'http://h5api.hbhdt.top'
  12. let path = "http://h5api.xintaihlwyy.cn"
  13. uni.setStorageSync('requestPath',path);
  14. // uni.showLoading({
  15. // title: '加载中'
  16. // });
  17. return new Promise((resolve, reject) => {
  18. let token = uni.getStorageSync(TOKEN_KEY);
  19. var httpContentType='application/x-www-form-urlencoded';
  20. if(contentType!=undefined){
  21. //application/json;charset=UTF-8
  22. httpContentType=contentType;
  23. }
  24. var routers=type == 1 ? '/app/course/h5'+ router : type == 3? router: '/app/course'+router;
  25. // console.log("---qxj request url:"+`${path}${router}`+" params:"+JSON.stringify(data));
  26. // console.log(" token:"+token);
  27. // 请求
  28. uni.request({
  29. header: {
  30. 'Content-Type': httpContentType,
  31. 'AppToken': type == 1 ? '':token,
  32. },
  33. url: `${path}${routers}`,
  34. data: data,
  35. method: method,
  36. success: (res) => {
  37. //收到开发者服务器成功返回的回调函数
  38. if(res.data.code==401){ //没有权限直接退出到登录界面
  39. let pages = getCurrentPages();
  40. let url = pages[ pages.length - 1]; //当前页页面实例
  41. //如果登录界面已打开,自动关闭
  42. if(url!=undefined&&url.route=="pages/auth/login"){
  43. resolve(res.data)
  44. return;
  45. }
  46. }
  47. if(res.token) {
  48. uni.setStorageSync(TOKEN_KEY,res.token)
  49. }
  50. resolve(res.data)
  51. },
  52. fail:(res) =>{
  53. //接口调用失败的回调函数
  54. },
  55. complete:(res) =>{
  56. //接口调用结束的回调函数(调用成功、失败都会执行)
  57. if (res.data.code == 401) {
  58. return false
  59. }
  60. uni.hideLoading();
  61. }
  62. })
  63. })
  64. }
  65. }