feat: portal auth login and password reset

This commit is contained in:
2025-12-25 09:58:34 +08:00
parent 48db4a045c
commit 0c7d4ef0ea
13 changed files with 989 additions and 5 deletions

View File

@@ -0,0 +1,45 @@
package dto
// PasswordResetSendSMSForm 找回密码:发送短信验证码表单。
type PasswordResetSendSMSForm struct {
// Phone 手机号当前版本将其作为用户名使用users.username
Phone string `json:"phone,omitempty"`
}
// PasswordResetSendSMSResponse 找回密码:发送短信验证码响应。
type PasswordResetSendSMSResponse struct {
// NextSendSeconds 下次可发送剩余秒数(用于前端 60s 倒计时)。
NextSendSeconds int `json:"nextSendSeconds"`
// Code 验证码(预留:当前用于前端弹窗展示;正式接入短信后应移除/仅在开发环境返回)。
Code string `json:"code,omitempty"`
}
// PasswordResetVerifyForm 找回密码:验证码校验表单。
type PasswordResetVerifyForm struct {
// Phone 手机号。
Phone string `json:"phone,omitempty"`
// Code 短信验证码。
Code string `json:"code,omitempty"`
}
// PasswordResetVerifyResponse 找回密码:验证码校验响应。
type PasswordResetVerifyResponse struct {
// ResetToken 重置令牌;验证码校验通过后,用该令牌提交新密码。
ResetToken string `json:"resetToken"`
}
// PasswordResetForm 找回密码:重置密码表单。
type PasswordResetForm struct {
// ResetToken 重置令牌;由验证码校验接口返回。
ResetToken string `json:"resetToken,omitempty"`
// Password 新密码(明文)。
Password string `json:"password,omitempty"`
// ConfirmPassword 确认新密码;必须与 Password 一致。
ConfirmPassword string `json:"confirmPassword,omitempty"`
}
// PasswordResetResponse 找回密码:重置密码响应。
type PasswordResetResponse struct {
// Ok 是否成功。
Ok bool `json:"ok"`
}