├── .editorconfig
├── src
├── icons
│ ├── common
│ │ ├── 404.svg
│ │ ├── zip.svg
│ │ ├── chart.svg
│ │ ├── size.svg
│ │ ├── link.svg
│ │ ├── guide.svg
│ │ ├── component.svg
│ │ ├── money.svg
│ │ ├── email.svg
│ │ ├── drag.svg
│ │ ├── documentation.svg
│ │ ├── fullscreen.svg
│ │ ├── user.svg
│ │ ├── lock.svg
│ │ ├── excel.svg
│ │ ├── example.svg
│ │ ├── star.svg
│ │ ├── table.svg
│ │ ├── search.svg
│ │ ├── password.svg
│ │ ├── education.svg
│ │ ├── tab.svg
│ │ ├── message.svg
│ │ ├── theme.svg
│ │ ├── peoples.svg
│ │ ├── edit.svg
│ │ ├── nested.svg
│ │ ├── tree-table.svg
│ │ ├── eye.svg
│ │ ├── clipboard.svg
│ │ ├── list.svg
│ │ ├── icon.svg
│ │ ├── international.svg
│ │ ├── hamburger.svg
│ │ ├── wechat.svg
│ │ ├── skill.svg
│ │ ├── people.svg
│ │ ├── language.svg
│ │ ├── eye-open.svg
│ │ ├── sidebar-logo.svg
│ │ ├── bug.svg
│ │ ├── demo.svg
│ │ ├── pdf.svg
│ │ ├── exit-fullscreen.svg
│ │ ├── tree.svg
│ │ ├── shopping.svg
│ │ ├── dashboard.svg
│ │ └── form.svg
│ ├── nav-bar
│ │ ├── link.svg
│ │ ├── user.svg
│ │ ├── example.svg
│ │ ├── table.svg
│ │ ├── password.svg
│ │ ├── nested.svg
│ │ ├── eye.svg
│ │ ├── eye-open.svg
│ │ ├── tree.svg
│ │ ├── theme-icon.svg
│ │ ├── dashboard.svg
│ │ └── form.svg
│ └── SvgIcon.vue
├── theme
│ ├── dark
│ │ ├── element-plus
│ │ │ ├── css-vars.css
│ │ │ ├── css-vars.css.map
│ │ │ ├── css-vars.scss
│ │ │ ├── redio.scss
│ │ │ ├── table.scss
│ │ │ ├── form.scss
│ │ │ ├── pagination.scss
│ │ │ ├── checkbox.scss
│ │ │ └── var.scss
│ │ ├── index.scss
│ │ └── custom
│ │ │ └── ct-css-vars.scss
│ ├── lighting
│ │ ├── element-plus
│ │ │ ├── css-vars.css
│ │ │ ├── css-vars.css.map
│ │ │ ├── css-vars.scss
│ │ │ ├── redio.scss
│ │ │ ├── table.scss
│ │ │ ├── form.scss
│ │ │ ├── pagination.scss
│ │ │ ├── checkbox.scss
│ │ │ └── var.scss
│ │ ├── index.scss
│ │ └── custom
│ │ │ └── ct-css-vars.scss
│ ├── utils
│ │ ├── index.ts
│ │ └── change-theme.ts
│ ├── mixins
│ │ ├── config.scss
│ │ ├── mixins.scss
│ │ ├── function.scss
│ │ └── _var.scss
│ ├── index.scss
│ ├── base
│ │ ├── index.scss
│ │ ├── element-plus
│ │ │ ├── css-vars.scss
│ │ │ ├── redio.scss
│ │ │ ├── table.scss
│ │ │ ├── form.scss
│ │ │ ├── pagination.scss
│ │ │ ├── checkbox.scss
│ │ │ └── var.scss
│ │ └── custom
│ │ │ └── ct-css-vars.scss
│ └── china-red
│ │ ├── index.scss
│ │ └── element-plus
│ │ ├── css-vars.scss
│ │ ├── redio.scss
│ │ ├── table.scss
│ │ ├── form.scss
│ │ ├── pagination.scss
│ │ ├── checkbox.scss
│ │ └── var.scss
├── utils
│ └── bus.ts
├── assets
│ ├── gif
│ │ └── dianchi.gif
│ ├── 401_images
│ │ └── 401.gif
│ └── 404_images
│ │ ├── 404.png
│ │ └── 404_cloud.png
├── views
│ ├── nested
│ │ ├── menu1
│ │ │ ├── menu1-3
│ │ │ │ └── index.vue
│ │ │ ├── menu1-2
│ │ │ │ ├── menu1-2-1
│ │ │ │ │ └── index.vue
│ │ │ │ ├── menu1-2-2
│ │ │ │ │ └── index.vue
│ │ │ │ └── index.vue
│ │ │ ├── index.vue
│ │ │ └── menu1-1
│ │ │ │ └── index.vue
│ │ └── menu2
│ │ │ └── index.vue
│ ├── basic-demo
│ │ ├── keep-alive
│ │ │ ├── third-children
│ │ │ │ ├── ThirdChildren.vue
│ │ │ │ └── SecondChildren.vue
│ │ │ ├── tab-keep-alive.vue
│ │ │ ├── third-keep-alive.vue
│ │ │ ├── third-child.vue
│ │ │ ├── second-child.vue
│ │ │ └── index.vue
│ │ ├── hook
│ │ │ └── index.vue
│ │ ├── mock
│ │ │ └── index.vue
│ │ ├── pinia
│ │ │ └── index.vue
│ │ ├── svg-icon
│ │ │ └── index.vue
│ │ ├── vue3-template
│ │ │ └── Vue3Template.vue
│ │ ├── parent-children
│ │ │ ├── SubChildren.vue
│ │ │ ├── index.vue
│ │ │ └── Children.vue
│ │ └── worker
│ │ │ └── index.vue
│ ├── redirect
│ │ └── index.tsx
│ ├── electron
│ │ ├── NotifyNetListen.vue
│ │ ├── NedbDemo.vue
│ │ ├── ElectronDemo.vue
│ │ └── ElectronDemoBak.vue
│ ├── setting-switch
│ │ ├── index.vue
│ │ └── SettingSwitch.vue
│ ├── dashboard
│ │ └── index.vue
│ └── error-page
│ │ └── 401.vue
├── styles
│ ├── reset-elemenet-plus-style.scss
│ ├── init-loading.css
│ ├── transition.scss
│ └── index.scss
├── components
│ ├── TestUnit.vue
│ └── ElSvgIcon.vue
├── lib
│ ├── element-plus.ts
│ └── el-svg-icon.ts
├── directives
│ ├── index.ts
│ ├── button-codes.ts
│ ├── codes-permission.ts
│ ├── roles-permission.ts
│ └── lang.ts
├── mock-prod-server.ts
├── lang
│ └── index.ts
├── layout
│ ├── sidebar
│ │ ├── MenuIcon.vue
│ │ ├── Link.vue
│ │ ├── index.vue
│ │ ├── Logo.vue
│ │ └── SidebarItem.vue
│ ├── app-main
│ │ └── Hamburger.vue
│ └── index.vue
├── api
│ └── system.ts
├── hooks
│ ├── use-self-router.ts
│ ├── use-layout.ts
│ ├── use-error-log.ts
│ └── use-common.ts
├── store
│ ├── config.ts
│ └── tags-view.ts
├── permission.ts
├── plugins
│ └── vite-plugin-setup-extend
│ │ └── index.ts
├── main.ts
├── router
│ └── modules
│ │ └── electron.ts
└── App.vue
├── .eslintignore
├── public
└── favicon.ico
├── electron
├── static
│ ├── empty.ico
│ ├── lover.png
│ └── favicon2.ico
├── renderer
│ └── renderer2.js
├── html
│ └── renderer2.html
├── main
│ ├── globalShortcut.js
│ ├── menu.js
│ ├── MainRendererComm.js
│ └── tray.js
└── utils
│ ├── node-fs.js
│ └── commentUtils.js
├── .vscode
├── settings.json
└── extensions.json
├── .eslintrc.json
├── .npmrc
├── .husky
├── pre-commit
└── commit-msg
├── nodemon.json
├── loading.html
├── typings
├── shims-vue.d.ts
├── env.d.ts
├── global.d.ts
├── components.d.ts
├── common.d.ts
└── basic.d.ts
├── mock
├── example.ts
└── system.ts
├── vitest.setup.ts
├── .prettierrc
├── tsconfig.json
├── .env.build
├── .env.build-test
├── .env.serve-dev
├── .env.serve-test
├── nedbStore.db
├── .yarnrc
├── mock-prod-server.ts
├── vitest.config.ts
├── index.html
├── .gitignore
├── main.ts
├── App.vue
├── tsconfig.base.json
├── .eslintrc-auto-import.json
├── electron-main.ts
└── README.md
/.editorconfig:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/common/404.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/icons/common/zip.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/theme/dark/element-plus/css-vars.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/theme/lighting/element-plus/css-vars.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/theme/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './change-theme'
2 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | public
2 | node_modules
3 | .history
4 | .husky
5 | dist
6 | *.d.ts
7 |
--------------------------------------------------------------------------------
/src/utils/bus.ts:
--------------------------------------------------------------------------------
1 | //bus even
2 | import mitt from 'mitt'
3 | export default mitt()
4 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/electron/static/empty.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/electron/static/empty.ico
--------------------------------------------------------------------------------
/electron/static/lover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/electron/static/lover.png
--------------------------------------------------------------------------------
/src/assets/gif/dianchi.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/src/assets/gif/dianchi.gif
--------------------------------------------------------------------------------
/electron/static/favicon2.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/electron/static/favicon2.ico
--------------------------------------------------------------------------------
/src/assets/401_images/401.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/src/assets/401_images/401.gif
--------------------------------------------------------------------------------
/src/assets/404_images/404.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/src/assets/404_images/404.png
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.defaultFormatter": "esbenp.prettier-vscode",
3 | "npm.packageManager": "yarn"
4 | }
5 |
--------------------------------------------------------------------------------
/src/assets/404_images/404_cloud.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzfai/vue3-admin-electron/HEAD/src/assets/404_images/404_cloud.png
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "extends": ["./eslintrc/eslint-config.js", "./eslintrc/.eslintrc-auto-import.json"]
4 | }
5 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["johnsoncodehk.volar", "esbenp.prettier-vscode","dbaeumer.vscode-eslint"]
3 | }
4 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 | strict-peer-dependencies=false
3 |
4 | ###aliyun address
5 | registry = https://registry.npmmirror.com
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | . "$(dirname "$0")/_/husky.sh"
3 |
4 | #推送之前运行eslint检查
5 | npm run lint
6 | #推送之前运行单元测试检查
7 | #npm run test:unit
8 |
9 |
--------------------------------------------------------------------------------
/src/theme/utils/change-theme.ts:
--------------------------------------------------------------------------------
1 | export const toggleHtmlClass = (className) => {
2 | document.querySelectorAll('html')[0].className = className
3 | }
4 |
--------------------------------------------------------------------------------
/src/views/nested/menu1/menu1-3/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
14 |