中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

西寧做網(wǎng)站君博認(rèn)同seo軟文是什么意思

西寧做網(wǎng)站君博認(rèn)同,seo軟文是什么意思,一個域名怎么做網(wǎng)站,asp網(wǎng)站報錯信息在 Vue 3 的項目開發(fā)中,使用 Axios 進(jìn)行 HTTP 請求是非常常見的作法,為了更方便開發(fā)者更高效的進(jìn)行代碼編寫和項目的維護(hù),可以通過再次封裝 Axios 來實現(xiàn)。 在本文中,博主將詳細(xì)指導(dǎo)你如何在自己的 Vue 3 項目中使用 Axios 二次封…

????????在?Vue 3?的項目開發(fā)中,使用?Axios?進(jìn)行?HTTP?請求是非常常見的作法,為了更方便開發(fā)者更高效的進(jìn)行代碼編寫和項目的維護(hù),可以通過再次封裝?Axios?來實現(xiàn)。

? ? ? ? 在本文中,博主將詳細(xì)指導(dǎo)你如何在自己的?Vue 3?項目中使用?Axios?二次封裝?request?請求。

1.安裝 Axios

? ? ? ? 首先,確保我們的?Vue 3?項目已經(jīng)安裝了?Axios 。

如果尚未安裝 Axios?,則可以定位到項目根目錄下 (與src目錄同級) ,運(yùn)行命令行:

# 使用 npm 包管理器
npm install axios# 使用 yarn 包管理器
npm add axios# 使用 pnpm 包管理器
pnpm install axios

? ? ? ? ?隨后,我們查看?package.json?配置文件中是否包含了?Axios?的配置信息:7090cc72391a41c08d1f35a4d996d456.png

?2.創(chuàng)建請求封裝模塊

? ? ? ? 在項目中創(chuàng)建一個單獨(dú)的模塊用來封裝?Axios?請求。(博主這里是 src/utils/request.ts)

第一步:創(chuàng)建一個新的 Axios 實例

/* request.ts  這里博主用的是 TypeScript */// 引入 Axios 庫的功能,AxiosInstance 是 Axios 中自帶的接口類型
import axios, { AxiosInstance } from 'axios';
import { ElMessage, ElMessageBox } from 'element-plus';      // 按需引入 Element-Plus 組件// 第一步:創(chuàng)建一個新的 Axios 實例
const service: AxiosInstance = axios.create({// 這里博主直接引用了開發(fā)環(huán)境配置文件中的路徑, 也可自定義成網(wǎng)絡(luò)地址baseURL: import.meta.env.VITE_API_URL,  // 或 http://${host}:${port}timeout: 5000,  // 設(shè)置請求超時,一般來說為 5 秒// 設(shè)置請求頭類型:若非文件傳輸,一般情況下為 jsonheaders: { 'Content-Type': 'application/json' },  // 傳輸文件: multipart/form-data/* 自定義 Axios 的參數(shù)序列化過程* paramsSerializer 是 Axios 中的一個配置項,用于定義在發(fā)送 GET 請求時如何序列化 URL 參數(shù)* serialize 是一個自定義的方法,它接收一個 params 對象作為參數(shù),并返回一個字符串* 在這里,它使用了 qs(可能是 querystring 庫)來將參數(shù)對象 params 序列化為一個 URL 查詢字符串* 這里的 qs.stringify 函數(shù)是一個用于序列化對象為 URL 查詢字符串的方法*/paramsSerializer: {serialize(params) {return qs.stringify(params, { allowDots: true });}}
})

第二步:創(chuàng)建請求攔截器

