feat(login): 添加Bcrypt密码哈希功能并集成用户认证 - 引入golang.org/x/crypto/bcrypt包用于密码哈希处理 - 实现HashPassword函数对密码进行Bcrypt哈希 - 实现CheckPasswordHash函数验证密码与哈希匹配 - 添加示例代码演示密码哈希和验证功能 feat(login): 集成外部用户信息服务 - 实现GetUserInfo方法调用外部服务获取用户信息 - 添加用户信息展示的示例代码 - 集成用户登录验证流程 fix
44 lines
1.6 KiB
Go
44 lines
1.6 KiB
Go
package model
|
||
|
||
import (
|
||
"blazing/cool"
|
||
)
|
||
|
||
const TableNameBaseSysUser = "base_sys_user"
|
||
|
||
// BaseSysUser mapped from table <base_sys_user>
|
||
type BaseSysUser struct {
|
||
*cool.Model
|
||
DepartmentID uint `gorm:"column:departmentId;type:bigint;index" json:"departmentId"` // 部门ID
|
||
|
||
Username string `gorm:"column:username;type:varchar(100);not null;Index" json:"username"` // 用户名
|
||
Password string `gorm:"column:password;type:varchar(255);" json:"password"` // 密码
|
||
PasswordV *int32 `gorm:"column:passwordV;type:int;not null;default:1" json:"passwordV"` // 密码版本, 作用是改完密码,让原来的token失效
|
||
|
||
HeadImg *string `gorm:"column:headImg;type:varchar(255)" json:"headImg"` // 头像
|
||
|
||
Email *string `gorm:"column:email;type:varchar(255)" json:"email"` // 邮箱
|
||
Status *int32 `gorm:"column:status;not null;default:1" json:"status"` // 状态 0:禁用 1:启用
|
||
GoldBean int64 `gorm:"column:goldbean;type:bigint;default:0" json:"goldbean"`
|
||
Remark *string `gorm:"column:remark;type:varchar(255)" json:"remark"` // 备注
|
||
Debug int32 `gorm:"column:debug;type:int;not null;default:0" json:"debug"` // 是否可以进入2服 测试服
|
||
Maxts uint32 `gorm:"column:max_ts;type:int;not null;default:0" json:"max_ts"` //最后生成的时间记录表
|
||
}
|
||
|
||
// TableName BaseSysUser's table name
|
||
func (*BaseSysUser) TableName() string {
|
||
return TableNameBaseSysUser
|
||
}
|
||
|
||
// NewBaseSysUser 创建一个新的BaseSysUser
|
||
func NewBaseSysUser() *BaseSysUser {
|
||
return &BaseSysUser{
|
||
Model: cool.NewModel(),
|
||
}
|
||
}
|
||
|
||
// init 创建表
|
||
func init() {
|
||
cool.CreateTable(&BaseSysUser{})
|
||
}
|