klm-axios-config.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // document.write("<script language='javascript' src='./static/js/appfunc.min.js'></script>");
  2. const pulocation = function (name,val) {
  3. window.localStorage.setItem(name,val)
  4. };
  5. const getlocation = function (name) {
  6. return window.localStorage.getItem(name)
  7. };
  8. async function gettoken(fn) {
  9. const arr = [];
  10. for (let i = 0; i < 6; i++) {
  11. arr.push(Math.floor((Math.random() * 10)));
  12. };
  13. const num = arr.join('');
  14. const res = await getRequest('api/systemset/appchecktest', JSON.stringify({ "uuid": num, "salt": num }));
  15. PublicLib.putCookieInfo('token', res.data.Token);
  16. pulocation('token', res.data.Token);
  17. fn();
  18. };
  19. // 配置基地址
  20. var request = axios.create({
  21. baseURL: 'http://ap.kexiaoshuang.com'
  22. });
  23. // 数据响应防抖
  24. let requestflag = true;
  25. // 请求拦截器
  26. request.interceptors.request.use(
  27. config => {
  28. // 该处可以将config打印出来看一下,该部分将发送给后端(server端)
  29. // console.log(config);
  30. config.headers.Authorization = 'Bearer ' + PublicLib.getCookieInfo('token');;
  31. if(requestflag){
  32. // config.header = {"":""};
  33. if(config.method === 'post'){
  34. requestflag = false;
  35. }
  36. return config; // 对config处理完后返回,下一步将向后端发送请求
  37. }
  38. },
  39. error => { // 当发生错误时,执行该部分代码
  40. console.log(error); //调试用
  41. return Promise.reject(error)
  42. }
  43. );
  44. // 响应拦截器
  45. request.interceptors.response.use(
  46. response => { // 该处为后端返回整个内容
  47. // tips('登录失效');
  48. const res = response.data; // 该处可将后端数据取出,提前做一个处理
  49. requestflag = true;
  50. return res;
  51. },
  52. error => {
  53. console.log(error.response.status);
  54. if(error.response.status === 401) {
  55. PublicLib.GoBack({Level:0});
  56. };
  57. return Promise.reject(error);
  58. }
  59. );
  60. // 测试接口
  61. // const testInterface = (url) => {
  62. // return request.get(url);
  63. // };
  64. // GET请求
  65. const getRequest = (url,parameter) => {
  66. console.log(parameter)
  67. return request.get(url,{params:{value:encryption(parameter)}});
  68. };
  69. // POST请求
  70. const postRequest = (url,parameter) => {
  71. let param = new URLSearchParams();
  72. param.append('value', encryption(parameter));
  73. console.log(parameter);
  74. return request({
  75. url,
  76. method: 'post',
  77. headers: {
  78. // 'Access-Control-Allow-Origin':'*'
  79. 'Content-Type': 'application/x-www-form-urlencoded'
  80. },
  81. data: param,
  82. })
  83. };
  84. // let param = new URLSearchParams();
  85. // param.append('value', '{"Mobile":"' + Mobile + '","ReferenceCode":"' + ReferenceCode + '","LoginPwd":"' + LoginPwd + '","MobileCode":"' + MobileCode + '","MobileCode":"' + that.mobileCode + '"}');
  86. // param.append('token', getCookieInfo('Token'));
  87. // document.write("<script language='javascript' src='./static/js/publicfn.js'></script>");