国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【axios】-- axios 二次封裝

這篇具有很好參考價(jià)值的文章主要介紹了【axios】-- axios 二次封裝。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

基本封裝部分

基本全局配置

如baseUrl,超出時(shí)間等

Token,密鑰等

出于權(quán)限和安全考慮的密鑰設(shè)置到請(qǐng)求頭

響應(yīng)的統(tǒng)一基本處理

主要針對(duì)于錯(cuò)誤的情況做全局統(tǒng)一處理

封裝的請(qǐng)求辦法

把對(duì)接口的請(qǐng)求封裝為一個(gè)方法

例子文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-704474.html

// 配置全局的基礎(chǔ)配置:baseUrl,timeout,header,responType,withCredentials
import axios from "axios"
import router from "@/router"

// 也可以把請(qǐng)求攔截器里的定義的東西提取出來(lái),創(chuàng)建一個(gè)js文件(配置中心),在配置中心統(tǒng)一定義(后續(xù)好維護(hù)),通過(guò)import引入進(jìn)來(lái)

// base64
import {Base64} from "js-base64"
// 后面的請(qǐng)求用request來(lái)發(fā)
let request = axios.creat({
    // 基礎(chǔ)配置
    baseURL:'http://localhost:9090/',
    // timeout表示請(qǐng)求超過(guò)timeout時(shí)間沒(méi)有響應(yīng)就中斷(單位為毫秒)
    timeout:30*1000,
    // responseType:"json" 規(guī)定后端返回的數(shù)據(jù)格式,默認(rèn)值是json
    responseType:"json",
    headers:{
        // 看有沒(méi)有什么特殊的header要加
    }
})

// 請(qǐng)求攔截器
request.interceptors.request.use((config)=>{
    // token密鑰的設(shè)置
    let token = localStorage.getItem("token");
    let user = localStorage.getItem("user")
    // 如果有值,代表以及登錄了。這塊我還沒(méi)有詳細(xì)區(qū)分這兩個(gè),都先判斷,等研究這個(gè)的時(shí)候再來(lái)重寫(xiě)
    if (token || user){
        // 記得輸出一下token和保存的user,下面的賦值,取決于user 的輸出
        config.headers.token = token
    }

    // 密鑰-secretId + 特殊算法(防止別人把token復(fù)制出來(lái)偽造請(qǐng)求)jwt記得研究一下
    let secretId = "hello";
    let secret = Base64.encode(secretId+new Date().toString()); //這里用的是后面加上時(shí)間戳,這個(gè)需要后端也加,然后進(jìn)行比對(duì)就知道是不是客戶端發(fā)送的了。記得要進(jìn)行加密
    config.headers.secret = secret;
    return config
},error =>{
    // 請(qǐng)求出錯(cuò)了
    return Promise.reject(new Error(error))
})

// 響應(yīng)攔截器
request.interceptors.response.use((res)=>{
    // 響應(yīng)的統(tǒng)一處理(一般是來(lái)判斷后端返回的狀態(tài)碼)
    // 只要發(fā)送成功,默認(rèn)200
    const status = res.data.code || 200
    // 如果沒(méi)有附帶消息,默認(rèn)"未知錯(cuò)誤"
    const message = res.data.msg || "未知錯(cuò)誤"
    if(status === 401){
        // 沒(méi)權(quán)限,重新登錄
        router.push("/login")
    }
},error =>{
    // 組件庫(kù)的提示,$waring
    return Promise.reject(new Error(error))
})

export default request

