request.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import carhelp from '@/utils/mixin.js'
  2. import requestSon from './requestSon.js';
  3. import requestNum from './requestNum.js';
  4. const request = (options) => {
  5. //记录请求次数和响应次数
  6. var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
  7. var token_tdate=carhelp.get("token_tdate");//每10分钟存储一次token
  8. var token=carhelp.getToken();
  9. if(token_tdate&&token_tdate==tdate){
  10. return requestSon(options);
  11. }
  12. var openId=carhelp.getOpenId()
  13. var urlindex="/wechat/findUserInfo"
  14. var k=options.url.indexOf(urlindex)==-1;
  15. if(!openId&&k){
  16. setTimeout(()=>{
  17. request(options)
  18. },2000)
  19. return
  20. }
  21. if(!k){
  22. return requestSon(options);
  23. }
  24. return new Promise((resolve, reject) => {
  25. uni.request({
  26. method:'get',
  27. url: process.car.BASE_URL + "/mobile/regUser/findByOpenId",
  28. data: {
  29. openId:openId,
  30. },
  31. header: {
  32. 'Content-Type': 'application/x-www-form-urlencoded',
  33. 'X-Requested-With': 'XMLHttpRequest',
  34. //'Authorization':token
  35. }
  36. }).then((response) => {
  37. let [error, res] = response;
  38. if (res.data.code == 200&&res.data.result) {
  39. var token = res ? res.data.data.token : '';
  40. carhelp.setPersonInfo(res.data.data.memberInfo );
  41. carhelp.setToken(token);
  42. options.token=token
  43. var isson= requestSon(options)
  44. //requestNum(options);
  45. resolve(isson);
  46. } else if(res.data.code == 415||(res.data.code == 200&&!res.data.result)||res.data.code == 400){
  47. var url="var windowlocationhref".split("#")[1]
  48. var windowlocationhref="#/pages/login/index?message=请登录&back="+ url+"&phone="+options.data.phone
  49. }else{
  50. reject(res.data.message)
  51. }
  52. }).catch(error => {
  53. let [err, res] = error;
  54. reject(err)
  55. })
  56. });
  57. }
  58. export default request