[toc]
## 1. 對axios進行二次封裝
### 1.1 安裝axios
```
npm install axios --save
```
### 1.2 在src目錄下創建utils目錄
### 1.3 在utils目錄下創建request.js文件
### 1.4 在request.js文件內對axios進行二次封裝
#### 1.4.1 引入axios
```
//引入axios
import axios from "axios"
```
#### 1.4.2 創建axios
```
//引入axios
import axios from "axios"
//創建axios實例對象
const request = axios.create({
/*可配置項有很對,可以去axios的官網去查看*/
//公共的接口地址
baseURL : "公共接口地址或者代理地址名稱",
//請求的超時時間
timeout : 1000*5
//請求頭
//...
})
```
#### 1.4.3 創建請求與響應的攔截器
```
//引入axios
import axios from "axios"
//創建axios實例對象
const request = axios.create({
/*可配置項有很對,可以去axios的官網去查看*/
//公共的接口地址
baseURL : "公共接口地址或者代理地址名稱",
//請求的超時時間
timeout : 1000*5
//請求頭
//...
})
//創建請求攔截器
request.interceptors.request.use(function (config) {
// 在發送請求之前做些什么
return config;
}, function (error) {
// 對請求錯誤做些什么
return Promise.reject(error);
});
//創建響應攔截器
request.interceptors.response.use(function (response) {
// 對響應數據做點什么
return response;
}, function (error) {
// 對響應錯誤做點什么
return Promise.reject(error);
});
```
#### 1.4.4 導出axios的實例對象
```
//引入axios
import axios from "axios"
//創建axios實例對象
const request = axios.create({
/*可配置項有很對,可以去axios的官網去查看*/
//公共的接口地址
baseURL : "公共接口地址或者代理地址名稱",
//請求的超時時間
timeout : 1000*5
//請求頭
//...
})
//創建請求攔截器
request.interceptors.request.use(function (config) {
// 在發送請求之前做些什么
return config;
}, function (error) {
// 對請求錯誤做些什么
return Promise.reject(error);
});
//創建響應攔截器
request.interceptors.response.use(function (response) {
// 對響應數據做點什么
return response;
}, function (error) {
// 對響應錯誤做點什么
return Promise.reject(error);
});
//導出axios的實例對象
export default request
```
## 2. 對api接口進行封裝
### 2.1 在src目錄下創建api文件夾
### 2.2 在api文件夾內創建對應模塊的js文件
### 2.3 以夢學谷后臺管理系統為例
#### 2.3.1 分析夢學谷后臺管理系統模塊,一共是6個
#### 2.3.2 分別創建這6個模塊對應的js文件
```
user.js --- 登錄 獲取用戶信息 登出
//引入request.js
import request from "../utils/request.js"
//登錄接口
function userLogin(username,password){
return request({
url : "/api/login",
method : "post",
data : {
username,
password
}
})
}
//獲取用戶信息接口
function userInfo(){
return request({
url : "/api/userinfo",
method : "get",
headers : {
token : "aasdadsadaysdasgfasgsfsa"
}
})
}
退出登錄接口
//
function logout(){
return request({
url : "/api/logout",
method : "posat",
headers : {
token : "aasdadsadaysdasgfasgsfsa"
}
})
}
//導出封裝的接口 -- 2中 export export default
export default {
userlogin,
userinfo,
logout
}
```
```
index.js --- echarts圖標的接口 其他的信息接口
member.js --- 獲取會員列表 查詢指定會員 新增會員 刪除會員 編輯會員 查詢會員
supplier.js ---- 獲取供應商管理 查詢指定供應商 新增供應商 刪除供應商
```
## 2.4 在組件里面如果調用封裝的接口
```
import user from “../api/user.js“
user.userinfo().then(response=>{
})
//如果是通過export 進行導出
導出的時候,就需要這種方式
import {userInfo} from "../api/user.js"
userinfo().then(response=>{
}
)
```
## 3. 解決跨域問題
vue.config.js
```
proxy : {
// /api表示的代理的名稱,請求數據的時候,請求的應該是代理名稱,也就是這個/api
"/dev" : {
target : “要跨域的接口地址“,
changeOrigin : true, //開啟代理
pathRewrite : {
"^/dev" : ""
}
}
}
```
## 4. 封裝本地存儲方法
## 5. 封裝操作用戶信息和用戶登錄狀態方法
## 6. vuex的使用
### 1.安裝axios
```
npm install axios --save
```
### 2. 封裝axios請求配置
### 3. 封裝api接口
### 4. 解決跨域
- 第一章 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端部分