自主项目,食堂系统,前端uniapp
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.0 KiB

5 years ago
5 years ago
5 years ago
  1. const install = (Vue, vm) => {
  2. // 请求地址
  3. let baseUrl = vm.API.PRODURL;
  4. if(vm.API.DEV == 'dev'){
  5. baseUrl = vm.API.DEVURL;
  6. };
  7. // 请求全局配置
  8. Vue.prototype.$u.http.setConfig({
  9. baseUrl: baseUrl,
  10. method: 'POST',
  11. dataType: 'json', // 返回数据时自动 JSON.parse()
  12. showLoading: true, // 是否显示请求中的loading
  13. loadingText: '正在加载',
  14. loadingTime: 800 // 延迟800毫秒时显示加载框
  15. });
  16. // 请求前拦截
  17. Vue.prototype.$u.http.interceptor.request = config => {
  18. // console.log("config", config, config.url)
  19. let release_apis = [
  20. '/api/supplier/login',
  21. '/api/canteen/login'
  22. ];
  23. if(!config.header.token && !release_apis.includes(config.url)){
  24. return false; // 拦截,拦截没有token的页面,但不包括登录页的api
  25. }else{
  26. return true; // 放行
  27. }
  28. };
  29. // 响应拦截
  30. Vue.prototype.$u.http.interceptor.response = res => {
  31. if(res.code == 0) {
  32. return res;
  33. } else {
  34. vm.$msg(res.msg);
  35. return false;
  36. }
  37. }
  38. }
  39. export default {
  40. install
  41. }