Files
2026-10-20 21:53:26 +08:00

75 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1.5 技术栈说明
:::tip 概述
本项目以后端 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 不带版本段)
```
## 版本升级注意
:::warning 版本约束
+ go.mod 声明 `go 1.27.2`,构建环境 Go 版本过低会直接编译失败。
+ GoFrame 五驱动版本必须与框架核心一致(同为 v2.10.3),升级时同步升级。
+ 前端包管理推荐 pnpm(仓库含 pnpm 工作流脚本),yarn/npm 安装可能遇到 workspace 差异。
+ Redis 客户端为 go-redis/v9,Redis 4.x 以下的个别命令(如部分 INFO 字段)不保证兼容。
:::