前一段時間有給大家分享一個Electron+Vue3.x短視頻,今天再分享最新開發的Electron桌面端后臺系統。
vite2,electron12、element plus跨端后臺框架 vite2-admin vue3-admin electron-vadmin 支持電腦、平板響應式布局。
餓了么前端團隊出品的vue3桌面端UI組件庫。
安裝組件
npm i element-plus -S
快速使用
import { createApp } from 'vue'import ElementPlus from 'element-plus';import 'element-plus/lib/theme-chalk/index.css';import App from './App.vue';const app = createApp(App)app.use(ElementPlus)app.mount('#app')
<template> <WinBar zIndex="1000"> <template #wbtn> <MsgMenu /> <Lang /> <a title="換膚" @click="handleSkinWin"><i ></i></a> <Setting /> <a title="刷新" @click="handleRefresh"><i ></i></a> <a : :title="isAlwaysOnTop ? '取消置頂' : '置頂'" @click="handleAlwaysTop"><i ></i></a> <Avatar @logout="handleLogout" /> </template> </WinBar></template>
WinBar是頂部導航自定義組件,只需在具名插槽wbtn中使用相關標簽即可自定義頂部圖標內容。
import { createApp } from 'vue'import App from './App.vue'import Router from './router'import Store from './store'// 引入公共配置import gPlugins from './plugins'import { winCfg, loadWin } from './windows/actions'loadWin().then(config => { winCfg.window = config createApp(App).use(Router).use(Store).use(gPlugins).mount('#app')})
/** * 公共組件配置文件 * @author XiaoYan */// 引入公共樣式import "@/assets/fonts/iconfont.css"import "@/assets/css/common.scss"http:// 引入elementPlus組件庫import ELPlus from "element-plus"http:// 引入國際化配置import VueI18n, { elPlusLang, getLang } from './i18n'// 引入vue3自定義組件import V3Layer from '@/components/v3layer'import V3Scroll from '@/components/v3scroll'// 引入公共組件模板import WinBar from '@/components/winbar'import WinBtn from '@/components/winbar/winbtn.vue'import MacBtn from '@/components/winbar/macbtn.vue'import Icon from '@/components/Icon'import Utils from '@/utils'import ElUtil from './elUtil'const gPlugins = (app) => { app.use(ELPlus, { size: 'small', locale: elPlusLang[getLang()] }) app.use(VueI18n) app.use(V3Layer) app.use(V3Scroll) // 注冊公共組件 app.component('WinBar', WinBar) app.component('WinBtn', WinBtn) app.component('MacBtn', MacBtn) app.component('Icon', Icon) // 注入全局依賴 app.provide('utils', Utils) app.provide('elUtil', ElUtil)}
國際化方案使用的是vue-i18n插件。
新建一個locale目錄用來存放國際化語言配置。
/** * 國際化解決方案 * @author XiaoYan Q:282310962 */import { createI18n } from "vue-i18n"import Storage from "@/utils/storage"http:// 默認值export const langKey = 'lang'export const langVal = 'zh-CN'/* elementPlus國際化配置 */import enUS from "element-plus/lib/locale/lang/en"import zhCN from "element-plus/lib/locale/lang/zh-cn"import zhTW from "element-plus/lib/locale/lang/zh-tw"export const elPlusLang = { 'en-US': enUS, 'zh-CN': zhCN, 'zh-TW': zhTW,}/* 初始化多語言 */export const $messages = importAllLang()export const $lang = getLang()const i18n = createI18n({ legacy: false, locale: $lang, messages: $messages})/* 獲取語言 */export function getLang() { const lang = Storage.get(langKey) return lang || langVal}/** * 持久化存儲 * @param lang 語言類型 zh-CN / zh-TW / en-US */export function setLang(lang, reload = false) { if(getLang() !== lang) { Storage.set(langKey, lang || '') // 設置全局語言 // i18n.global.locale.value = lang // 重載頁面 if(reload) { window.location.reload() } }}/** * 自動化導入本地locale目錄下語言配置 */export function importAllLang() { const langModule = {} try { const localeCtx = require.context('@/locale', true, /([a-z]{2})-?([A-Z]{2})?.js$/) localeCtx.keys().map(path => { const pathCtx = localeCtx(path) if(pathCtx.default) { const pathName = path.replace(/(.*/)*([^.]+).*/ig, '$2') if(langModule[pathName]) { langModule[pathName] = { ...langModule[pathName], ...pathCtx.default } }else { langModule[pathName] = pathCtx.default } } }) } catch (error) { console.log(error) } return langModule}
新建一個layouts目錄,用來存放一些布局模板。整個項目分為頂部導航、側邊欄、中間路由菜單、右側主體內容
幾個模塊。
main布局模板
<template> <p :style="{'--themeSkin': store.state.skin}"> <p v-if="!route.meta.isNewin" > <!-- 頂部導航 --> <p > <TopNav /> </p> <p > <!-- 側邊欄 --> <p v-show="rootRouteEnable" > <SideMenu :routes="mainRoutes" :rootRoute="rootRoute" /> </p> <!-- 中間欄 --> <p :> <RouteMenu :routes="getAllRoutes" :rootRoute="rootRoute" :defaultActive="defaultActive" :rootRouteEnable="rootRouteEnable" /> </p> <!-- //右邊欄 --> <p > <!-- 面包屑 --> <BreadCrumb /> <v3-scroll autohide> <p > <permission :roles="route.meta.roles"> <template #tooltips> <Forbidden /> </template> <router-view></router-view> </permission> </p> </v3-scroll> </p> </p> </p> <router-view v-else ></router-view> </p></template>
行了,使用vite.js+electron開發前端后臺管理系統就先分享到這里。希望大家能喜歡哈~~
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
centos如何使用tracert命令?Linux和。;的dhclient命令用于自動獲取IP。當然,自動獲取IP是指通過DHCP獲取系統IP地址,可以連接到DHCP服務器(或者有DHCP功能的路由)。dhclient命令的用法是,該命令后跟網卡的接口名稱。例如,如果在輸入ifcongfig命令(該命令是查看網絡參數的命令)后網卡的接口名稱是eth0,那么重新獲得自動IP地址的命令是:dhcliw...
MacBook版word怎么簡轉繁?把不需要轉換的文字左鍵單擊,接著在word的“審閱”——“中文簡繁互換”里面點擊“繁轉簡”或“簡轉繁”即可繁體字怎么轉換簡體字?把文字圖片文件夾到Word文檔內,在快鍵工具里選擇簡繁轉化按鈕就可以不轉換的了word沒有審閱怎么繁轉簡?word沒有審閱繁轉簡方法:1、然后點擊【工具】菜單-【自定義】。2、在【自定義】對話框【命令】標簽頁下,先在左邊找不到并然后點擊...
什么p圖軟件可以把頭發弄黑點?那是這個PS軟件。就這個可以把頭發弄黑有一點的。把頭發部分選擇類型不出來加深可疊加過??赡軙诘?。求PS帝,把圖片周圍的暗色改成純黑?然后價格顏色疊加過白色的?或則是ctrlu畫筆工具,這幾樣都能變黑如何把一張黑白圖片反色?就是黑變白白變黑,具體點?需要應用濾鏡PS-濾鏡-濾鏡庫-素描-圖章數值也可以憑感覺給,我的是20/9前景色黑背景色白,你要想弄其他顏色也可以PS...