xiaoxian521
3 years ago
42 changed files with 565 additions and 440 deletions
-
11.vscode/extensions.json
-
27.vscode/settings.json
-
0.vscode/vue3.0.code-snippets.json
-
17.vscode/vue3.2+.setup-snippets.json
-
20.vscode/vue3.2.setup-snippets
-
104index.html
-
12mock/asyncRoutes.ts
-
6package.json
-
27pnpm-lock.yaml
-
6public/serverConfig.json
-
20src/layout/components/appMain.vue
-
35src/layout/components/navbar.vue
-
4src/layout/components/screenfull/index.vue
-
95src/layout/components/setting/index.vue
-
2src/layout/components/sidebar/breadCrumb.vue
-
34src/layout/components/sidebar/horizontal.vue
-
84src/layout/components/sidebar/sidebarItem.vue
-
6src/layout/components/sidebar/vertical.vue
-
1src/layout/components/tag/index.scss
-
50src/layout/components/tag/index.vue
-
18src/layout/index.vue
-
4src/layout/types.ts
-
22src/plugins/element-plus/index.ts
-
98src/plugins/i18n/config.ts
-
21src/plugins/i18n/en/buttons.ts
-
38src/plugins/i18n/en/menus.ts
-
55src/plugins/i18n/index.ts
-
21src/plugins/i18n/zh-CN/buttons.ts
-
38src/plugins/i18n/zh-CN/menus.ts
-
3src/router/index.ts
-
7src/router/modules/error.ts
-
5src/router/modules/externalLink.ts
-
4src/router/modules/home.ts
-
5src/router/modules/remaining.ts
-
6src/router/utils.ts
-
18src/store/modules/app.ts
-
9src/store/modules/epTheme.ts
-
8src/store/modules/multiTags.ts
-
4src/store/modules/user.ts
-
12src/utils/storage/responsive.ts
-
4types/global.d.ts
@ -0,0 +1,11 @@ |
|||||
|
{ |
||||
|
"recommendations": [ |
||||
|
"stylelint.vscode-stylelint", |
||||
|
"dbaeumer.vscode-eslint", |
||||
|
"esbenp.prettier-vscode", |
||||
|
"johnsoncodehk.volar", |
||||
|
"lokalise.i18n-ally", |
||||
|
"mikestead.dotenv", |
||||
|
"antfu.iconify" |
||||
|
] |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
{ |
||||
|
"Vue3.2+快速生成模板": { |
||||
|
"prefix": "Vue3.2+", |
||||
|
"body": [ |
||||
|
"<script setup lang='ts'>", |
||||
|
"</script>\n", |
||||
|
"<template>", |
||||
|
"\t<div>\n", |
||||
|
"\t</div>", |
||||
|
"</template>\n", |
||||
|
"<style scoped>\n", |
||||
|
"</style>", |
||||
|
"$2" |
||||
|
], |
||||
|
"description": "Vue3.2+" |
||||
|
} |
||||
|
} |
@ -1,20 +0,0 @@ |
|||||
{ |
|
||||
"Vue3.2快速生成模板": { |
|
||||
"prefix": "Vue3.2", |
|
||||
"body": [ |
|
||||
"<!-- $1 -->", |
|
||||
"<script setup lang='ts'>", |
|
||||
"\t$2", |
|
||||
"</script>\n", |
|
||||
"<template>", |
|
||||
"\t<div>", |
|
||||
"\t\t$3", |
|
||||
"\t</div>", |
|
||||
"</template>\n", |
|
||||
"<style scoped>", |
|
||||
"\t$4", |
|
||||
"</style>" |
|
||||
], |
|
||||
"description": "Vue3.2" |
|
||||
} |
|
||||
} |
|
@ -32,7 +32,7 @@ specifiers: |
|||||
cross-env: 7.0.3 |
cross-env: 7.0.3 |
||||
css-color-function: ^1.3.3 |
css-color-function: ^1.3.3 |
||||
dayjs: ^1.10.7 |
dayjs: ^1.10.7 |
||||
element-plus: 1.2.0-beta.6 |
|
||||
|
element-plus: 1.3.0-beta.1 |
||||
element-resize-detector: ^1.2.3 |
element-resize-detector: ^1.2.3 |
||||
eslint: 7.30.0 |
eslint: 7.30.0 |
||||
eslint-plugin-prettier: 3.4.0 |
eslint-plugin-prettier: 3.4.0 |
||||
@ -88,7 +88,7 @@ dependencies: |
|||||
axios: 0.21.4 |
axios: 0.21.4 |
||||
css-color-function: 1.3.3 |
css-color-function: 1.3.3 |
||||
dayjs: 1.10.7 |
dayjs: 1.10.7 |
||||
element-plus: 1.2.0-beta.6[email protected] |
|
||||
|
element-plus: 1.3.0-beta.1[email protected] |
||||
element-resize-detector: 1.2.3 |
element-resize-detector: 1.2.3 |
||||
font-awesome: 4.7.0 |
font-awesome: 4.7.0 |
||||
js-cookie: 3.0.1 |
js-cookie: 3.0.1 |
||||
@ -938,10 +938,10 @@ packages: |
|||||
fastq: 1.13.0 |
fastq: 1.13.0 |
||||
dev: true |
dev: true |
||||
|
|
||||
/@popperjs/core/2.11.0: |
|
||||
|
/@popperjs/core/2.11.2: |
||||
resolution: |
resolution: |
||||
{ |
{ |
||||
integrity: sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ== |
|
||||
|
integrity: sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA== |
||||
} |
} |
||||
dev: false |
dev: false |
||||
|
|
||||
@ -1514,10 +1514,10 @@ packages: |
|||||
vue-demi: 0.12[email protected] |
vue-demi: 0.12[email protected] |
||||
dev: false |
dev: false |
||||
|
|
||||
/@vueuse/core/7.2.2[email protected]: |
|
||||
|
/@vueuse/core/7.5.1[email protected]: |
||||
resolution: |
resolution: |
||||
{ |
{ |
||||
integrity: sha512-T9oksrPflNhsgG/Y/7IeCSmITPZ0VKDnTpK8y7SQl4ZIdLIL8L7fJyhJEgSMWyo497j/XK3RKFkOTh4GFTVeIQ== |
|
||||
|
integrity: sha512-GczfdTWqH483zkUHdDYiLm0Tn51OtsQXYc+eBKKIeolh0mgn682KbSYmkrjNytaF7qGc74YxMDAYjkPBW6V2Pg== |
||||
} |
} |
||||
peerDependencies: |
peerDependencies: |
||||
"@vue/composition-api": ^1.1.0 |
"@vue/composition-api": ^1.1.0 |
||||
@ -1528,7 +1528,7 @@ packages: |
|||||
vue: |
vue: |
||||
optional: true |
optional: true |
||||
dependencies: |
dependencies: |
||||
"@vueuse/shared": 7.2.2[email protected] |
|
||||
|
"@vueuse/shared": 7.5.1[email protected] |
||||
vue: 3.2.24 |
vue: 3.2.24 |
||||
vue-demi: 0.12[email protected] |
vue-demi: 0.12[email protected] |
||||
dev: false |
dev: false |
||||
@ -1569,10 +1569,10 @@ packages: |
|||||
vue-demi: 0.12[email protected] |
vue-demi: 0.12[email protected] |
||||
dev: false |
dev: false |
||||
|
|
||||
/@vueuse/shared/7.2.2[email protected]: |
|
||||
|
/@vueuse/shared/7.5.1[email protected]: |
||||
resolution: |
resolution: |
||||
{ |
{ |
||||
integrity: sha512-9vevEvvQgx4snSrDfZ5BFd7FmlIl9rwTtr8ySzPZhZQslx6lbcsXK3Q97I06Fv8S2TedR//X9fn2QbNtbFmdog== |
|
||||
|
integrity: sha512-zMQEuYJyTmr5Hj2rYgSbb4H/cSI8mdaa9dUuw20j6rPV+xLV11y7vCyIkxo31uODDr0p77FMlProKzNDiK9rAA== |
||||
} |
} |
||||
peerDependencies: |
peerDependencies: |
||||
"@vue/composition-api": ^1.1.0 |
"@vue/composition-api": ^1.1.0 |
||||
@ -2831,17 +2831,18 @@ packages: |
|||||
} |
} |
||||
dev: true |
dev: true |
||||
|
|
||||
/element-plus/1.2.0-beta.6[email protected]: |
|
||||
|
/element-plus/1.3.0-beta.1[email protected]: |
||||
resolution: |
resolution: |
||||
{ |
{ |
||||
integrity: sha512-8EdSIR/5/FHcSB8w1diAh+gJMHgxIvxuZoayY99k6taAR1QyEFHuPTgFccZLopJ1+iP4UEsZFz49l57qS08Utw== |
|
||||
|
integrity: sha512-q3vMaKElPpuSTeIF7kuDmMOE+N1YVCCIG3fshXpz6qgjnxPbgZumVM0qGfhr8DTu9JxRbBoDok49dqtX/BWn3w== |
||||
} |
} |
||||
peerDependencies: |
peerDependencies: |
||||
vue: ^3.2.0 |
vue: ^3.2.0 |
||||
dependencies: |
dependencies: |
||||
|
"@ctrl/tinycolor": 3.4.0 |
||||
"@element-plus/icons-vue": 0.2[email protected] |
"@element-plus/icons-vue": 0.2[email protected] |
||||
"@popperjs/core": 2.11.0 |
|
||||
"@vueuse/core": 7.2.2[email protected] |
|
||||
|
"@popperjs/core": 2.11.2 |
||||
|
"@vueuse/core": 7.5.1[email protected] |
||||
async-validator: 4.0.7 |
async-validator: 4.0.7 |
||||
dayjs: 1.10.7 |
dayjs: 1.10.7 |
||||
lodash: 4.17.21 |
lodash: 4.17.21 |
||||
|
@ -1,104 +1,20 @@ |
|||||
|
import { siphonI18n } from "./index"; |
||||
|
|
||||
// element-plus国际化
|
// element-plus国际化
|
||||
import enLocale from "element-plus/lib/locale/lang/en"; |
import enLocale from "element-plus/lib/locale/lang/en"; |
||||
import zhLocale from "element-plus/lib/locale/lang/zh-cn"; |
import zhLocale from "element-plus/lib/locale/lang/zh-cn"; |
||||
|
|
||||
// 导航菜单配置
|
|
||||
export const menusConfig = { |
|
||||
zh: { |
|
||||
message: { |
|
||||
hshome: "首页", |
|
||||
hserror: "错误页面", |
|
||||
hsfourZeroFour: "404", |
|
||||
hsfourZeroOne: "401", |
|
||||
permission: "权限管理", |
|
||||
permissionPage: "页面权限", |
|
||||
permissionButton: "按钮权限", |
|
||||
externalLink: "外链" |
|
||||
} |
|
||||
}, |
|
||||
en: { |
|
||||
message: { |
|
||||
hshome: "Home", |
|
||||
hserror: "Error Page", |
|
||||
hsfourZeroFour: "404", |
|
||||
hsfourZeroOne: "401", |
|
||||
permission: "Permission Manage", |
|
||||
permissionPage: "Page Permission", |
|
||||
permissionButton: "Button Permission", |
|
||||
externalLink: "External Link" |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// 按钮配置
|
|
||||
export const buttonConfig = { |
|
||||
zh: { |
|
||||
message: { |
|
||||
hsLoginOut: "退出系统", |
|
||||
hsfullscreen: "全屏", |
|
||||
hsexitfullscreen: "退出全屏", |
|
||||
hsrefreshRoute: "刷新路由", |
|
||||
hslogin: "登陆", |
|
||||
hsadd: "新增", |
|
||||
hsmark: "标记/取消", |
|
||||
hssave: "保存", |
|
||||
hssearch: "搜索", |
|
||||
hsexpendAll: "全部展开", |
|
||||
hscollapseAll: "全部折叠", |
|
||||
hssystemSet: "打开项目配置", |
|
||||
hsdelete: "删除", |
|
||||
hsreload: "重新加载", |
|
||||
hscloseCurrentTab: "关闭当前标签页", |
|
||||
hscloseLeftTabs: "关闭左侧标签页", |
|
||||
hscloseRightTabs: "关闭右侧标签页", |
|
||||
hscloseOtherTabs: "关闭其他标签页", |
|
||||
hscloseAllTabs: "关闭全部标签页" |
|
||||
} |
|
||||
}, |
|
||||
en: { |
|
||||
message: { |
|
||||
hsLoginOut: "loginOut", |
|
||||
hsfullscreen: "fullScreen", |
|
||||
hsexitfullscreen: "exitFullscreen", |
|
||||
hsrefreshRoute: "refreshRoute", |
|
||||
hslogin: "login", |
|
||||
hsadd: "Add", |
|
||||
hsmark: "Mark/Cancel", |
|
||||
hssave: "Save", |
|
||||
hssearch: "Search", |
|
||||
hsexpendAll: "Expand All", |
|
||||
hscollapseAll: "Collapse All", |
|
||||
hssystemSet: "Open ProjectConfig", |
|
||||
hsdelete: "Delete", |
|
||||
hsreload: "Reload", |
|
||||
hscloseCurrentTab: "Close CurrentTab", |
|
||||
hscloseLeftTabs: "Close LeftTabs", |
|
||||
hscloseRightTabs: "Close RightTabs", |
|
||||
hscloseOtherTabs: "Close OtherTabs", |
|
||||
hscloseAllTabs: "Close AllTabs" |
|
||||
} |
|
||||
} |
|
||||
}; |
|
||||
|
|
||||
// 配置
|
|
||||
// export const xxxx = {
|
|
||||
// zh: {
|
|
||||
// message: {},
|
|
||||
// },
|
|
||||
// en: {
|
|
||||
// message: {},
|
|
||||
// },
|
|
||||
// };
|
|
||||
|
|
||||
const localesList = [menusConfig, buttonConfig]; |
|
||||
|
// 项目内自定义国际化
|
||||
|
const zhModules = import.meta.globEager("./zh-CN/**/*.ts"); |
||||
|
const enModules = import.meta.globEager("./en/**/*.ts"); |
||||
|
|
||||
export const localesConfigs = { |
export const localesConfigs = { |
||||
zh: { |
zh: { |
||||
message: Object.assign({}, ...localesList.map(v => v.zh.message)), |
|
||||
|
...siphonI18n(zhModules, "zh-CN"), |
||||
...zhLocale |
...zhLocale |
||||
}, |
}, |
||||
en: { |
en: { |
||||
message: Object.assign({}, ...localesList.map(v => v.en.message)), |
|
||||
|
...siphonI18n(enModules, "en"), |
||||
...enLocale |
...enLocale |
||||
} |
} |
||||
}; |
}; |
@ -0,0 +1,21 @@ |
|||||
|
export default { |
||||
|
hsLoginOut: "LoginOut", |
||||
|
hsfullscreen: "FullScreen", |
||||
|
hsexitfullscreen: "ExitFullscreen", |
||||
|
hsrefreshRoute: "RefreshRoute", |
||||
|
hslogin: "Login", |
||||
|
hsadd: "Add", |
||||
|
hsmark: "Mark/Cancel", |
||||
|
hssave: "Save", |
||||
|
hssearch: "Search", |
||||
|
hsexpendAll: "Expand All", |
||||
|
hscollapseAll: "Collapse All", |
||||
|
hssystemSet: "Open ProjectConfig", |
||||
|
hsdelete: "Delete", |
||||
|
hsreload: "Reload", |
||||
|
hscloseCurrentTab: "Close CurrentTab", |
||||
|
hscloseLeftTabs: "Close LeftTabs", |
||||
|
hscloseRightTabs: "Close RightTabs", |
||||
|
hscloseOtherTabs: "Close OtherTabs", |
||||
|
hscloseAllTabs: "Close AllTabs" |
||||
|
}; |
@ -0,0 +1,38 @@ |
|||||
|
export default { |
||||
|
hshome: "Home", |
||||
|
hslogin: "Login", |
||||
|
hssysManagement: "System Manage", |
||||
|
hsBaseinfo: "Base Info", |
||||
|
hsDict: "Dict Manage", |
||||
|
hseditor: "Editor", |
||||
|
hserror: "Error Page", |
||||
|
hsfourZeroFour: "404", |
||||
|
hsfourZeroOne: "401", |
||||
|
hscomponents: "Components", |
||||
|
hsvideo: "Video Components", |
||||
|
hsmap: "Map Components", |
||||
|
hsdraggable: "Draggable Components", |
||||
|
hssplitPane: "Split Pane", |
||||
|
hsbutton: "Button Components", |
||||
|
hscropping: "Picture Cropping", |
||||
|
hscountTo: "Digital Animation", |
||||
|
hsselector: "Selector Components", |
||||
|
hsflowChart: "Flow Chart", |
||||
|
hsseamless: "Seamless Scroll", |
||||
|
hscontextmenu: "Context Menu", |
||||
|
hsmenus: "MultiLevel Menu", |
||||
|
hsmenu1: "Menu1", |
||||
|
"hsmenu1-1": "Menu1-1", |
||||
|
"hsmenu1-2": "Menu1-2", |
||||
|
"hsmenu1-2-1": "Menu1-2-1", |
||||
|
"hsmenu1-2-2": "Menu1-2-2", |
||||
|
"hsmenu1-3": "Menu1-3", |
||||
|
hsmenu2: "Menu2", |
||||
|
permission: "Permission Manage", |
||||
|
permissionPage: "Page Permission", |
||||
|
permissionButton: "Button Permission", |
||||
|
hstabs: "Tabs Operate", |
||||
|
hsMenuTree: "Menu Tree", |
||||
|
hsguide: "Guide", |
||||
|
externalLink: "External Link" |
||||
|
}; |
@ -0,0 +1,21 @@ |
|||||
|
export default { |
||||
|
hsLoginOut: "退出系统", |
||||
|
hsfullscreen: "全屏", |
||||
|
hsexitfullscreen: "退出全屏", |
||||
|
hsrefreshRoute: "刷新路由", |
||||
|
hslogin: "登陆", |
||||
|
hsadd: "新增", |
||||
|
hsmark: "标记/取消", |
||||
|
hssave: "保存", |
||||
|
hssearch: "搜索", |
||||
|
hsexpendAll: "全部展开", |
||||
|
hscollapseAll: "全部折叠", |
||||
|
hssystemSet: "打开项目配置", |
||||
|
hsdelete: "删除", |
||||
|
hsreload: "重新加载", |
||||
|
hscloseCurrentTab: "关闭当前标签页", |
||||
|
hscloseLeftTabs: "关闭左侧标签页", |
||||
|
hscloseRightTabs: "关闭右侧标签页", |
||||
|
hscloseOtherTabs: "关闭其他标签页", |
||||
|
hscloseAllTabs: "关闭全部标签页" |
||||
|
}; |
@ -0,0 +1,38 @@ |
|||||
|
export default { |
||||
|
hshome: "首页", |
||||
|
hslogin: "登陆", |
||||
|
hssysManagement: "系统管理", |
||||
|
hsBaseinfo: "基础信息", |
||||
|
hsDict: "字典管理", |
||||
|
hseditor: "编辑器", |
||||
|
hserror: "错误页面", |
||||
|
hsfourZeroFour: "404", |
||||
|
hsfourZeroOne: "401", |
||||
|
hscomponents: "组件", |
||||
|
hsvideo: "视频组件", |
||||
|
hsmap: "地图组件", |
||||
|
hsdraggable: "拖拽组件", |
||||
|
hssplitPane: "切割面板", |
||||
|
hsbutton: "按钮组件", |
||||
|
hscropping: "图片裁剪", |
||||
|
hscountTo: "数字动画", |
||||
|
hsselector: "选择器组件", |
||||
|
hsflowChart: "流程图", |
||||
|
hsseamless: "无缝滚动", |
||||
|
hscontextmenu: "右键菜单", |
||||
|
hsmenus: "多级菜单", |
||||
|
hsmenu1: "菜单1", |
||||
|
"hsmenu1-1": "菜单1-1", |
||||
|
"hsmenu1-2": "菜单1-2", |
||||
|
"hsmenu1-2-1": "菜单1-2-1", |
||||
|
"hsmenu1-2-2": "菜单1-2-2", |
||||
|
"hsmenu1-3": "菜单1-3", |
||||
|
hsmenu2: "菜单2", |
||||
|
permission: "权限管理", |
||||
|
permissionPage: "页面权限", |
||||
|
permissionButton: "按钮权限", |
||||
|
hstabs: "标签页操作", |
||||
|
hsMenuTree: "菜单树结构", |
||||
|
hsguide: "引导页", |
||||
|
externalLink: "外链" |
||||
|
}; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue