# electronDesktop **Repository Path**: xcl52888/electron-desktop ## Basic Information - **Project Name**: electronDesktop - **Description**: 一款electron桌面应用框架设计 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-14 - **Last Updated**: 2025-06-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # electron-app 一个使用Vue和TypeScript的桌面应用程序 ## 项目概述 技术栈基于 vite + electron + vue3( options api ) + element-plus + pinia + axios 代码切分基于模块化的方式组织代码架构 对于小项目可以快速开发,对于大型项目,以及多人协作,无论是代码的综合管理性,可维护性,可扩展性都可以很好的满足 ## 项目设置 ### 开发 ```js // 打开目录 cd electron-app // 安装依赖 npm install // 启动项目 npm run dev ``` ### 打包 ```bash # For windows $ npm run build:win # For macOS $ npm run build:mac # For Linux $ npm run build:linux ``` ## Git 贡献提交规范 - 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范 ([Angular](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-angular)) - `feat` 增加新功能 - `fix` 修复问题/BUG - `style` 代码风格相关无影响运行结果的 - `perf` 优化/性能提升 - `refactor` 重构 - `revert` 撤销修改 - `test` 测试相关 - `docs` 文档/注释 - `chore` 依赖更新/脚手架配置修改等 - `ci` 持续集成 - `types` 类型定义文件更改 - `wip` 开发中 ## 推荐的IDE设置 - [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) ## 功能 登录 / 注销(第三方登陆开发中) 版本自动更新 权限验证 页面权限(可精细化到,路由和菜单的重定向) 字符权限(根据配置细化到任意节点) 权限配置 字典配置 动态面包屑 静态路由动态配置化,支持嵌套 Screenfull 全屏 环境配置(任意环境) axios 全量封装(get, post, 静态文件类,流文件),权限,loading,请求延迟,等 代码格式化(自动格式化 + prettier配置) vite 配置(代理模板 + 常用插件继承) ## project directory 项目目录结构 . ├──.vscode │ └──... ├──build #打包资源 │ ├──entitlements.mac.plist │ ├──icon.icns │ ├──icon.ico │ ├──icon.png │ └──notarize.js ├──src # 主代码 │ ├──main # 主进程 │ │ └──index.ts │ ├──preload # preload脚本 │ │ ├──index.d.ts │ │ └──index.ts │ └──renderer # 渲染进程,结合 vue │ ├──src │ │ ├──assets #静态资源 │ │ ├──components #scui全局组件 │ │ ├──views #各页面组件 │ │ ├──mixins #混入 │ │ ├──api #接口 │ │ ├──config #系统参数常量和路由表 │ │ ├──router #路由 │ │ ├──layout #布局 │ │ ├──directives #自定义指令 │ │ ├──App.vue #vue入口 │ │ ├──env.d.ts │ │ └──main.ts │ └──index.html ├──.editorconfig ├──.eslintrc.cjs ├──.prettierrc.yaml ├──electron-builder.yml #打包配置 ├──electron.vite.config.ts #构建配置 ├──package.json ├──tsconfig.json ├──tsconfig.node.json └──tsconfig.web.json