一、项目概述
1.1 应用定位
“神灯代码生成器” 是一款基于 Electron 开发的跨平台桌面应用,旨在通过可视化配置与模板化管理,快速生成多语言、多框架的项目代码(如后端接口、数据模型、前端页面等),降低重复开发成本,提升研发效率。
1.2 核心目标
- 支持 MySQL 数据库连接与表结构解析,自动关联代码生成逻辑;
- 提供模板组与代码模板的管理能力(创建、编辑、关联);
- 实现代码生成记录追溯与生成文件导出;
- 保证跨平台兼容性(Windows 优先,支持扩展至 Mac/Linux);
- 提供简洁直观的可视化操作界面,降低使用门槛
1.3 适用场景
- 中小型项目快速初始化(支持多语言 / 框架选型);
- 重复业务模块代码自动生成(如 CRUD 接口、数据模型);
- 团队标准化开发(统一代码模板,减少风格差异)。
二、功能规格
2.1 核心功能模块
2.1.1 数据库管理模块
- 支持 MySQL 数据库连接配置(主机、端口、用户名、密码、数据库名);
- 自动初始化默认数据库(code_generator)及系统表(模板组、模板文件、生成记录等);
- 支持数据库连接状态检测与连接池管理(复用连接,降低资源占用)。
2.1.2 模板管理模块
- 模板组管理:创建、编辑、删除模板组(含组名、备注、创建时间字段);
- 代码模板管理:维护模板基本信息(名称、类型、框架、语言、文件后缀);
- 模板内容编辑:支持长文本模板编写(存储模板文件核心内容);
- 模板关联:建立模板组与代码模板的多对多关联关系。
2.1.3 代码生成模块
- 数据库表选择:支持关联已配置数据库中的表结构;
- 模板选择:支持选择模板组批量生成代码;
- 生成配置:支持自定义基础包路径、生成文件名等参数;
- 生成记录:保存代码生成历史(关联数据库、表、模板组、生成时间);
- 文件导出:支持生成代码的本地目录导出与预览。
2.1.4 系统配置模块
- 数据库配置管理:读取、保存、修改数据库连接参数;
- 包路径缓存:记录常用基础包路径,支持快速选择;
- 调试工具控制:支持开启 / 关闭调试窗口,便于问题排查。
2.2 非功能需求
- 兼容性:支持 Windows 10/11 64 位系统,后续可扩展至 MacOS 12+、Linux(Ubuntu 20.04+);
- 稳定性:应用启动成功率 ≥99%,代码生成过程无崩溃;
- 响应速度:数据库连接检测 ≤3 秒,模板加载 ≤1 秒,代码生成 ≤2 秒(单表 + 10 个以内模板);
- 易用性:操作流程≤3 步完成核心代码生成,界面支持窗口最大化 / 最小化 / 关闭。
三、技术架构
3.1 整体架构
采用 Electron 经典的 “主进程 - 渲染进程” 架构,分离核心逻辑与 UI 交互,保证稳定性与体验:
神灯代码生成器
├── 主进程(Node.js 环境):负责原生能力、数据库操作、IPC 通信
├── 渲染进程(Vue 前端):负责 UI 展示、用户交互、数据渲染
└── 数据层(MySQL):负责系统配置、模板数据、生成记录存储
3.2 技术栈详情
| 模块 | 技术选型 | 版本要求 | 核心作用 |
|---|---|---|---|
| 主进程 | Electron | 30.0.1+ | 桌面应用容器,提供窗口管理、原生能力调用 |
| 主进程语言 | TypeScript | 5.0+ | 类型安全,提升代码可维护性 |
| 渲染进程框架 | Vue.js | 3.0+ | 前端 UI 开发,组件化构建界面 |
| 构建工具 | Vite | 5.1.6+ | 渲染进程打包,支持快速热更新(开发环境) |
| 数据库驱动 | mysql2(Promise 版) | 3.0+ | 主进程与 MySQL 数据库交互 |
| IPC 通信 | Electron IPC Main/Renderer | 内置(跟随 Electron 版本) | 主进程与渲染进程数据传递(如数据库查询、文件操作) |
| 预加载脚本 | TypeScript + contextBridge | 内置 | 安全暴露主进程 API 给渲染进程,避免安全风险 |
3.3 核心模块交互流程
- 应用启动流程:
主进程初始化 → 配置文件加载(db-config.json)→ 数据库初始化(创建默认库表)→ 渲染进程窗口启动(最大化展示); - 代码生成流程:
渲染进程选择表 + 模板组 → IPC 调用主进程 → 主进程查询数据库表结构 → 模板渲染生成代码 → 保存生成记录 → 渲染进程导出文件。
四、开发环境规格
4.1 开发环境配置
| 环境依赖 | 版本要求 | 说明 |
|---|---|---|
| Node.js | 16.0.0+ | 主进程与渲染进程开发基础 |
| npm | 8.0.0+ | 依赖包管理工具 |
| TypeScript | 5.0+ | 类型检查工具 |
| 编译器 | VS Code(推荐) | 支持 TypeScript、Vue 语法高亮与调试 |
| MySQL 服务 | 5.7+ / 8.0+ | 支持数据库连接与表结构操作 |
| 系统环境 | Windows 10/11 64 位 | 开发与测试优先环境 |
4.2 依赖包清单
生产依赖
- electron: 30.0.1+(桌面应用核心);
- vue: 3.0+(前端框架);
- mysql2: 3.0+(数据库驱动);
- @types/node: 16.0.0+(Node.js 类型声明);
- fs-extra: 10.0+(文件操作增强工具,可选)。
开发依赖
- vite: 5.1.6+(前端构建工具);
- vite-plugin-electron: 0.15+(Electron 与 Vite 集成插件);
- @vitejs/plugin-vue: 4.0+(Vue 插件);
- electron-builder: 24.0+(应用打包工具);
- electron-rebuild: 3.2+(原生模块编译工具)。
五、目录结构规格
遵循 “功能模块化、文件类型分离” 原则,目录结构如下(基于实际项目优化):
神灯代码生成器/
├── src/
│ ├── main/ # 主进程代码(Node.js/TypeScript)
│ │ ├── configManager.ts # 配置管理(读取/保存数据库配置)
│ │ ├── main.ts # 主进程入口(窗口创建、IPC 注册)
│ │ ├── mysqlPoolManager.ts # 数据库连接池管理
│ │ ├── preload.ts # 预加载脚本(暴露 API 给渲染进程)
│ │ └── tsconfig.json # 主进程 TS 编译配置
│ └── renderer/ # 渲染进程代码(Vue 前端)
│ ├── src/
│ │ ├── assets/ # 静态资源(样式、图片)
│ │ ├── components/ # 公共组件(按钮、输入框、弹窗等)
│ │ ├── router/ # 路由配置(前端页面跳转)
│ │ ├── utils/ # 工具函数(格式化、验证等)
│ │ ├── views/ # 页面视图(数据库配置、模板管理、代码生成等)
│ │ ├── App.vue # 根组件
│ │ ├── main.ts # 前端入口(Vue 初始化)
│ │ └── shims-vue.d.ts # Vue 类型声明
│ ├── index.html # 前端入口 HTML
│ ├── tsconfig.json # 渲染进程 TS 编译配置
│ └── vite.config.ts # Vite 构建配置
├── .gitignore # Git 忽略文件配置
├── db-config.json # 数据库默认配置文件
├── package.json # 项目依赖与脚本配置
├── package-lock.json # 依赖版本锁文件
└── readme.txt # 项目说明文档
六、打包与部署规格
6.1 打包流程
- 主进程编译:执行 npm run tsc:main,将 TypeScript 编译为 JavaScript(输出至 src/renderer/dist-electron);
- 渲染进程打包:执行 vite build src/renderer,将 Vue 前端打包为静态资源(输出至 src/renderer/dist/renderer);
- 应用打包:执行 electron-builder,打包为 Windows 可执行文件(输出至 electron-dist);
- 产物结构:打包后生成 win-unpacked 目录(绿色版应用)与安装包(可选),包含主程序、依赖库、配置文件。
6.2 部署要求
- 运行环境:目标机器需安装 MySQL 5.7+/8.0+ 服务(支持本地 / 远程连接);
- 权限要求:应用启动需具备文件读写权限(用于配置文件保存、代码导出);
- 端口要求:开发环境需占用 3000 端口(前端热更新),生产环境无额外端口依赖;
- 部署方式:支持绿色版直接运行(解压 win-unpacked 后双击 神灯代码生成器.exe),或通过安装包安装。
七、数据模型规格
基于 MySQL 数据库设计,系统核心表结构如下:
| 表名 | 核心字段 | 表作用 |
|---|---|---|
| template_group | id、name、remarks、create_time | 存储模板组信息 |
| code_template | id、name、attr_type、attr_framework、attr_language、file_extension、file_content、create_time | 存储代码模板详情 |
| tg_ct_relation | id、tg_id、ct_id | 模板组与代码模板的关联表 |
| mysql_service | id、host、port、username、password、create_time | 存储数据库服务配置(扩展用) |
| mysql_database | id、service_id、db_name、create_time | 存储数据库服务关联的数据库(扩展用) |
| generated_template | id、db_id、db_name、table_name、template_group_id、remarks、package_path、create_time | 存储代码生成历史记录 |
| generated_template_create_code | id、generated_template_id、code_template_id、file_content、create_time、generated_file_name | 存储生成的代码详情 |
| cache_package_path | id、package_path_value(唯一索引) | 缓存常用基础包路径 |
八、安全规格
- 数据安全:
- 数据库密码明文存储于本地配置文件(db-config.json),后续可扩展加密存储;
- 生成的代码文件仅本地导出,不涉及网络传输,避免数据泄露。
- 应用安全:
- 渲染进程禁用 nodeIntegration,通过 contextBridge 安全暴露主进程 API;
- 关闭 Electron 沙箱模式(sandbox: false)的同时,禁用 webSecurity 仅用于本地资源加载,不开放跨域网络请求。
3.操作安全: - 数据库操作前进行配置校验,避免无效连接导致的崩溃;
- 文件读写操作添加异常捕获,避免权限不足导致的应用闪退。
九、维护与扩展规格
- 维护要求
- 日志输出:主进程支持关键操作日志记录(如数据库初始化、代码生成、错误信息),便于问题排查;
- 版本管理:支持基于语义化版本(SemVer)进行版本迭代,记录更新日志。
2.扩展方向 - 多数据库支持:扩展 PostgreSQL、SQL Server 等数据库连接;
- 多模板类型:支持更多语言(Python、Go)、框架(Spring Boot、React)的模板;
- 云端模板库:支持模板的云端同步与共享(需扩展网络请求模块);
- 跨平台扩展:基于 electron-builder 打包 Mac/Linux 版本。

被折叠的 条评论
为什么被折叠?



