feat: 实现 Admin 首次初始化与网页登录 (#50)

This commit is contained in:
chengma
2026-08-09 13:36:41 +08:00
parent 1064ffed59
commit 0a7db404a1
17 changed files with 1140 additions and 12 deletions
+42
View File
@@ -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 商品**的采集进度。