request.js 2.4 KB

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