到了這里,關(guān)于【axios】-- axios 二次封裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • axios二次封裝

    axios二次封裝

    目錄 第一章、前言 1.1 axios是什么 1.2 axios二次封裝的原因 1.3 axios的特性 第二章、axios的二次封裝 2.1 axios安裝 2.2 axios封裝一般步驟 2.3 axios封裝常用的配置項(xiàng) 2.4 使用封裝的axios 是一個(gè)基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,簡(jiǎn)單的理解就是ajax的封裝 在使用Vue.js框架開(kāi)發(fā)

    2024年02月07日
    瀏覽(103)
  • 關(guān)于axios的二次封裝

    @1 第一步 我們一般都會(huì)先導(dǎo)入axios ? ? ? ? import axios from ‘a(chǎn)xios’ @2?第二步 創(chuàng)建axios的實(shí)例 可以同時(shí)創(chuàng)建多個(gè)實(shí)例 每個(gè)實(shí)例配置不同 ? ? ? ? const http?= axios.create( {? ? ? ? ? ????????// 這里面可以做一些基礎(chǔ)的配置 比如基礎(chǔ)路徑 ,axios 請(qǐng)求超時(shí)的時(shí)間 ? ? ? ? ???

    2024年02月03日
    瀏覽(93)
  • axios介紹以及對(duì)axios進(jìn)行二次封裝

    axios介紹以及對(duì)axios進(jìn)行二次封裝

    目錄 一、axios基礎(chǔ) 1、什么是axios? 2、axios的安裝 3、axios常用配置項(xiàng) 4、axios和ajax的區(qū)別? 二、使用axios發(fā)送請(qǐng)求 1、 發(fā)送get無(wú)參請(qǐng)求 2、 發(fā)送get有參請(qǐng)求 3、 發(fā)送post無(wú)參請(qǐng)求 4、 發(fā)送post有參請(qǐng)求 4.1 發(fā)送json格式的數(shù)據(jù): 4.2 發(fā)送表單格式的數(shù)據(jù): 三、 then、catch、finally 四、

    2023年04月14日
    瀏覽(101)
  • 前端開(kāi)發(fā)中的ajax請(qǐng)求、axios封裝

    前端開(kāi)發(fā)中的ajax請(qǐng)求、axios封裝

    目錄 瀏覽器http請(qǐng)求 同步?js標(biāo)簽跨域、url 異步ajax、websock協(xié)議 ajax是異步的技術(shù)術(shù)語(yǔ),最早的api是xhr(XMLHttpRequest) fetch es6 api axios 封裝axios(無(wú)論用requst還是axios請(qǐng)求都會(huì)生效) src/utils/request.ts請(qǐng)求/響應(yīng)攔截器封裝 ts post請(qǐng)求request.post(url)和 通用請(qǐng)求request({url,method:\\\'post\\\'})對(duì)象

    2024年02月11日
    瀏覽(70)
  • Axios的二次封裝(簡(jiǎn)單易懂)

    是一個(gè)基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端 簡(jiǎn)單的理解就是ajax的封裝 在使用Vue.js框架開(kāi)發(fā)前端項(xiàng)目時(shí) 會(huì)經(jīng)常發(fā)送ajax請(qǐng)求服務(wù)端接口 在開(kāi)發(fā)過(guò)程中 需要對(duì)axios進(jìn)一步封裝 方便在項(xiàng)目中的使用 從瀏覽器中創(chuàng)建 XMLHttpRequest 從 node.js 發(fā)出 http 請(qǐng)求 支持 Promise API 攔截請(qǐng)求

    2023年04月09日
    瀏覽(241)
  • Vue——axios的二次封裝

    在 Vue 中,發(fā)送請(qǐng)求一般在 created 鉤子中,當(dāng)然放在 mounted 鉤子中也沒(méi)問(wèn)題。 以下請(qǐng)求的前提都是安裝了 axios,并且 import axios from \\\'axios\\\' 成功導(dǎo)入 Axios官網(wǎng)鏈接 get 請(qǐng)求傳參,在地址里面通過(guò) ?xxx=123 的形式 post 請(qǐng)求傳參,在第二個(gè)參數(shù)里面?zhèn)鬟f 請(qǐng)求配置里面可以設(shè)置很多屬性

    2024年02月11日
    瀏覽(92)
  • axios二次封裝(詳細(xì)+跨域問(wèn)題)

    axios二次封裝(詳細(xì)+跨域問(wèn)題)

    一,為什么要對(duì)axios進(jìn)行二次封裝? 答:主要是要用到請(qǐng)求攔截器和響應(yīng)攔截器; 請(qǐng)求攔截器 : 可以在發(fā)請(qǐng)求之前可以處理一些業(yè)務(wù) 響應(yīng)攔截器 : 當(dāng)服務(wù)器數(shù)據(jù)返回以后,可以處理一些事情 二,axios的二次封裝 2.1 安裝axios 在當(dāng)前的項(xiàng)目路徑下安裝 安裝成功 2.2 通常情況下

    2024年02月06日
    瀏覽(25)
  • Vue電商項(xiàng)目--axios二次封裝

    Vue電商項(xiàng)目--axios二次封裝

    剛剛經(jīng)過(guò)postman工具測(cè)試,發(fā)現(xiàn)接口果然發(fā)生了改變。 新的接口為 http://gmall-h5-api.atguigu.cn ? 如果服務(wù)器返回的數(shù)據(jù)code字段200,代表服務(wù)器返回?cái)?shù)據(jù)成功 整個(gè)項(xiàng)目,接口前綴都有/api字樣 XmlHttpRequest,fetch,JQ,Axios這些都是很優(yōu)秀的網(wǎng)絡(luò)請(qǐng)求庫(kù) 為什么需要進(jìn)行二次封裝axios? 請(qǐng)

    2024年02月01日
    瀏覽(29)
  • Vue項(xiàng)目中axios的二次封裝

    Vue 項(xiàng)目使用過(guò)程中一般會(huì)對(duì) axios 進(jìn)行二次封裝, 以期在合適的時(shí)機(jī)處理一些全局的需求, 比如常見(jiàn)的 請(qǐng)求攔截器 和 響應(yīng)攔截器. 接下來(lái)簡(jiǎn)單聊聊具體的操作步驟. 執(zhí)行以下指令: 在 src 文件夾下創(chuàng)建 api 文件夾, 并創(chuàng)建 index.js、axios.js 和 users.js 文件. index.js 文件的作用的將當(dāng)前

    2024年01月19日
    瀏覽(104)
  • vue對(duì)axios進(jìn)行二次封裝

    ????????在Vue中,對(duì)Axios進(jìn)行二次封裝可以提高代碼的可重用性和可維護(hù)性。通過(guò)封裝,我們可以將請(qǐng)求的配置、錯(cuò)誤處理和攔截器等邏輯集中到一個(gè)地方,方便后續(xù)的修改和擴(kuò)展。此外,封裝Axios還可以簡(jiǎn)化代碼,減少重復(fù)的請(qǐng)求配置,提高開(kāi)發(fā)效率。因此,對(duì)Axios進(jìn)行二

    2024年01月21日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包