### axios 二次封裝
- 新建目錄 network
> network/request.js
```js
import axios from "axios"
import {Toast} from "vant"
import router from "router/index"
export function request(config) {
// 狀態碼 https://www.showdoc.com.cn/1207745568269674/6090117842667636
const codeMsg = {
200: '(成功)服務器已成功處理了請求。',
201: '(已創建)請求成功并且服務器創建了新的資源。',
204: '(無內容)服務器成功處理了請求,但沒有返回任何內容。',
301: '(永久移動)請求的網頁已永久移動到新位置。',
302: '(臨時移動)服務器目前從不同的位置響應請求。',
400: '(錯誤請求)服務器不理解請求的語法。',
401: '(未授權)請求要求身份驗證。',
403: '(禁止)無權限, 服務器拒絕請求。',
404: '(未找到) 服務器找不到請求的資源',
408: '(超時) 請求超時',
422: '(驗證錯誤) 請求參數未通過驗證',
429: '(被限制)請求次數過多',
500: '(服務器內部錯誤) 服務器遇到錯誤,無法完成請求。',
501: '(尚未實施) 服務器不具備完成請求的功能。',
502: '(錯誤網關) 服務器作為網關或代理,從上游服務器收到無效響應。',
503: '(服務不可用) 服務器目前無法使用(由于超載或停機維護)。 通常,這只是暫時狀態。',
504: '(網關超時) 服務器作為網關或代理,但是沒有及時從上游服務器收到請求。',
505: '(HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本。'
}
// 創建實例
const instance = axios.create({
baseURL: 'https://api.shop.eduwork.cn/',
timeout: 5000
})
// 請求攔截
instance.interceptors.request.use(config => {
// 攜帶 token https://www.showdoc.com.cn/1207745568269674/6094279351627422
const token = window.localStorage.getItem('token')
token && (config.headers.Authorization = `Bearer ${token}`)
return config
}, err => {})
// 響應攔截
instance.interceptors.response.use(res => res, err => {
// 處理錯誤信息
const {response} = err
if (response && response.status) {
const {status} = err.response
if (401 === status) {
Toast.fail('請先登錄')
router.push({name: 'Login'})
} else if (422 === status) {
Toast.fail(response.data.errors[Object.keys(response.data.errors)[0]][0])
} else {
Toast.fail(codeMsg[status] || response.statusText)
}
} else if (!response) {
Toast.fail('網絡異常')
}
})
return instance(config)
}
```
- 項目介紹
- 項目初始化
- 安裝腳手架
- 創建項目安裝組件
- 導入和使用組件
- 配置選項
- 配置別名
- 自動導入
- 接口封裝
- 接口地址
- axios 二次封裝
- 封裝網絡請求
- 首頁接口
- 商品接口
- 授權接口
- 用戶接口
- 購物車接口
- 訂單/支付接口
- 收藏接口
- 地址管理接口
- 初始化頁面
- 創建初始頁面
- 狀態管理
- 注冊路由
- 靜態資源
- 項目開發
- 公用組件
- 商品列表
- 支付輪詢
- 回到頂部
- 頂部 NavBar
- 輪播圖
- 底部 TabBar
- 入口頁
- 首頁
- 分類
- 商品詳情
- 個人中心
- 我的
- 登錄
- 注冊
- 賬號管理
- 購物車
- 訂單
- 我的訂單
- 訂單預覽
- 訂單詳情
- 我的收藏
- 地址
- 地址管理
- 地址編輯
- 關于我們
- 注意事項
- Tabs 上拉加載
- 下拉上拉重復請求
- 地址管理選中默認遲延
- 地址編輯地區碼回顯
- 結束