83 lines
4.6 KiB
Go
83 lines
4.6 KiB
Go
|
|
package model
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// User 用户模型
|
|||
|
|
type User struct {
|
|||
|
|
Id int `json:"id" dc:"主键"`
|
|||
|
|
Account string `json:"account" dc:"账号"`
|
|||
|
|
NickName string `json:"nick_name" dc:"昵称"`
|
|||
|
|
Avatar string `json:"avatar" dc:"头像"`
|
|||
|
|
Email string `json:"email" dc:"邮箱"`
|
|||
|
|
Password string `json:"-" dc:"登录密码"`
|
|||
|
|
Balance float64 `json:"balance" dc:"余额"`
|
|||
|
|
QrCode string `json:"qr_code" dc:"微信二维码地址"`
|
|||
|
|
RoleId int `json:"role_id" dc:"角色"`
|
|||
|
|
IsSysNotifications int `json:"is_sys_notifications" dc:"是否接受邮件系统通知"`
|
|||
|
|
IsCollectionNotifications int `json:"is_collection_notifications" dc:"是否接受收藏的项目更新信息"`
|
|||
|
|
IsMarketingNotifications int `json:"is_marketing_notifications" dc:"是否接受营销信息"`
|
|||
|
|
Ip string `json:"ip" dc:"本次登录ip"`
|
|||
|
|
IpTable interface{} `json:"ip_table" dc:"常用登录IP地址列表"`
|
|||
|
|
Status int `json:"status" dc:"状态 0:正常 1:冻结 2:封号 3:注销"`
|
|||
|
|
LastResetPasswordAt int `json:"last_reset_password_at" dc:"最后一次修改密码的时间"`
|
|||
|
|
CreatedAt *gtime.Time `json:"created_at" dc:"注册时间"`
|
|||
|
|
UpdatedAt *gtime.Time `json:"updated_at" dc:"编辑时间"`
|
|||
|
|
DeletedAt int `json:"deleted_at" dc:"删除时间"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UserListRequest 用户列表请求
|
|||
|
|
type UserListRequest struct {
|
|||
|
|
Page int `json:"page" dc:"页码"`
|
|||
|
|
PageSize int `json:"page_size" dc:"每页数量"`
|
|||
|
|
Keyword string `json:"keyword" dc:"关键词"`
|
|||
|
|
Status int `json:"status" dc:"状态"`
|
|||
|
|
RoleId int `json:"role_id" dc:"角色ID"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// CreateUserRequest 创建用户请求
|
|||
|
|
type CreateUserRequest struct {
|
|||
|
|
Account string `json:"account" v:"required|length:3,32#账号不能为空|账号长度为3-32位" dc:"账号"`
|
|||
|
|
NickName string `json:"nick_name" v:"required|length:2,64#昵称不能为空|昵称长度为2-64位" dc:"昵称"`
|
|||
|
|
Email string `json:"email" v:"required|email#邮箱不能为空|邮箱格式不正确" dc:"邮箱"`
|
|||
|
|
Password string `json:"password" v:"required|length:6,32#密码不能为空|密码长度为6-32位" dc:"密码"`
|
|||
|
|
Avatar string `json:"avatar" dc:"头像"`
|
|||
|
|
Balance float64 `json:"balance" dc:"余额"`
|
|||
|
|
RoleId int `json:"role_id" dc:"角色ID"`
|
|||
|
|
IsSysNotifications int `json:"is_sys_notifications" dc:"是否接受邮件系统通知"`
|
|||
|
|
IsCollectionNotifications int `json:"is_collection_notifications" dc:"是否接受收藏的项目更新信息"`
|
|||
|
|
IsMarketingNotifications int `json:"is_marketing_notifications" dc:"是否接受营销信息"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UpdateUserRequest 更新用户请求
|
|||
|
|
type UpdateUserRequest struct {
|
|||
|
|
NickName string `json:"nick_name" v:"required|length:2,64#昵称不能为空|昵称长度为2-64位" dc:"昵称"`
|
|||
|
|
Email string `json:"email" v:"required|email#邮箱不能为空|邮箱格式不正确" dc:"邮箱"`
|
|||
|
|
Avatar string `json:"avatar" dc:"头像"`
|
|||
|
|
Balance float64 `json:"balance" dc:"余额"`
|
|||
|
|
RoleId int `json:"role_id" dc:"角色ID"`
|
|||
|
|
Status int `json:"status" dc:"状态"`
|
|||
|
|
IsSysNotifications int `json:"is_sys_notifications" dc:"是否接受邮件系统通知"`
|
|||
|
|
IsCollectionNotifications int `json:"is_collection_notifications" dc:"是否接受收藏的项目更新信息"`
|
|||
|
|
IsMarketingNotifications int `json:"is_marketing_notifications" dc:"是否接受营销信息"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// ChangePasswordRequest 修改密码请求
|
|||
|
|
type ChangePasswordRequest struct {
|
|||
|
|
OldPassword string `json:"old_password" v:"required#原密码不能为空" dc:"原密码"`
|
|||
|
|
NewPassword string `json:"new_password" v:"required|length:6,32#新密码不能为空|新密码长度为6-32位" dc:"新密码"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UserLoginRequest 用户登录请求
|
|||
|
|
type UserLoginRequest struct {
|
|||
|
|
Account string `json:"account" v:"required#账号不能为空" dc:"账号"`
|
|||
|
|
Password string `json:"password" v:"required#密码不能为空" dc:"密码"`
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// UserLoginResponse 用户登录响应
|
|||
|
|
type UserLoginResponse struct {
|
|||
|
|
Token string `json:"token" dc:"访问令牌"`
|
|||
|
|
ExpiresIn int `json:"expires_in" dc:"过期时间(秒)"`
|
|||
|
|
User *User `json:"user" dc:"用户信息"`
|
|||
|
|
}
|