最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3+axios+Mock.js實現(xiàn)登錄功能的示例代碼

 更新時間:2023年05月06日 14:36:32   作者:ym-13140912  
本文主要介紹了Vue3+axios+Mock.js實現(xiàn)登錄功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

最近學(xué)習(xí)了Vue3,這篇文章主要分享一下基于Vue3 + TypeScript的項目,利用Mock.js模擬后端數(shù)據(jù),axios實現(xiàn)請求來完成一個登錄功能。

一、Vue3 + Element Plus + Mock.js + axios實現(xiàn)登錄功能

1.登錄頁面配置路由、編寫表單內(nèi)容

在router/index.ts中配置路由:

編寫登錄表單,el-form中綁定的數(shù)據(jù)要和下面定義的內(nèi)容保持一致。

效果如下:

2.編寫表單校驗規(guī)則

看下效果:

3.登錄觸發(fā)表單預(yù)驗證

這里利用Element Plus的form中的validate方法對整個表單進(jìn)校驗。
這個表單節(jié)點叫做ruleFormRef,由于setup中是沒有this的,我們不能像Vue2中,通過this.$refs.xxx來獲取節(jié)點。我們?nèi)etup中利用ref再重新定義一個相同名稱的變量就可以,然后,它們就會自動關(guān)聯(lián)起來。

點擊登錄就觸發(fā)校驗:

點擊登錄按鈕驗證一下:

4.Mock.js模擬登錄請求

關(guān)于Mock.js的使用,可以看一下之前記錄的博客Mock.js學(xué)習(xí)。在Mock.js中模擬一個post請求,第一個參數(shù)是攔截的請求路徑,第二個參數(shù)是攔截的請求方式,第三個參數(shù)是攔截之后的處理邏輯,回調(diào)函數(shù)中params就是請求體攜帶的參數(shù)。

然后在mock登錄請求中限制一下用戶名和密碼,兩者輸入正確才能獲取到token。token值利用Mock隨機(jī)函數(shù)中來生成。

5.Vue3引入使用axios

安裝axios,輸入如下命令即可:

npm install axios --save

在Vue3中按照了之前Vue2的寫法進(jìn)行引入掛載全局,會出現(xiàn)報錯。

Vue3的寫法如下:

直接在登錄頁面上引入axios,導(dǎo)入axios就可以直接使用啦~

然后調(diào)用一下Mock.js模擬的post登錄請求:

驗證一下:
輸入正確的賬號和密碼,就可以獲取到請求返回的數(shù)據(jù),并且拿到token。

輸入錯誤的賬號密碼,就不會返回token值了。

注意:mock只是模擬數(shù)據(jù),不會在network中顯示,只有真實的請求才會在network中顯示。

登錄成功,跳轉(zhuǎn)到首頁即可。

router.push("/home");

二、面試題

1.前端登錄流程

① 在登錄頁點擊”登錄“,前端會帶著用戶名和密碼去調(diào)用后端的登錄接口請求登錄;
② 后端收到請求后,會驗證用戶名和密碼,如果驗證失敗,會返回相關(guān)的錯誤信息,前端提示相應(yīng)錯誤信息;如果驗證成功,就會生成當(dāng)前用戶所對應(yīng)的一個token值,并返回前端token;
③ 前端拿到token之后,將token存儲起來(可以存儲在localStorage、sessionStorage、cookie、vuex中),并跳轉(zhuǎn)頁面即登錄成功;
④ 前端每一次向后端請求資源的時候都要攜帶后端簽發(fā)的token。如果前端在發(fā)起下一次請求時攜帶了token,那么服務(wù)器就會根據(jù)提交的token值去驗證你是哪個用戶,從而根據(jù)你的操作去返回不同的結(jié)果;
⑤ 最后,在向后端發(fā)送其他請求時,我們一般需要在請求頭中帶上這個token值,在項目中我們通常把它封裝在一個請求攔截器中,后端判斷請求頭中有無該token,有則驗證該token,驗證成功就會正常地返回數(shù)據(jù),驗證失敗,比如過期,就會返回相應(yīng)的錯誤碼,前端拿到相關(guān)錯誤信息清除token,并且再回退到登錄頁。

2.token是什么?

token的意思是令牌,是用戶第一次登錄時,服務(wù)器生成的一段加密字符串,然后返回給客戶端。
客戶端每次向服務(wù)器請求資源的時候,只需要帶上token去請求數(shù)據(jù)就行,不用再帶著用戶名和密碼去請求,服務(wù)器直接解密token,就可以知道用戶的相關(guān)信息。由于基本所有請求都需要攜帶toke,我們可以在請求攔截器中統(tǒng)一封裝,讓每個請求都能帶上token。

