75 lines
3.3 KiB
Markdown
75 lines
3.3 KiB
Markdown
# 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 字段)不保证兼容。
|
||
:::
|