// Package hook // @Link https://github.com/bufanyun/hotgo // @Copyright Copyright (c) 2023 HotGo CLI // @Author Ms <133814250@qq.com> // @License https://github.com/bufanyun/hotgo/blob/master/LICENSE package hook import ( "context" "github.com/gogf/gf/v2/container/gvar" "github.com/gogf/gf/v2/database/gdb" "github.com/gogf/gf/v2/frame/g" ) // MemberInfo 后台用户信息 var MemberInfo = gdb.HookHandler{ Select: func(ctx context.Context, in *gdb.HookSelectInput) (result gdb.Result, err error) { result, err = in.Next(ctx) if err != nil { return } for i, record := range result { // 部门 if !record["dept_id"].IsEmpty() { deptName, err := g.Model("admin_dept").Ctx(ctx). Fields("name"). Where("id", record["dept_id"]). Value() if err != nil { break } record["deptName"] = deptName } // 角色 if !record["role_id"].IsEmpty() { roleName, err := g.Model("admin_role").Ctx(ctx). Fields("name"). Where("id", record["role_id"]). Value() if err != nil { break } record["roleName"] = roleName } if !record["password_hash"].IsEmpty() { record["password_hash"] = gvar.New("") } if !record["salt"].IsEmpty() { record["salt"] = gvar.New("") } if !record["auth_key"].IsEmpty() { record["auth_key"] = gvar.New("") } result[i] = record } return }, }