request.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import carhelp from '@/apis/utils/mixin.js'
  2. import requestSon from './requestSon.js';
  3. import requestNum from './requestNum.js';
  4. import * as loginApi from '@/apis/login.js'
  5. const request = (options) => {
  6. //记录请求次数和响应次数
  7. var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
  8. var token_tdate=carhelp.get("token_tdate");//每10分钟存储一次token
  9. var token=carhelp.getToken(options);
  10. if(token_tdate&&token_tdate==tdate){
  11. return requestSon(options);
  12. }
  13. var openId=carhelp.getOpenId()
  14. var urlindex="/wechat/findUserInfo"
  15. var k=options.url.indexOf(urlindex)==-1;
  16. if(!openId&&k){
  17. return
  18. }
  19. if(!k){
  20. return requestSon(options);
  21. }
  22. return new Promise((resolve, reject) => {
  23. // var loginurl="/mobile/regUser/findByOpenId"
  24. // debugger
  25. loginApi.findByOpenIdDetailed(openId).then((response) => {
  26. let [error, res] = response;
  27. if (res.data.code == 200&&res.data.result) {
  28. var token = res ? res.data.data.token : '';
  29. carhelp.setPersonInfo(res.data.data.regUser );
  30. carhelp.setToken(token);
  31. carhelp.setPersonInfoPlus(res.data.data);
  32. options.token=token
  33. var isson= requestSon(options)
  34. //requestNum(options);
  35. resolve(isson);
  36. } else if(res.data.code == 415||(res.data.code == 200&&!res.data.result)||res.data.code == 400){
  37. //var url=window.location.href.split("#")[1]
  38. console.log("没有免登陆 ----------------"+options.url)
  39. //var url="/pages/login/index?message=请登录&back="+ url+"&phone="+options.data.phone
  40. var thisurl="";
  41. var url=window.location.href.split("#")[1]
  42. if(url.indexOf("/pages/parents/") == 0){
  43. thisurl='/pages/parents/login/login';
  44. }
  45. if(url.indexOf("/pages/teacher/") == 0){
  46. thisurl='/pages/teacher/login/login';
  47. }
  48. if(url.indexOf("/pages/youth/") == 0){
  49. thisurl='/pages/youth/login/login';
  50. }
  51. carhelp.signOut()
  52. uni.redirectTo({
  53. url: thisurl
  54. })
  55. }else{
  56. reject(res.data.message)
  57. }
  58. }).catch(error => {
  59. let [err, res] = error;
  60. reject(err)
  61. })
  62. });
  63. }
  64. export default request