feat: 实现 Admin 首次初始化与网页登录 (#50)
This commit is contained in:
@@ -46,6 +46,48 @@ func ParseISO(s string) (time.Time, bool) {
|
||||
return ts, true
|
||||
}
|
||||
|
||||
// ---------- Admin 用户与网页登录 ----------
|
||||
|
||||
// UserRole 是 Admin 网页账号的固定角色。本阶段不做可配置 RBAC。
|
||||
type UserRole string
|
||||
|
||||
const (
|
||||
RoleAdmin UserRole = "admin"
|
||||
RolePurchaser UserRole = "purchaser"
|
||||
)
|
||||
|
||||
// UserStatus 表示账号是否允许登录。
|
||||
type UserStatus string
|
||||
|
||||
const (
|
||||
UserActive UserStatus = "active"
|
||||
UserDisabled UserStatus = "disabled"
|
||||
)
|
||||
|
||||
// User 是一个 Admin 网页账号。PasswordHash 只在认证服务内部使用,
|
||||
// 模板和日志都不得输出它。
|
||||
type User struct {
|
||||
UserID string
|
||||
Username string
|
||||
PasswordHash string
|
||||
Role UserRole
|
||||
Status UserStatus
|
||||
LastLoginAt string
|
||||
PasswordChangedAt string
|
||||
CreatedAt string
|
||||
UpdatedAt string
|
||||
}
|
||||
|
||||
// WebSession 是服务端保存的网页登录状态。SessionHash 是浏览器随机 Token
|
||||
// 的 SHA-256,不是 Token 原文。
|
||||
type WebSession struct {
|
||||
SessionHash string
|
||||
UserID string
|
||||
ExpiresAt string
|
||||
CreatedAt string
|
||||
LastSeenAt string
|
||||
}
|
||||
|
||||
// ---------- 蝦皮 ----------
|
||||
|
||||
// CollectStatus 是一个 **PDD 商品**的采集进度。
|
||||
|
||||
Reference in New Issue
Block a user