vue-admin-template框架搭建及應(yīng)用小結(jié)
一、框架介紹
vue-admin-template是基于vue-element-admin的一套后臺(tái)管理系統(tǒng)基礎(chǔ)模板(最少精簡(jiǎn)版),可作為模板進(jìn)行二次開發(fā);
可以把 vue-element-admin當(dāng)做工具箱或者集成方案?jìng)}庫(kù),在 vue-admin-template 的基礎(chǔ)上進(jìn)行二次開發(fā),想要什么功能或者組件就去 vue-element-admin 那里復(fù)制過(guò)來(lái)地址:vue-element-admin
二、框架目錄結(jié)構(gòu)介紹
三、文件夾分析
1、views:視圖文件夾 ,新建一個(gè)vue頁(yè)面,會(huì)有三個(gè)組成部分:template=>相當(dāng)與html頁(yè)面,里面寫div,ui組件等;script=>jquery; style=>頁(yè)面的css樣式
2、api: 向后端發(fā)送http請(qǐng)求,使用的是 /utils/request 里面的內(nèi)容
可以指定請(qǐng)求的路徑、類型、請(qǐng)求參數(shù)、請(qǐng)求體參數(shù)
3、utils/request.js:
主要作用
1、引入要調(diào)用的模塊以及創(chuàng)建一個(gè)axios實(shí)例,其中有url已經(jīng)請(qǐng)求超時(shí)的設(shè)置
2、創(chuàng)建一個(gè)請(qǐng)求攔截器:
作用:在請(qǐng)求發(fā)送前進(jìn)行一些操作,例如在每個(gè)請(qǐng)求體里加上token,統(tǒng)一做了處理如果以后要改也非常容易
store.getters.token 首先從全局狀態(tài)管理那里判斷 token , 有的話就可以請(qǐng)求, 否則就拋出異常
3、創(chuàng)建一個(gè)響應(yīng)攔截器:
作用:在接收到響應(yīng)后再進(jìn)行一些操作,例如在服務(wù)器返回登錄狀態(tài)失效的時(shí)候,需要重登錄,跳轉(zhuǎn)到登錄頁(yè)面
4、/store:
State提供唯一的公共數(shù)據(jù)源,所有共享的數(shù)據(jù)都要統(tǒng)一放到Store中的State中存儲(chǔ);
? Mutation用于修改變更$store中的數(shù)據(jù);
在mutations中不能編寫異步的代碼,會(huì)導(dǎo)致vue調(diào)試器的顯示出錯(cuò)。在vuex中我們可以使用Action來(lái)執(zhí)行異步操作;
Getter用于對(duì)Store中的數(shù)據(jù)進(jìn)行加工處理形成新的數(shù)據(jù);
它只會(huì)包裝Store中保存的數(shù)據(jù),并不會(huì)修改Store中保存的數(shù)據(jù),當(dāng)Store中的數(shù)據(jù)發(fā)生變化時(shí),Getter生成的內(nèi)容也會(huì)隨之變化;
token的獲取:
文件地址:store/modules/user.js
login 方法, 首先 傳入 {commit} 以及在方法中 commit(‘SET_TOKEN’, data.token) 這兩個(gè)的作用是執(zhí)行 action 中異步方法的簡(jiǎn)寫, 組用就是設(shè)置 token 的值, 我們知道修改 store中的數(shù)據(jù)需要使用 Mutation 就是會(huì)調(diào)用上面的 SET_TOKEN 把 后端返回的token 保存到vuex中, 并且使用 setToken(data.token) 方法把 token寫入到 cookie中 以便我們每次請(qǐng)求都可以帶上這個(gè) cookie , 并且能夠解析出當(dāng)前登錄的用戶
5、main.js:入口文件
掛載路由、store、axios等
6、router:
路由
使用vue router的第一步是需要一個(gè)路由表、以及把路由表加載到路由實(shí)例中, 最后把路由實(shí)例導(dǎo)出
兩類:
constantRoutes:如首頁(yè)和登錄頁(yè)和一些不用權(quán)限的公用頁(yè)面
asyncRoutes :異步掛載的路由 #動(dòng)態(tài)需要根據(jù)權(quán)限加載的路由表
路由的屬性:
path : 訪問(wèn)的路徑
component : 此路由對(duì)于的組件
hidden : 是否在界面顯示此路由
meta : 設(shè)置路由的屬性, 圖標(biāo)之類的
name : 路由名字
children : 該路由下的子路由, 效果就是二級(jí)菜單
7、permission.js:
配合路由使用的, 對(duì)于vue router 而言它還附帶了一些其他的信息, 比如路由守衛(wèi), 在路由守衛(wèi)中我們可以在路由跳轉(zhuǎn)之前來(lái)做一些事情的
1、首先判斷是否有token
2、沒有token , 如果在白名單里面, 就直接放行, 否則就直接強(qiáng)制跳轉(zhuǎn)登錄。
3、有token , 如果是 /login 就就直接到 根目錄下
4、不是 /login 就去 store 里面找 當(dāng)前用戶的信息, 然后在放行
登錄的流程:
登錄頁(yè)面的請(qǐng)求
/store/modules/user.js:
這里會(huì)得到輸入的用戶名以及密碼。 并且執(zhí)行 login 方法, 把返回的token , 保存到 vuex、cookie 中(在路由守衛(wèi)中 / login 是白名單會(huì)直接放行、axios 的請(qǐng)求攔截中 添加的是一個(gè)空值)
到此這篇關(guān)于vue-admin-template框架搭建及應(yīng)用的文章就介紹到這了,更多相關(guān)vue-admin-template框架內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue-admin-template?添加、跳轉(zhuǎn)子頁(yè)面問(wèn)題
- Vue-admin-template?報(bào)Uncaught?(in?promise)?error問(wèn)題及解決
- vue-admin-template解決登錄和跨域問(wèn)題解決
- 關(guān)于vue-admin-template模板連接后端改造登錄功能
- vue-admin-template模板添加tagsview的實(shí)現(xiàn)
- vue-admin-template?動(dòng)態(tài)路由的實(shí)現(xiàn)示例
- vue-admin-template配置快捷導(dǎo)航的代碼(標(biāo)簽導(dǎo)航欄)
- 詳解使用vue-admin-template的優(yōu)化歷程
相關(guān)文章
vue打印的對(duì)象在瀏覽器中顯示的問(wèn)題分析
因?yàn)樵趘ue中對(duì)象都是用了代理重寫了get,由于get重寫也就導(dǎo)致了瀏覽器不能直接獲取到具體的值,因此才會(huì)在打印的時(shí)候?yàn)?..,手動(dòng)點(diǎn)擊展開才顯示具體的值,這篇文章主要介紹了為什么vue打印的對(duì)象在瀏覽器中顯示,需要的朋友可以參考下2024-04-04vue打包terser壓縮去除控制臺(tái)打印和斷點(diǎn)過(guò)程
這篇文章主要介紹了vue打包terser壓縮去除控制臺(tái)打印和斷點(diǎn)過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07如何在Vue.js項(xiàng)目中使用Jest進(jìn)行單元測(cè)試
在眾多測(cè)試框架中,Jest?因其易用性、強(qiáng)大功能以及與?Vue.js?的良好兼容性,成為了許多開發(fā)者的首選,本文將詳細(xì)介紹如何在?Vue.js?項(xiàng)目中使用?Jest?進(jìn)行單元測(cè)試,需要的可以參考下2024-11-11Vue2集成Lodop插件實(shí)現(xiàn)在線打印功能
這篇文章主要為大家詳細(xì)介紹了Vue2如何集成Lodop插件實(shí)現(xiàn)在線打印功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03vue3+ts封裝axios實(shí)例以及解決跨域問(wèn)題
在前端開發(fā)中,使用axios進(jìn)行數(shù)據(jù)請(qǐng)求是常見的做法,封裝axios可以統(tǒng)一請(qǐng)求頭處理、方便接口管理、配置多攔截器等,提高代碼的可維護(hù)性和重用性,本文詳細(xì)記錄了axios的封裝過(guò)程,包括安裝、配置跨域處理、接口管理文件的創(chuàng)建等2024-09-09Element?UI?Upload?組件上傳圖片可刪除、預(yù)覽功能
這篇文章主要介紹了Element?UI?Upload?組件?上傳圖片可刪除、預(yù)覽,設(shè)置只允許上傳單張?/?多張圖片的操作,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Vue3 + MybatisPlus實(shí)現(xiàn)批量刪除功能(詳細(xì)代碼)
這篇文章主要介紹了Vue3 + MybatisPlus實(shí)現(xiàn)批量刪除功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03