vue-element-template 如何使用官方request.js請(qǐng)求

vue-element-template 如何使用官方request.js請(qǐng)求

許多新手在使用VUE-element-template這個(gè)模板,給后臺(tái)發(fā)送數(shù)據(jù)的時(shí)候,一般使用Axios請(qǐng)求,但是發(fā)現(xiàn)使用多了,并不好用,而且容易造成代碼冗余,也不方便日后項(xiàng)目的URL地址統(tǒng)一管理。查詢官方文檔中發(fā)現(xiàn)里面有request.js這個(gè)文件

request.js介紹

其中,@/utils/request.js 是基于 axios 的封裝,便于統(tǒng)一處理 POST,GET 等請(qǐng)求參數(shù),請(qǐng)求頭,以及錯(cuò)誤提示信息等。具體可以參看 request.js。 它封裝了全局 request攔截器、response攔截器、統(tǒng)一的錯(cuò)誤處理、統(tǒng)一做了超時(shí)處理、baseURL設(shè)置等。

  • 官方推薦做法

在 vue-element-admin 中,一個(gè)完整的前端 UI 交互到服務(wù)端處理流程是這樣的:

  • UI 組件交互操作;
  • 調(diào)用統(tǒng)一管理的 api service 請(qǐng)求函數(shù);
  • 使用封裝的 request.js 發(fā)送請(qǐng)求;
  • 獲取服務(wù)端返回;
  • 更新 data;

具體改造流程

第一步:改造config文件

改造config文件夾下的文件,里面有

  • /dev.env.js 生產(chǎn)環(huán)境
  • /prod.env.js 上線環(huán)境

用到那個(gè)該哪個(gè)文件,這里以dev.env.js 文件為例,修改BASE_API 值 改為自己的后臺(tái)接口地址

image.png

第二步:改造request文件

該文件位于 src/utils/
修改里面的res.code 值為自己后臺(tái)返回的狀態(tài)碼,這里以修改為 200 為例!
這個(gè)文件不修改就算發(fā)送請(qǐng)求成功也不會(huì)相應(yīng)數(shù)據(jù),本質(zhì)做了攔截請(qǐng)求。

image.png

第三步:編寫api接口文件

該文件位于 src/api/
以后所有的api請(qǐng)求接口,都可以放在這么目錄下,進(jìn)行統(tǒng)一管理,方便后期維護(hù)
下面編寫fetchList請(qǐng)求方法為例,參數(shù)可以帶也可以不帶,看實(shí)際開發(fā)需求

image.png

第四步:使用自定義API請(qǐng)求方法

首先在開頭需要引入上一步編寫的文件,然后在方法里面進(jìn)行請(qǐng)求獲取數(shù)據(jù)

image.png

到此基本結(jié)束對(duì)vue-element-template的項(xiàng)目使用官方請(qǐng)求改造
<hr style=" border:solid; width:100px; height:1px;" color=#999AAA size=1">

以下是你可能出現(xiàn)的問題:

  • 改造完成之后登錄頁面一直登入異常
    這是由于你的項(xiàng)目登錄頁面并沒有實(shí)現(xiàn)自己的登錄接口,不更換默認(rèn)使用官方的mock假數(shù)據(jù)
    ★ 解決辦法如下:
    直接修改官方mock/user.js 里面的返回狀態(tài)值為自己定義的狀態(tài)碼
    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。