登录与注册权限
路由装配层 (main.go)
负责系统入口 + 依赖注入 + 路由注册
- 初始化数据库
- 创建UserService 和 UserHandler
- 把 URL 映射到具体处理函数,如注册和登录
这层不写具体业务规则,主要负责“把零件接起来”
控制器层 (Handler)
负责HTTP请求适配器
- 接收前端 JSON 参数
- 做基础参数校验
- 调用 Service 层
- 把结果转成 HTTP 响应码 + JSON 返回给前端
这层只关心“请求和响应长什么样”,不关心“数据怎么存,密码怎么验”
业务层 (Service)
真正的业务逻辑中心
- 注册时检查用户名是否已存在
- 密码加密
- 调用数据库创建用户
- 登录时校验用户名和密码
- 登录成功后生成 token
制定规则,例如“用户名不能重复”“密码必须匹配”等
数据模型层
数据结构定义 + ORM 映射
- 定义 User 表结构
- 通过 GORM tag 约束字段
不处理请求,也不写业务流程,只描述“数据长什么样”
认证工具层 (Utils)
通用工具函数
- 定义 token 里的 Claims
- 生成 JWT token
不处理 HTTP,也不直接查库,是被 Service 调用的“能力模块”
前端调用层
用户交互入口
- 收集用户名和密码
- 调用登录接口
- 保存后端返回 token
前端发生请求,后端处理请求