调整界面
调整脚本 增加功能:备份、恢复、清空
This commit is contained in:
404
README.md
404
README.md
@@ -1,221 +1,277 @@
|
||||
[](https://gitee.com/dromara/electron-egg/stargazers)
|
||||
# PQS-9100 Tool Client
|
||||
|
||||
<div align=center>
|
||||
<h3>🎉🎉🎉 ElectronEgg V4 已发布! 🎉🎉🎉</h3>
|
||||
</div>
|
||||
<br>
|
||||
## 项目简介
|
||||
|
||||
<div align=center>
|
||||
<img src="./public/images/example/logo.png" width="150" height="150" />
|
||||
</div>
|
||||
这是一个基于 Electron 的桌面端小工具,用于离线生成和管理设备激活码。
|
||||
|
||||
<div align=center>
|
||||
<h3><strong>一个入门简单、跨平台、企业级桌面软件开发框架</strong></h3>
|
||||
</div>
|
||||
<br>
|
||||
项目定位:
|
||||
|
||||
<!-- ## 🌏 [English](https://www.yuque.com/u34495/ee-doc) | [中文](https://www.kaka996.com/) -->
|
||||
- 面向 C 端桌面使用场景
|
||||
- 不依赖后端服务
|
||||
- 数据保存在本地内置 SQLite 数据库
|
||||
- 当前核心业务为设备激活记录管理
|
||||
|
||||
## 📋 介绍
|
||||
该项目是在 `electron-egg` 模板基础上裁剪和扩展得到,现阶段实际业务代码集中在“设备激活”模块。
|
||||
|
||||
> 框架已经广泛应用于记账、政务、企业、医疗、学校、股票交易、ERP、娱乐、视频等领域客户端,请放心使用!
|
||||
## 技术栈
|
||||
|
||||
## 👦 谁可以使用
|
||||
- 桌面框架:Electron 31
|
||||
- Electron 应用框架:electron-egg / ee-core
|
||||
- 前端框架:Vue 3
|
||||
- UI 组件库:Ant Design Vue
|
||||
- 构建工具:Vite 6
|
||||
- 本地数据库:better-sqlite3
|
||||
- 日期处理:dayjs
|
||||
- 加解密:jsencrypt
|
||||
|
||||
项目已经有 5 个交流群,覆盖`前端`、`java`、`go`、`python`、`php` 等开发者。
|
||||
## 项目结构
|
||||
|
||||
无论你是前端、服务端、运维、游戏、客户端等,都可以很快入门,
|
||||
```text
|
||||
.
|
||||
├─electron/ Electron 主进程代码
|
||||
│ ├─config/ 应用配置
|
||||
│ ├─controller/ IPC 控制器
|
||||
│ ├─preload/ 应用启动与 preload 逻辑
|
||||
│ ├─service/ 主进程服务
|
||||
│ │ ├─database/ 本地数据库封装
|
||||
│ │ └─os/ 托盘、窗口、安全、更新等系统能力
|
||||
│ └─main.ts Electron 入口
|
||||
├─frontend/ Vue 前端应用
|
||||
│ ├─src/
|
||||
│ │ ├─api/ IPC 路由定义
|
||||
│ │ ├─assets/ 静态资源与样式
|
||||
│ │ ├─layouts/ 页面布局
|
||||
│ │ ├─router/ 路由配置
|
||||
│ │ ├─utils/ 工具函数
|
||||
│ │ └─views/activate/ 激活业务页面
|
||||
│ ├─.env.development 开发环境变量
|
||||
│ ├─.env.production 生产环境变量
|
||||
│ └─vite.config.ts 前端构建配置
|
||||
├─build/ 打包资源
|
||||
├─cmd/ electron-builder 配置
|
||||
├─public/ Electron 公共资源
|
||||
├─package.json 根脚本与 Electron 依赖
|
||||
└─README.md 项目说明
|
||||
```
|
||||
|
||||
## 🐶 精彩案例
|
||||
## 核心功能
|
||||
|
||||
- [**点击查看**](#项目案例)
|
||||
### 1. 设备激活码生成
|
||||
|
||||
## 📺 特点
|
||||
- 🍩 **为什么使用?** 桌面软件(办公方向、 个人工具),仍然是未来十几年PC端需求之一,提高工作效率
|
||||
- 🍉 **简单:** 只需懂 JavaScript
|
||||
- 🍑 **愿景:** 所有开发者都能学会桌面软件研发
|
||||
- 🍰 **gitee:** https://gitee.com/dromara/electron-egg **5100+**
|
||||
- 🍨 **github:** https://github.com/dromara/electron-egg **1800+**
|
||||
- 🏆 码云最有价值开源项目
|
||||

|
||||
前端页面提供以下能力:
|
||||
|
||||
## 📚 文档
|
||||
- 快速体验:[教程文档](https://www.kaka996.com/)
|
||||

|
||||
- 录入设备申请码
|
||||
- 选择需要激活的模块
|
||||
- 生成设备激活码
|
||||
- 复制激活码
|
||||
- 填写备注
|
||||
|
||||
## 📦 特性
|
||||
1. 🍄 跨平台:一套代码,可以打包成windows版、Mac版、Linux版、国产UOS、Deepin、麒麟等
|
||||
2. 🌹 架构:单业务进程/模块化/多任务(进程,线程,渲染进程),让开发大型项目变的简单。
|
||||
3. 🌱 简单高效:只需学习 js 语言
|
||||
4. 🌴 前端独立:理论上支持任何前端技术,如:vue、react、html等等
|
||||
5. 🍁 工程化:可以用前端、服务端的开发思维,来编写桌面软件
|
||||
6. 🌷 高性能:事件驱动、非阻塞式IO
|
||||
7. 🌰 功能丰富:配置、通信、插件、数据库、升级、打包、工具... 应有尽有
|
||||
8. 💐 安全:支持字节码加密、压缩混淆加密
|
||||
9. 🌻 功能demo:桌面软件常见功能,框架集成或提供demo
|
||||
当前支持的模块有:
|
||||
|
||||
## ✈️ 使用场景
|
||||
- `simulate`
|
||||
- `digital`
|
||||
- `contrast`
|
||||
|
||||
### 1. 🚀 常规桌面软件
|
||||
- 🚖 windows平台
|
||||
### 2. 激活记录管理
|
||||
|
||||

|
||||
激活记录页面支持:
|
||||
|
||||
- 🚍 macOS平台
|
||||

|
||||
- 按 `macAddress` 查询
|
||||
- 按模块组合查询
|
||||
- 查看历史激活记录
|
||||
- 复制历史记录中的激活码
|
||||
- 将新生成的激活记录保存到本地数据库
|
||||
|
||||
- 🚔 linux平台 - 国产UOS、Deepin
|
||||

|
||||
### 3. 本地数据库存储
|
||||
|
||||
- 🚔 linux平台 - ubuntu
|
||||

|
||||
项目不依赖后端,激活记录直接写入本地 SQLite。
|
||||
|
||||
### 🚐 2. vue、react、angular、web 转换成桌面软件
|
||||
- 🚙 vue-ant-design(本地)
|
||||
当前数据库文件名:
|
||||
|
||||

|
||||
- `pqs9100-tool.db`
|
||||
|
||||
- 🚙 禅道项目管理(web项目地址)
|
||||
当前表:
|
||||
|
||||

|
||||
- `activate_record`
|
||||
|
||||
### 🚂 3. 游戏(h5相关技术开发)
|
||||
- 🚊 忍者100层
|
||||
主要字段:
|
||||
|
||||

|
||||
- `id`
|
||||
- `macAddress`
|
||||
- `applicationCode`
|
||||
- `module`
|
||||
- `activationCode`
|
||||
- `createTime`
|
||||
- `remark`
|
||||
|
||||
## 业务流程
|
||||
|
||||
## 📒 开始使用
|
||||
整体流程如下:
|
||||
|
||||
- ✒️ [安装文档](https://www.kaka996.com/pages/e64ff6/)
|
||||
|
||||
## 项目案例
|
||||
- 🐟 框架已经应用于医疗、学校、政务、股票交易、ERP、娱乐、视频、企业等领域客户端
|
||||
1. 用户在前端输入设备申请码。
|
||||
2. 前端使用 RSA 私钥解密申请码,解析出设备信息。
|
||||
3. 用户选择需要激活的模块。
|
||||
4. 前端组装激活码明文后,再用 RSA 公钥加密生成激活码。
|
||||
5. 用户点击保存后,前端通过 IPC 调用主进程。
|
||||
6. 主进程将记录写入本地 SQLite 数据库。
|
||||
7. 列表页面通过 IPC 查询本地数据库并展示历史记录。
|
||||
|
||||
### 🐸 远控
|
||||
## 核心代码说明
|
||||
|
||||
- RQ Center
|
||||

|
||||

|
||||
### Electron 主进程
|
||||
|
||||
### 🐸 云盘
|
||||
- `electron/main.ts`
|
||||
- 应用启动入口
|
||||
- 注册生命周期与 preload
|
||||
|
||||
- FM Cloud
|
||||

|
||||

|
||||

|
||||
- `electron/preload/index.ts`
|
||||
- 启动时初始化托盘
|
||||
- 初始化安全服务
|
||||
- 初始化自动更新服务
|
||||
- 初始化本地数据库
|
||||
|
||||
### 🐸 IM
|
||||
- `electron/preload/lifecycle.ts`
|
||||
- 控制应用 ready、窗口 ready、关闭前等生命周期行为
|
||||
- 启动后自动设置主窗口大小和位置
|
||||
|
||||
- Cede IM
|
||||

|
||||

|
||||

|
||||
### 数据库相关
|
||||
|
||||
### 🐸 壁纸
|
||||
- `electron/service/database/basedb.ts`
|
||||
- SQLite 基础封装
|
||||
- 负责数据库文件路径和连接初始化
|
||||
|
||||
- warpar
|
||||

|
||||
- `electron/service/database/activateRecord.ts`
|
||||
- `activate_record` 表初始化
|
||||
- 保存激活记录
|
||||
- 查询激活记录
|
||||
- 删除记录等数据库操作
|
||||
|
||||
### 🐸 英雄联盟助手
|
||||
- `electron/controller/activateRecord.ts`
|
||||
- 暴露激活记录相关 IPC 接口
|
||||
|
||||
- Serendlplty
|
||||

|
||||
### 前端相关
|
||||
|
||||
### 🐸 更多
|
||||
- `frontend/src/main.ts`
|
||||
- Vue 应用入口
|
||||
- 注册 Ant Design Vue 和全局组件
|
||||
|
||||
- [更多案例](https://www.kaka996.com/pages/eadf46/)
|
||||
- `frontend/src/router/routerMap.ts`
|
||||
- 当前仅注册一个业务页面:`/activate`
|
||||
|
||||
## 💬 交流
|
||||
1. [讨论](https://www.kaka996.com/pages/c2720e/)
|
||||
- `frontend/src/layouts/AppSider.vue`
|
||||
- 左侧菜单布局
|
||||
- 当前只包含“设备激活”菜单
|
||||
|
||||
## 📌 关于pr
|
||||
请前往[GitHub项目](https://github.com/dromara/electron-egg)提pr(避免代码同步后,pr被覆盖掉),感谢!
|
||||
- `frontend/src/views/activate/index.vue`
|
||||
- 激活记录查询页面
|
||||
- 激活记录展示、查询、复制、保存入口
|
||||
|
||||
地址:https://github.com/dromara/electron-egg
|
||||
- `frontend/src/views/activate/ActiveForm.vue`
|
||||
- 激活码生成表单
|
||||
- 处理申请码解析、模块选择、激活码生成
|
||||
|
||||
## 📔 框架核心包 ee-core
|
||||
ee-core:[https://github.com/wallace5303/ee-core](https://github.com/wallace5303/ee-core)
|
||||
- `frontend/src/utils/rsa.ts`
|
||||
- RSA 加解密封装
|
||||
|
||||
## 📚 Dromara 成员项目
|
||||
- `frontend/src/utils/ipcRenderer.ts`
|
||||
- 渲染进程 IPC 调用封装
|
||||
|
||||
<p align="center">
|
||||
<a href="https://gitee.com/dromara/TLog" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/tlog2.png" title="一个轻量级的分布式日志标记追踪神器,10分钟即可接入,自动对日志打标签完成微服务的链路追踪" width="15%">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/liteFlow" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/liteflow.png" title="轻量,快速,稳定,可编排的组件式流程引擎" width="15%">
|
||||
</a>
|
||||
<a href="https://hutool.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hutool.jpg" title="小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。" width="15%">
|
||||
</a>
|
||||
<a href="https://sa-token.dev33.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/sa-token.png" title="一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!" width="15%">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/hmily" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hmily.png" title="高性能一站式分布式事务解决方案。" width="15%">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/Raincat" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/raincat.png" title="强一致性分布式事务解决方案。" width="15%">
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://gitee.com/dromara/myth" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/myth.png" title="可靠消息分布式事务解决方案。" width="15%">
|
||||
</a>
|
||||
<a href="https://cubic.jiagoujishu.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/cubic.png" title="一站式问题定位平台,以agent的方式无侵入接入应用,完整集成arthas功能模块,致力于应用级监控,帮助开发人员快速定位问题" width="15%">
|
||||
</a>
|
||||
<a href="https://maxkey.top/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/maxkey.png" title="业界领先的身份管理和认证产品" width="15%">
|
||||
</a>
|
||||
<a href="http://forest.dtflyx.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/forest-logo.png" title="Forest能够帮助您使用更简单的方式编写Java的HTTP客户端" width="15%">
|
||||
</a>
|
||||
<a href="https://jpom.io/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/jpom.png" title="一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件" width="15%">
|
||||
</a>
|
||||
<a href="https://su.usthe.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/sureness.png" title="面向 REST API 的高性能认证鉴权框架" width="15%">
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://easy-es.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/easy-es2.png" title="傻瓜级ElasticSearch搜索引擎ORM框架" width="15%">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/northstar" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/northstar_logo.png" title="Northstar盈富量化交易平台" width="15%">
|
||||
</a>
|
||||
<a href="https://hertzbeat.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/hertzbeat_brand.jpg" title="易用友好的云监控系统" width="15%">
|
||||
</a>
|
||||
<a href="https://plugins.sheng90.wang/fast-request/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/fast-request.gif" title="Idea 版 Postman,为简化调试API而生" width="15%">
|
||||
</a>
|
||||
<a href="https://www.jeesuite.com/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/mendmix.png" title="开源分布式云原生架构一站式解决方案" width="15%">
|
||||
</a>
|
||||
<a href="https://gitee.com/dromara/koalas-rpc" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/koalas-rpc2.png" title="企业生产级百亿日PV高可用可拓展的RPC框架。" width="15%">
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://async.sizegang.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/gobrs-async.png" title="配置极简功能强大的异步任务动态编排框架" width="15%">
|
||||
</a>
|
||||
<a href="https://dynamictp.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dynamic-tp.png" title="基于配置中心的轻量级动态可监控线程池" width="15%">
|
||||
</a>
|
||||
<a href="https://www.x-easypdf.cn" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/x-easypdf.png" title="一个用搭积木的方式构建pdf的框架(基于pdfbox)" width="15%">
|
||||
</a>
|
||||
<a href="http://dromara.gitee.io/image-combiner" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/image-combiner.png" title="一个专门用于图片合成的工具,没有很复杂的功能,简单实用,却不失强大" width="15%">
|
||||
</a>
|
||||
<a href="https://www.herodotus.cn/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dante-cloud2.png" title="Dante-Cloud 是一款企业级微服务架构和服务能力开发平台。" width="15%">
|
||||
</a>
|
||||
<a href="https://dromara.org/zh/projects/" target="_blank">
|
||||
<img src="https://oss.dev33.cn/sa-token/link/dromara.png" title="让每一位开源爱好者,体会到开源的快乐。" width="15%">
|
||||
</a>
|
||||
</p>
|
||||
## 路由与界面
|
||||
|
||||
当前前端只有一条实际业务路由:
|
||||
|
||||
- `/activate` 设备激活页面
|
||||
|
||||
左侧菜单当前也只有一个入口:
|
||||
|
||||
- 设备激活
|
||||
|
||||
因此,整个系统目前可以理解为“单页面桌面工具”,所有主要功能都集中在这一个界面中完成。
|
||||
|
||||
当前页面的详细说明已单独整理到:
|
||||
|
||||
- `docs/current-page.md`
|
||||
|
||||
## 配置说明
|
||||
|
||||
### 根目录脚本
|
||||
|
||||
常用命令:
|
||||
|
||||
- `npm run dev` 启动 Electron + 前端开发环境
|
||||
- `npm run dev-frontend` 仅启动前端
|
||||
- `npm run dev-electron` 仅启动 Electron
|
||||
- `npm run build` 构建前端、Electron 并执行加密
|
||||
- `npm run build-w` 构建 Windows 安装包
|
||||
|
||||
### 前端环境变量
|
||||
|
||||
位于:
|
||||
|
||||
- `frontend/.env.development`
|
||||
- `frontend/.env.production`
|
||||
|
||||
当前已使用的变量主要有:
|
||||
|
||||
- `VITE_TITLE`
|
||||
- `VITE_RSA_PUBLIC_KEY`
|
||||
- `VITE_RSA_PRIVATE_KEY`
|
||||
- `VITE_RSA_CAN_EDIT`
|
||||
|
||||
## 数据存储说明
|
||||
|
||||
数据库由主进程在应用启动时初始化。
|
||||
|
||||
数据库初始化入口:
|
||||
|
||||
- `electron/preload/index.ts`
|
||||
|
||||
数据库基础路径由 `ee-core` 提供的数据目录决定,实际数据库文件保存在应用数据目录下的 `db` 子目录中。
|
||||
|
||||
## 当前项目特征总结
|
||||
|
||||
从当前代码看,项目有以下特点:
|
||||
|
||||
- 业务功能集中,当前只有激活工具这一个主要模块
|
||||
- 没有后端依赖,所有数据均在本地处理和存储
|
||||
- 前端负责激活码的生成逻辑
|
||||
- 主进程负责数据库初始化与数据持久化
|
||||
- 项目仍保留部分 `electron-egg` 模板能力和示例代码
|
||||
- 现有目录中存在一些当前业务未直接使用的模板模块,可在后续按需要继续裁剪
|
||||
|
||||
## 适合后续演进的方向
|
||||
|
||||
结合当前项目现状,后续工作更适合围绕以下方向展开:
|
||||
|
||||
- 梳理并精简模板残留代码
|
||||
- 完善激活记录管理能力
|
||||
- 增加导入、导出、删除、编辑等本地数据操作
|
||||
- 统一页面文案、编码和可维护性
|
||||
- 补充更明确的项目文档与交付说明
|
||||
|
||||
## 运行说明
|
||||
|
||||
### 开发环境
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 构建
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
Windows 安装包构建:
|
||||
|
||||
```bash
|
||||
npm run build-w
|
||||
```
|
||||
|
||||
## 补充说明
|
||||
|
||||
- 原仓库中的 `README.zh-CN.md` 更偏向上游模板说明
|
||||
- 当前 `README.md` 旨在描述本项目自身,而不是 `electron-egg` 模板本身
|
||||
- 如果后续继续迭代业务,建议优先维护本文件,保证项目文档与实际实现一致
|
||||
|
||||
Reference in New Issue
Block a user