request.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. return
  17. }
  18. var form= window.location.href.split("#/")[1].split("/")[1];
  19. if(["job","hr"].indexOf(form)==-1||!k){
  20. return requestSon(options);
  21. }
  22. var url="";
  23. if(form=="job"){
  24. url='/mobile/jobUserApi/findByOpenId';
  25. }else if(form=="hr"){
  26. url='/mobile/sysUserApi/findByOpenId';
  27. }else{
  28. return
  29. }
  30. return new Promise((resolve, reject) => {
  31. uni.request({
  32. method:'post',
  33. url: process.car.BASE_URL + url,
  34. data: {
  35. openId:openId,
  36. form:form
  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. if (res.data.code == 200&&res.data.data) {
  46. var token = res ? res.data.data.token : '';
  47. if("job"==form){
  48. carhelp.setPersonInfo(res.data.data.jobUser );
  49. }
  50. if("hr"==form){
  51. carhelp.setPersonInfo(res.data.data.sysUser );
  52. }
  53. carhelp.setToken(token);
  54. options.token=token
  55. var isson= requestSon(options)
  56. requestNum(options);
  57. resolve(isson);
  58. } else if(res.data.code == 415||(res.data.code == 200&&!res.data.data)||res.data.code == 400){
  59. var url=window.location.href.split("#")[1]
  60. window.location.href="#/pages/login/wxLogin/wxLogin?form="+form+"&message=请登录&back="+ url
  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