refactor(account): 统一账号管理API、完善权限检查和操作审计
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m17s

- 合并 customer_account 和 shop_account 路由到统一的 account 接口
- 新增统一认证接口 (auth handler)
- 实现越权防护中间件和权限检查工具函数
- 新增操作审计日志模型和服务
- 更新数据库迁移 (版本 39: account_operation_log 表)
- 补充集成测试覆盖权限检查和审计日志场景
This commit is contained in:
2026-02-02 17:23:20 +08:00
parent 5851cc6403
commit 80f560df33
58 changed files with 10743 additions and 4915 deletions

View File

@@ -95,6 +95,36 @@ func IsRootUser(ctx context.Context) bool {
return userType == constants.UserTypeSuperAdmin
}
func GetRequestIDFromContext(ctx context.Context) *string {
if ctx == nil {
return nil
}
if requestID, ok := ctx.Value(constants.ContextKeyRequestID).(string); ok {
return &requestID
}
return nil
}
func GetIPFromContext(ctx context.Context) *string {
if ctx == nil {
return nil
}
if ip, ok := ctx.Value(constants.ContextKeyIP).(string); ok {
return &ip
}
return nil
}
func GetUserAgentFromContext(ctx context.Context) *string {
if ctx == nil {
return nil
}
if userAgent, ok := ctx.Value(constants.ContextKeyUserAgent).(string); ok {
return &userAgent
}
return nil
}
// SetUserToFiberContext 将用户信息设置到 Fiber context 的 Locals 中
// 同时也设置到标准 context 中,便于 GORM 查询使用
func SetUserToFiberContext(c *fiber.Ctx, info *UserContextInfo) {