CI / backend (push) Waiting to run
- 后端:新增 refresh_token 模型与服务,登录签发 refresh token,支持静默续期与登出撤销 (backend/internal/model/refresh_token.go, backend/internal/service/auth/refresh.go, auth_controller/auth_service/dto/router/jwt 配套改动) - 前端:登录页改为「记住登录」(只持久化引导令牌与用户名,不落盘密码),401 自动刷新并重试原请求 (stores/user.js, api/request.js, api/auth.js, main.js, Login.vue 配套改动) - 部署:已在容器中验证运行(镜像构建于 2026-11-03 00:50,服务 healthy) - 安全:仓库内无任何 .env/证书/密钥文件变更
42 lines
1.4 KiB
Go
42 lines
1.4 KiB
Go
package dto
|
|
|
|
// LoginRequest 登录请求 // Logan.Li
|
|
type LoginRequest struct {
|
|
Username string `json:"username" binding:"required"`
|
|
Password string `json:"password" binding:"required"`
|
|
}
|
|
|
|
// LoginResponse 登录响应 // Logan.Li
|
|
type LoginResponse struct {
|
|
Token string `json:"token"`
|
|
ExpiresIn int64 `json:"expires_in"` // 访问令牌有效期(秒)
|
|
RefreshToken string `json:"refresh_token"` // 一次性返回,前端按需本地保存
|
|
RefreshExpiresAt string `json:"refresh_expires_at"` // 刷新令牌到期时间(RFC3339)
|
|
UserInfo UserInfoResponse `json:"user_info"`
|
|
}
|
|
|
|
// RefreshRequest 刷新访问令牌请求 // Logan.Li
|
|
type RefreshRequest struct {
|
|
RefreshToken string `json:"refresh_token" binding:"required"`
|
|
}
|
|
|
|
// LogoutRequest 登出请求(撤销刷新令牌,缺省也返回成功) // Logan.Li
|
|
type LogoutRequest struct {
|
|
RefreshToken string `json:"refresh_token"`
|
|
}
|
|
|
|
// UserInfoResponse 用户信息响应 // Logan.Li
|
|
type UserInfoResponse struct {
|
|
ID uint `json:"id"`
|
|
Username string `json:"username"`
|
|
Email string `json:"email"`
|
|
Avatar string `json:"avatar"`
|
|
Role string `json:"role"`
|
|
}
|
|
|
|
// ChangePasswordRequest 修改密码请求 // Logan.Li
|
|
type ChangePasswordRequest struct {
|
|
OldPassword string `json:"old_password" binding:"required"`
|
|
NewPassword string `json:"new_password" binding:"required,min=6"`
|
|
}
|