1.5 技术栈说明
:::tip 概述
本页列出前后端技术选型与版本基线。版本号以 go.mod 与 ui/package.json 为准,升级前请以这两个文件的实际内容核对。
:::
后端技术栈
| 类别 |
选型 |
版本 |
说明 |
| 语言 |
Go |
1.27 |
module 名 easygoadmin |
| Web 框架 |
gin-gonic/gin |
v1.12 |
路由、绑定、中间件 |
| ORM |
gorm.io/gorm |
v1.31 |
钩子、软删除、事务 |
| MySQL 驱动 |
go-sql-driver/mysql |
v1.10 |
gorm.io/driver/mysql |
| PostgreSQL 驱动 |
jackc/pgx/v5 |
v5.11 |
gorm.io/driver/postgres |
| SQL Server 驱动 |
microsoft/go-mssqldb |
v1.11 |
gorm.io/driver/sqlserver |
| SQLite 驱动 |
glebarez/sqlite |
v1.11 |
纯 Go 实现,免 CGO |
| Oracle 驱动 |
godror/godror |
v0.51 |
构建标签 -tags oracle 启用 |
| JWT |
golang-jwt/jwt/v5 |
v5.3 |
Token 签发与解析 |
| 校验 |
go-playground/validator/v10 |
v10.30 |
binding 标签驱动 |
| 缓存 |
redis/go-redis/v9 |
v9.23 |
失败自动降级内存 |
| 日志 |
go.uber.org/zap |
v1.28 |
结构化日志 |
| 定时任务 |
robfig/cron/v3 |
v3.0 |
表达式调度 |
| Excel |
xuri/excelize/v2 |
v2.11 |
导入导出 |
| 监控 |
prometheus/client_golang |
v1.25 |
metrics 中间件 |
| IP 归属地 |
ip2region/binding/golang |
— |
离线查询 |
| 加密 |
golang.org/x/crypto |
v0.58 |
bcrypt 等 |
前端技术栈
| 类别 |
选型 |
版本 |
说明 |
| 框架 |
Vue |
^3.4 |
Composition API |
| 语言 |
TypeScript |
^4.9 |
类型安全 |
| 构建 |
Vite |
^3.2 |
开发服务器 8001 端口 |
| UI 库 |
ElementPlus |
^2.7 |
组件体系 |
| 状态管理 |
Pinia |
^2.1 |
store 见 ui/src/store |
| 路由 |
vue-router |
^4.3 |
动态菜单路由生成 |
| HTTP |
axios |
^0.27 |
拦截器统一封装 |
| 图表 |
echarts |
^5.5 |
监控图表 |
| 富文本 |
TinyMCE / @vueup/vue-quill |
5.10 / 1.0-beta |
双编辑器可选 |
| Excel |
xlsx |
^0.18 |
前端导入导出 |
| 图片裁剪 |
cropperjs / vue-cropper |
^1.6 / 0.5 |
头像裁剪 |
| 对象存储 |
ali-oss |
^6.22 |
OSS 直传支持 |
| 工具库 |
lodash / dayjs / qs |
— |
通用工具 |
命令行工具
| 工具 |
入口 |
用途 |
| 服务 |
cmd/api |
启动 HTTP 服务(make run) |
| 代码生成器 |
cmd/gen |
内省表结构生成前后端代码(make gen) |
| 数据迁移 |
cmd/migrator |
跨库整库迁移(make migrator) |
构建与质量工具
| 命令 |
作用 |
make build |
编译到 bin/ |
make test / make test-short |
全部测试 / 跳过外部依赖的短测试 |
make check |
CI 一站式:fmt-check + vet + test-short + check-config |
pnpm build |
前端生产构建 |
pnpm type:check |
前端类型检查 |
pnpm lint:eslint |
前端 ESLint 检查 |
版本升级建议
- 后端升级 Go 或 GORM 大版本前,先跑
make test-short 确认无回归,再跑 make test(需本地 MySQL)
- 前端升级 ElementPlus 大版本时重点回归公共组件(
ui/src/components)与主题样式(ui/src/styles)
- 数据库方言切换仅改
config.yaml 的 database 节,无需改代码;跨库搬迁用 make migrator