1.5 技术栈说明
概述
本项目以后端 GoFrame v2 + 前端 Vue3/Element Plus 为核心,全部依赖选型遵循"主流、稳定、长期维护"原则。本页给出完整的技术栈清单与关键依赖版本。
后端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Go | 1.27.2 | 语言运行时(go.mod 声明) |
| GoFrame (gf/v2) | v2.10.3 | 核心框架(ghttp/gdb/gcfg/gcache/gcron/gconv…) |
| gf mysql 驱动 | v2.10.3 | MySQL 支持(contrib/drivers/mysql) |
| gf pgsql 驱动 | v2.10.3 | PostgreSQL 支持 |
| gf mssql 驱动 | v2.10.3 | SQL Server 支持 |
| gf oracle 驱动 | v2.10.3 | Oracle 支持 |
| gf sqlite 驱动 | v2.10.3 | SQLite 支持 |
| gf redis 适配 | v2.10.3 | Redis 支持(nosql/redis + go-redis/v9) |
| golang-jwt | v5.3.1 | JWT 双令牌签发与校验(HS256) |
| golang.org/x/crypto | v0.58.0 | bcrypt 密码哈希 |
| xuri/excelize | v2.11.0 | Excel 导入导出 |
| lionsoul2014/ip2region | xdb | IP 归属地解析 |
| golang.org/x/image | v0.38.0 | 验证码图片渲染 |
前端技术栈
| 技术 | 版本 | 用途 |
|---|---|---|
| Vue | ^3.4.27 | 核心框架(Composition API) |
| TypeScript | ^5.x | 类型系统 |
| Vite | ^5.x | 构建工具(多环境模式) |
| Element Plus | ^2.7.4 | UI 组件库 |
| Pinia | ^2.1.7 | 状态管理 |
| Vue Router | ^4.3.2 | 路由(常量路由 + 动态菜单路由) |
| axios | ^0.27.2 | HTTP 客户端(封装于 utils/http) |
| echarts | ^5.5.0 | 数据可视化 |
| tinymce | 5.10.3 | 富文本编辑器 |
| @vueup/vue-quill | 1.0.0-beta.8 | 富文本编辑器(Quill) |
| xlsx | ^0.18.5 | 前端 Excel 导入导出 |
| cropperjs / vue-cropper | ^1.6.2 / 0.5.8 | 图片裁剪(头像上传) |
| dayjs | ^1.11.11 | 日期处理 |
| lodash-es | ^4.17.21 | 工具函数 |
| vuedraggable | ^4.1.0 | 拖拽排序(菜单管理) |
| qrcode | ^1.5.3 | 二维码(扫码登录形态) |
| mockjs | ^1.1.0 | 本地 Mock |
数据与中间件
| 组件 | 要求 | 说明 |
|---|---|---|
| MySQL | 5.7+ / 8.x | 规范基准数据库(document/mysql/ 定稿脚本) |
| PostgreSQL | 12+ | document/postgresql/ 定稿脚本,整库迁移实测 |
| SQL Server | 2012+ | document/sqlserver/ 定稿脚本,整库迁移实测 |
| Oracle | 11g+ | document/oracle/ 定稿脚本,迁移器按定稿约定实现 |
| SQLite | 3.x | document/sqlite/ 定稿脚本,整库迁移实测(开发/单机场景) |
| Redis | 6.x+ | 缓存(不可用时自动降级进程内存,功能退化单机语义) |
架构模式一览
text
后端: 分层架构 + 声明式基座 + 全局钩子横切 + gmeta 反射注解
前端: 组合式 API + 动态路由 + 指令级权限 + querySchemas 声明式筛选
通信: RESTful JSON + JWT Bearer + 统一响应信封
(公开路由例外:/api/login、/api/captcha、/api/oauth2/token、/api/health 不带版本段)版本升级注意
版本约束
- go.mod 声明
go 1.27.2,构建环境 Go 版本过低会直接编译失败。 - GoFrame 五驱动版本必须与框架核心一致(同为 v2.10.3),升级时同步升级。
- 前端包管理推荐 pnpm(仓库含 pnpm 工作流脚本),yarn/npm 安装可能遇到 workspace 差异。
- Redis 客户端为 go-redis/v9,Redis 4.x 以下的个别命令(如部分 INFO 字段)不保证兼容。