用户体系

基于 Go + PostgreSQL + Docker Compose 的用户权限管理模块,角色覆盖:系统管理员、管理员、用户。

技术栈

技术
后端 Go 1.25 + Gin + GORM + JWT + bcrypt
数据库 PostgreSQL 18
前端 React 18 + Vite + Tailwind CSS
部署 Docker Compose

快速启动

# 1. 复制环境变量
cp .env.example .env

# 2. 启动服务(首次会编译 Go 后端,可能需要几分钟)
docker compose up -d

# 3. 等待数据库健康检查通过后,访问前端
open http://localhost:3018

默认端口

服务 端口
前端 3018
后端 API 3019
PostgreSQL 5432

默认系统管理员

系统启动时会自动创建一个系统管理员账号(仅当不存在时):

用户名 密码
system_admin system_admin

整个系统只能有一个系统管理员账号,无法通过管理后台再创建或提升其他系统管理员。

角色说明

角色 权限
系统管理员 管理管理员、用户、系统配置
管理员 管理普通用户
用户 访问业务功能、修改个人资料

主要 API

方法 路径 说明 权限
POST /api/auth/login 登录 公开
GET /api/auth/me 当前用户 需登录
POST /api/auth/logout 登出 需登录
GET /api/admin/users 用户列表 admin / system_admin
POST /api/admin/users 创建用户 admin / system_admin
PUT /api/admin/users/:id 更新用户/角色 admin / system_admin
DELETE /api/admin/users/:id 删除用户 system_admin
GET /api/admin/roles 角色列表 admin / system_admin

目录结构

stock/
├── backend/              # Go 后端
│   ├── cmd/api/main.go
│   ├── internal/
│   │   ├── config/
│   │   ├── db/
│   │   ├── handlers/
│   │   ├── middleware/
│   │   ├── models/
│   │   └── routes/
│   ├── go.mod
│   └── Dockerfile
├── frontend/             # React 前端
│   ├── src/
│   ├── package.json
│   └── Dockerfile
├── docker-compose.yml
├── .env.example
└── README.md

开发

# 后端本地运行(需先启动 PostgreSQL)
cd backend
go run ./cmd/api

# 前端本地运行
cd frontend
npm install
npm run dev

注意事项

  • 生产环境请务必修改 JWT_SECRET
  • 首次启动时 GORM 会自动创建表并插入默认角色。
S
Description
No description provided
Readme 102 MiB
Languages
TypeScript 57.9%
Python 40.2%
Inno Setup 1.1%
PowerShell 0.3%
Shell 0.2%
Other 0.1%