[toc]
### 1. 安裝axios
### 2. 在utils文件夾內創建request.js文件
### 3. 引入axios
### 4. 創建axios實例
### 5. 創建請求和響應攔截器
### 6. 導出axios實例
### 7. 在攔截器中通過config.headers將token攜帶給后臺
### 8. 實現loading加載
### 9. 實現token過期處理
```
//設置axios的一些配置
import axios from "axios";
import { Loading } from 'element-ui';
import router from "../router/index"
//封裝loading加載
const loading = {
loadingInstance : null,
open(){
if(this.loadingInstance === null){
this.loadingInstance = Loading.service({
target : ".main",
text : "正在加載中",
background : "rgba(0,0,0,0.5)"
});
}
},
close(){
if(this.loadingInstance !== null){
this.loadingInstance.close();
}
this.loadingInstance = null;
}
}
//創建axios實例,在axios實例里面可以自定義一些請求的選項
const request = axios.create({
//設置公共路徑
baseURL : process.env.VUE_APP_BASE_API ,
//設置請求的超時時間
timeout : 5000
});
// 添加請求攔截器
request.interceptors.request.use(function (config) {
//進行loading加載
loading.open();
const token = localStorage.getItem("yy_token") ? localStorage.getItem("yy_token") : "";
//發送token
config.headers.Authorization ="Bearer " + token;
console.log("請求攔截")
// 在發送請求之前做些什么
return config;
}, function (error) {
//關閉loading加載
loading.close();
// 對請求錯誤做些什么
return Promise.reject(error);
});
// 添加響應攔截器
request.interceptors.response.use(function (response) {
//關閉loading加載
loading.close();
if(response.data.code == "202"){
localStorage.removeItem("yy_token");
localStorage.removeItem("jy_info");
router.push({path : "/login"})
}
console.log("響應攔截")
// 對響應數據做點什么
return response;
}, function (error) {
//關閉loading加載
loading.close();
// 對響應錯誤做點什么
return Promise.reject(error);
});
//導出axios實例對象
export default request;
```
- 第一章 VUE-CLI+IVIEW進行項目初始化
- 1.1 使用vue-cli4創建項目
- 1.2 引入iview組件庫
- 1.3 引入bootstrap4和圖標庫
- 1.4 安裝和配置vue-router
- 第二章 pc端登錄頁開發
- 2.1 pc端登錄頁開發(一)
- 2.2 pc端登錄頁開發(二)
- 2.3 pc端登錄頁開發(三)
- 第三章 pc端全局布局開發
- 3.1 pc端全局布局開發(一)
- 3.2 pc端全局布局開發(二) 頂部導航
- 第四章 pc端側邊欄開發
- 4.1 pc端側邊欄開發(一) 菜單
- 4.2 pc端側邊欄開發(二) 容量提示
- 第五章 pc端文件列表開發
- 5.1 pc端文件列表開發(一) 操作條
- 5.2 pc端文件列表開發(二) 列表(1)
- 5.3 pc端文件列表開發(三) 列表(2)
- 第六章 封裝多功能文件列表組件
- 6.1 封裝文件列表組件(一)
- 6.2 封裝文件列表組件(二) 刪除
- 6.3 封裝文件列表組件(三) 多選操作
- 6.4 封裝文件列表組件(四) 重命名
- 6.5 封裝文件列表組件(五) 圖片預覽
- 第七章 前端數據交互開發
- 7.1 pc端交互-引入axios和vuex
- 7.2 pc端交互-注冊登錄
- 7.3 pc端交互-初始化和退出登錄
- 7.4 pc端交互-攔截器完善
- 7.5 權限驗證
- 7.6 pc端交互-獲取文件列表
- 7.7 pc端交互-創建文件夾
- 7.8 上傳文件
- 7.9 pc端交互-文件重命名
- 7.10 pc端交互-批量刪除
- 7.11 pc端交互-搜索文件
- 7.12 pc端交互-切換目錄
- 7.13 pc端交互-優化體驗和篩選類型
- 7.14 pc端交互-下載文件
- 7.15 pc端交互-生成分享鏈接
- 7.16 pc端交互-我的分享列表
- 7.17 pc端交互-查看分享
- 7.18 pc端交互-保存我的網盤
- 第八章 項目打包與部署
- 8.1 部署前環境搭建
- 8.2 部署pc端部分