From 47164b6f06c58cc59c9d8e7c9cd0c6f3d40f4fd7 Mon Sep 17 00:00:00 2001 From: "jqtmviyu@gmail.com" Date: Sun, 21 Feb 2021 16:58:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=81=E8=A3=85http=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/http.interceptor.js | 20 ++++++++++++++++++++ src/main.js | 8 ++++++++ 2 files changed, 28 insertions(+) create mode 100644 src/common/http.interceptor.js diff --git a/src/common/http.interceptor.js b/src/common/http.interceptor.js new file mode 100644 index 0000000..261e1f0 --- /dev/null +++ b/src/common/http.interceptor.js @@ -0,0 +1,20 @@ +// install 名字不要改 规范 => 自己做过 类似vue插件的封装 那么就会清楚为什么写install 名称 + +const install = (Vue, vm) => { + // 这里的vm,就是我们在vue文件里面的this,所以我们能在这里获取vuex的变量,比如存放在里面的token变量 + + Vue.prototype.$u.http.setConfig({ + // 统一的公共接口地址 + baseUrl: 'https://api-hmugo-web.itheima.net/api/public/v1', + // 发送请求时 显示的文字 + loadingText: '努力加载中~', + // 如果发送请求后800内 数据还没有回来 才显示加载中 + loadingTime: 800, + // 显示加载中 + showLoading: true, + }); +} + +export default { + install +} \ No newline at end of file diff --git a/src/main.js b/src/main.js index 4dbe6fc..dda9a9c 100644 --- a/src/main.js +++ b/src/main.js @@ -1,6 +1,10 @@ import Vue from 'vue' import App from './App' import uView from "uview-ui"; + +// http拦截器,此为需要加入的内容,如果不是写在common目录,请自行修改引入路径 +import httpInterceptor from '@/common/http.interceptor.js' + Vue.use(uView); Vue.config.productionTip = false @@ -9,4 +13,8 @@ App.mpType = 'app' const app = new Vue({ ...App }) + +// 这里需要写在最后,是为了等Vue创建对象完成,引入"app"对象(也即页面的"this"实例) +Vue.use(httpInterceptor, app) + app.$mount()