到此這篇關(guān)于Vue3+axios+Mock.js實現(xiàn)登錄功能的示例代碼的文章就介紹到這了,更多相關(guān)Vue3 axios Mock.js登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vite中Rollup打包的實現(xiàn)

    Vite中Rollup打包的實現(xiàn)

    Rollup是一個JavaScript模塊打包器,它可以將多個小的JavaScript 模塊打包成一個大的模塊,本文主要介紹了Vite中Rollup打包的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • Vue使用Element折疊面板Collapse如何設(shè)置默認(rèn)全部展開

    Vue使用Element折疊面板Collapse如何設(shè)置默認(rèn)全部展開

    這篇文章主要介紹了Vue使用Element折疊面板Collapse如何設(shè)置默認(rèn)全部展開,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue設(shè)置瀏覽器小圖標(biāo)(ICON)的詳細(xì)步驟

    Vue設(shè)置瀏覽器小圖標(biāo)(ICON)的詳細(xì)步驟

    vue中網(wǎng)頁圖標(biāo)默認(rèn)使用的是vue自帶的一個icon的圖標(biāo),也是vue的logo,下面這篇文章主要給大家介紹了關(guān)于Vue設(shè)置瀏覽器小圖標(biāo)(ICON)的詳細(xì)步驟,需要的朋友可以參考下
    2023-01-01
  • vue組件間通信六種方式(總結(jié)篇)

    vue組件間通信六種方式(總結(jié)篇)

    組件是 vue.js最強(qiáng)大的功能之一,而組件實例的作用域是相互獨立的,這就意味著不同組件之間的數(shù)據(jù)無法相互引用。這篇文章主要介紹了vue組件間通信六種方式,需要的朋友可以參考下
    2019-05-05
  • Vue.js@2.6.10更新內(nèi)置錯誤處機(jī)制Fundebug同步支持相應(yīng)錯誤監(jiān)控

    Vue.js@2.6.10更新內(nèi)置錯誤處機(jī)制Fundebug同步支持相應(yīng)錯誤監(jiān)控

    這篇文章主要介紹了Vue.js@2.6.10更新內(nèi)置錯誤處機(jī)制,F(xiàn)undebug同步支持相應(yīng)錯誤監(jiān)控 ,需要的朋友可以參考下
    2019-05-05
  • Vue3封裝全局Dialog組件的實現(xiàn)方法

    Vue3封裝全局Dialog組件的實現(xiàn)方法

    3封裝全局Dialog組件相信大家都不陌生,下面這篇文章主要給大家介紹了關(guān)于Vue3封裝全局Dialog組件的實現(xiàn)方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • vue異步更新dom的實現(xiàn)淺析

    vue異步更新dom的實現(xiàn)淺析

    Vue中的數(shù)據(jù)更新是異步的,意味著我們在修改完Data之后并不能立刻獲取修改后的DOM元素。本文介紹了vue異步更新dom的實現(xiàn),感興趣的小伙伴們可以參考一下
    2021-07-07
  • Vue中的事件處理詳情

    Vue中的事件處理詳情

    這篇文章主要介紹了Vue中的事件處理詳情,文章通過給按鈕綁定一個?click?事件展開詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Vant實現(xiàn)上傳多個圖片或視頻,更改視頻預(yù)覽圖

    Vant實現(xiàn)上傳多個圖片或視頻,更改視頻預(yù)覽圖

    這篇文章主要介紹了Vant實現(xiàn)上傳多個圖片或視頻,更改視頻預(yù)覽圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 集成vue到j(luò)query/bootstrap項目的方法

    集成vue到j(luò)query/bootstrap項目的方法

    下面小編就為大家分享一篇集成vue到j(luò)query/bootstrap項目的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02

最新評論

息烽县| 贞丰县| 涪陵区| 申扎县| 灵台县| 葫芦岛市| 云林县| 嘉兴市| 福安市| 岑溪市| 德江县| 咸丰县| 郴州市| 金溪县| 封丘县| 寻乌县| 东阳市| 滦南县| 娱乐| 长海县| 葵青区| 榆中县| 库车县| 贵阳市| 福清市| 东台市| 赞皇县| 尼玛县| 双辽市| 杂多县| 盐边县| 博爱县| 云阳县| 五常市| 崇信县| 元谋县| 上栗县| 武乡县| 商城县| 内乡县| 东乡县|