request.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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(options);
  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. return
  17. }
  18. if(!k){
  19. return requestSon(options);
  20. }
  21. return new Promise((resolve, reject) => {
  22. var loginurl="/mobile/regUser/findByOpenId"
  23. if(options&&options.jp_identity){
  24. loginurl="/mobile/"+options.jp_identity+"/findByOpenId"
  25. }
  26. uni.request({
  27. method:'get',
  28. timeout:1000*60,
  29. url: process.car.BASE_URL + loginurl,
  30. data: {
  31. openId:openId,
  32. },
  33. header: {
  34. 'Content-Type': 'application/x-www-form-urlencoded',
  35. 'X-Requested-With': 'XMLHttpRequest',
  36. //'Authorization':token
  37. }
  38. }).then((response) => {
  39. let [error, res] = response;
  40. if (res.data.code == 200&&res.data.result) {
  41. var token = res ? res.data.data.token : '';
  42. carhelp.setPersonInfo(res.data.data.regUser );
  43. carhelp.setToken(token);
  44. carhelp.setPersonInfoPlus(res.data.data);
  45. options.token=token
  46. var isson= requestSon(options)
  47. //requestNum(options);
  48. resolve(isson);
  49. } else if(res.data.code == 415||(res.data.code == 200&&!res.data.result)||res.data.code == 400){
  50. //var url=window.location.href.split("#")[1]
  51. console.log("没有免登陆 ----------------"+options.url)
  52. //var url="/pages/login/index?message=请登录&back="+ url+"&phone="+options.data.phone
  53. var thisurl='/pages/login/login';
  54. if(options&&options.data&&options.data.jpcode){
  55. thisurl+="?jpcode="+options.data.jpcode
  56. }
  57. carhelp.signOut()
  58. uni.redirectTo({
  59. url: thisurl
  60. })
  61. }else{
  62. reject(res.data.message)
  63. }
  64. }).catch(error => {
  65. let [err, res] = error;
  66. reject(err)
  67. })
  68. });
  69. }
  70. export default request