package model type LoginRequest struct { Username string `json:"username" validate:"required"` Password string `json:"password" validate:"required"` Device string `json:"device" validate:"omitempty,oneof=web h5 mobile"` } type LoginResponse struct { AccessToken string `json:"access_token"` RefreshToken string `json:"refresh_token"` ExpiresIn int64 `json:"expires_in"` User UserInfo `json:"user"` Permissions []string `json:"permissions"` } type UserInfo struct { ID uint `json:"id"` Username string `json:"username"` Phone string `json:"phone"` UserType int `json:"user_type"` UserTypeName string `json:"user_type_name"` ShopID uint `json:"shop_id,omitempty"` ShopName string `json:"shop_name,omitempty"` EnterpriseID uint `json:"enterprise_id,omitempty"` EnterpriseName string `json:"enterprise_name,omitempty"` } type RefreshTokenRequest struct { RefreshToken string `json:"refresh_token" validate:"required"` } type RefreshTokenResponse struct { AccessToken string `json:"access_token"` ExpiresIn int64 `json:"expires_in"` } type ChangePasswordRequest struct { OldPassword string `json:"old_password" validate:"required"` NewPassword string `json:"new_password" validate:"required,min=8,max=32"` }