Files
gfast/app/system/dao/context.go
T
2021-07-20 11:11:30 +08:00

42 lines
1.2 KiB
Go

package dao
import (
"gfast/app/system/model"
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)
const (
// CtxKey 上下文变量存储键名,前后端系统共享
CtxKey = "GFastContext"
)
// Context 请求上下文结构
type Context struct {
Session *ghttp.Session // 当前Session管理对象
User *CtxUser // 上下文用户信息
Data g.Map // 自定KV变量,业务模块根据需要设置,不固定
}
// CtxUser 请求上下文中的用户信息
type CtxUser struct {
Id uint64 `json:"id"` // 用户id
UserName string `json:"userName"` // 用户名
DeptId uint64 `json:"deptId"` // 部门id
UserNickname string `json:"userNickname"` // 用户昵称
UserStatus uint `json:"userStatus"` // 用户状态;0:禁用,1:正常,2:未验证
IsAdmin int `json:"isAdmin"` // 是否后台管理员 1 是 0 否
Avatar string `json:"avatar"` //头像
}
// GetUserId 获取登录用户id
func (ctxUser *CtxUser) GetUserId() (id uint64) {
return ctxUser.Id
}
// GetDept 获取登录用户所属部门
func (ctxUser *CtxUser) GetDept() (err error, dept *model.SysDept) {
err = g.DB().Model(SysDept.Table).WherePri(ctxUser.DeptId).Scan(&dept)
return
}