request.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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=null//每10分钟存储一次token
  8. token_tdate=carhelp.get("token_tdate");
  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="/youdian/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. var loginurl="/mobile/merchantUser/findByOpenId"
  25. uni.request({
  26. method:'get',
  27. url: process.car.BASE_URL + loginurl,
  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.user );
  41. carhelp.setPersonInfoPlus(res.data.data )
  42. carhelp.setToken(token );
  43. options.token=token
  44. var isson= requestSon(options)
  45. //requestNum(options);
  46. resolve(isson);
  47. } else if(res.data.code == 415||(res.data.code == 200&&!res.data.result)||res.data.code == 400){
  48. var backurl=window.location.href.split("#")[1]
  49. //var url="/pages/login/index"
  50. var url="/pagesFinance/login/index"
  51. url+="?message=请登录&back="+ backurl
  52. if(options.data&&options.data.phone){
  53. url+="&phone="+options.data.phone
  54. }
  55. carhelp.signOut()
  56. uni.redirectTo({
  57. url:url
  58. })
  59. }else{
  60. reject(res.data.message)
  61. }
  62. }).catch(error => {
  63. let [err, res] = error;
  64. reject(err)
  65. })
  66. });
  67. }
  68. export default request