// request.ts 文件中/** 已經(jīng)完成了第一步*/// 第二步:創(chuàng)建請求攔截器
service.interceptors.request.use((config) => {// 這里可以在我們發(fā)送 request 網(wǎng)絡(luò)請求前,為我們的 request 請求做一些配置// 例如:將 token 攜帶在請求頭中config.headers!['Authorization'] = `Token ${Session.get('token')}`;return config},(error) => {// 錯誤調(diào)試return Promise.reject(error)}
)

?第三步:創(chuàng)建響應(yīng)攔截器

/* request.ts 文件中 *//** 已完成第一步** 已完成第二步*/// 第三步:創(chuàng)建請求攔截器
service.interceptors.response.use((response) => {// 在這里,你可以對從后端拿到的數(shù)據(jù)進(jìn)行處理const res = response.data;if (res.code === 400 || res.code === 401 || res.code === 403) {// 如果沒有權(quán)限,可以清除瀏覽器中緩存的 session 信息Session.clear(); // 清除瀏覽器全部臨時緩存window.location.href = '/'; // 去登錄頁ElMessageBox.alert('你已被登出,請重新登錄', '提示', {}).then(() => { }).catch(() => { });return Promise.reject(service.interceptors.response);} else {return res;}},(error) => {// 對響應(yīng)錯誤做點(diǎn)什么if (error.message.indexOf('timeout') != -1) {ElMessage.error('網(wǎng)絡(luò)超時');} else if (error.message == 'Network Error') {ElMessage.error('網(wǎng)絡(luò)連接錯誤');} else {if (error.response.data) ElMessage.error(error.response.statusText);else ElMessage.error('接口路徑找不到');}return Promise.reject(error);}
)

?第四步:導(dǎo)出 Axios 實例

/* request.ts 文件中 *//** 已完成了上述三個步驟*/// 導(dǎo)出 axios 實例
export default service;

完整代碼如下:

import axios, { AxiosInstance } from 'axios';
import { ElMessage, ElMessageBox } from 'element-plus';
import { Session } from '/@/utils/storage';
import qs from 'qs';// 配置新建一個 axios 實例
const service: AxiosInstance = axios.create({baseURL: import.meta.env.VITE_API_URL,timeout: 50000,headers: { 'Content-Type': 'multipart/form-data' },paramsSerializer: {serialize(params) {return qs.stringify(params, { allowDots: true });},},
});// 添加請求攔截器
service.interceptors.request.use((config) => {// 在發(fā)送請求之前做些什么 tokenif (Session.get('token')) {config.headers!['Authorization'] = `DavyJonesZ ${Session.get('token')}`;}return config;},(error) => {// 對請求錯誤做些什么return Promise.reject(error);}
);// 添加響應(yīng)攔截器
service.interceptors.response.use((response) => {// 對響應(yīng)數(shù)據(jù)做點(diǎn)什么const res = response.data;if (res.code && res.code !== 0) {// `token` 過期或者賬號已在別處登錄if (res.code === 401 || res.code === 4001) {Session.clear(); // 清除瀏覽器全部臨時緩存window.location.href = '/'; // 去登錄頁ElMessageBox.alert('你已被登出,請重新登錄', '提示', {}).then(() => { }).catch(() => { });return Promise.reject(service.interceptors.response);} else {return res;}} else {return res;}},(error) => {// 對響應(yīng)錯誤做點(diǎn)什么if (error.message.indexOf('timeout') != -1) {ElMessage.error('網(wǎng)絡(luò)超時');} else if (error.message == 'Network Error') {ElMessage.error('網(wǎng)絡(luò)連接錯誤');} else {if (error.response.data) ElMessage.error(error.response.statusText);else ElMessage.error('接口路徑找不到');}return Promise.reject(error);}
);// 導(dǎo)出 axios 實例
export default service;

3. 使用

? ? ? ? 完成上述對于?Axios?的二次封裝后,我們就可以在其他地方進(jìn)行調(diào)用了

/* Vue 3 接口工具類:login.ts 文件中 */
import request from '/@/utils/request';// Login Api
export function login(data: object) {return request({url: '/user/login',method: 'POST',data})
}

? ? ? ? 最后,只需要在Vue組件中,引入 login.ts 文件,并調(diào)用其 login 方法,就可以實現(xiàn)與后端接口的通信啦!(大功告成!!!)

?

http://www.risenshineclean.com/news/48715.html

相關(guān)文章:

  • 寬帶開戶多少錢百度seo在哪里
  • 國外做寵物產(chǎn)品的網(wǎng)站百度關(guān)鍵詞工具在哪里
  • 企業(yè)申請網(wǎng)站建設(shè)請示朋友圈網(wǎng)絡(luò)營銷
  • 知名做網(wǎng)站公司經(jīng)典軟文推廣案例
  • 圖文網(wǎng)站模版抖音關(guān)鍵詞優(yōu)化
  • 網(wǎng)站建設(shè)規(guī)劃書中包含內(nèi)容南寧seo網(wǎng)站排名優(yōu)化公司
  • 電子商務(wù)網(wǎng)站設(shè)計制作公司網(wǎng)站的步驟
  • 珠寶營銷型網(wǎng)站2022年今天新聞聯(lián)播
  • 電腦網(wǎng)頁設(shè)計代碼模板百度推廣優(yōu)化怎么做的
  • 網(wǎng)站頂部懸浮廣告代碼關(guān)鍵詞挖掘網(wǎng)站
  • 衡水做外貿(mào)網(wǎng)站建設(shè)項目推廣方案
  • 俄語網(wǎng)站建設(shè)注意事項全球搜是什么公司
  • 做網(wǎng)站得花多錢培訓(xùn)班招生方案
  • 網(wǎng)站關(guān)鍵字如何做成都網(wǎng)站設(shè)計
  • 開網(wǎng)站賺50萬做網(wǎng)站建設(shè)方案優(yōu)化
  • 0基礎(chǔ)如何做網(wǎng)站2021近期時事新聞熱點(diǎn)事件簡短
  • 長春可做微網(wǎng)站的公司企業(yè)網(wǎng)站制作開發(fā)
  • 一開始用php做網(wǎng)站電工培訓(xùn)課程
  • 騰訊云wed服務(wù)器做網(wǎng)站開發(fā)小程序
  • 北流網(wǎng)站建設(shè)四川企業(yè)seo
  • 如果使用自己電腦做網(wǎng)站百度廣告官網(wǎng)
  • 甪直做網(wǎng)站蘇州seo門戶網(wǎng)
  • 做網(wǎng)站需要知道什么sem掃描電子顯微鏡
  • hexo與wordpress區(qū)別百度優(yōu)化服務(wù)
  • wordpress的登陸地址企業(yè)網(wǎng)站seo診斷報告
  • 北侖做網(wǎng)站深圳外貿(mào)網(wǎng)站制作
  • 網(wǎng)站建設(shè)的公司實習(xí)做什么網(wǎng)站優(yōu)化課程培訓(xùn)
  • 景觀網(wǎng)站設(shè)計網(wǎng)站騰訊云服務(wù)器
  • 網(wǎng)站建設(shè)信息介紹個人怎么接外貿(mào)訂單
  • 如何快速做h5網(wǎng)站義烏最好的電商培訓(xùn)學(xué)校