✨ init project
This commit is contained in:
19
model/cache/user.go
vendored
Normal file
19
model/cache/user.go
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
package cache
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
// UserInfo 登录用的用户信息结构体
|
||||
type UserInfo struct {
|
||||
UserType string `json:"userType"` // 用户类型
|
||||
RoleCodes string `json:"roleCodes"` // 角色代码
|
||||
UserId string `json:"userId"` // 用户Id
|
||||
}
|
||||
|
||||
// String 实现Stringer接口
|
||||
func (i UserInfo) String() (string, error) {
|
||||
b, err := json.Marshal(i)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return string(b), nil
|
||||
}
|
18
model/entity/oauth2_client.go
Normal file
18
model/entity/oauth2_client.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"Lee-WineList/common/types"
|
||||
)
|
||||
|
||||
// OAuth2Client OAuth2客户端信息
|
||||
type OAuth2Client struct {
|
||||
types.BaseDbModel
|
||||
ClientId string `gorm:"type:varchar(255) not null"`
|
||||
ClientSecret string `gorm:"type:varchar(255) not null"`
|
||||
Grant string `gorm:"type:varchar(255) not null"` // 允许的授权范围,支持类型: oauth2.GrantType
|
||||
Domain string `gorm:"type:varchar(255)"`
|
||||
}
|
||||
|
||||
func (OAuth2Client) TableName() string {
|
||||
return "t_oauth2_client"
|
||||
}
|
19
model/entity/user.go
Normal file
19
model/entity/user.go
Normal file
@@ -0,0 +1,19 @@
|
||||
package entity
|
||||
|
||||
import (
|
||||
"Lee-WineList/common/types"
|
||||
)
|
||||
|
||||
// User 普通用户表
|
||||
type User struct {
|
||||
types.BaseDbModel
|
||||
Phone string `json:"phone" gorm:"index:deleted,unique;type:varchar(255) not null comment '手机号'"`
|
||||
UnionId string `json:"union_id" gorm:"type:varchar(255) comment '微信UnionId'"`
|
||||
OpenId string `json:"open_id" gorm:"type:varchar(255) comment '微信OpenId'"`
|
||||
Nickname string `json:"nickname" gorm:"type:varchar(255) comment '昵称'"`
|
||||
Avatar string `json:"avatar" gorm:"type:varchar(255) comment '头像'"`
|
||||
}
|
||||
|
||||
func (User) TableName() string {
|
||||
return "t_user"
|
||||
}
|
7
model/param/base.go
Normal file
7
model/param/base.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package param
|
||||
|
||||
// 分页通用参数
|
||||
type page struct {
|
||||
Current int `json:"current" form:"current" binding:"required"` // 页码
|
||||
Size int `json:"size" form:"size" binding:"required"` // 每页数量
|
||||
}
|
7
model/param/general.go
Normal file
7
model/param/general.go
Normal file
@@ -0,0 +1,7 @@
|
||||
package param
|
||||
|
||||
// SendSmsCode 获取短信验证码入参
|
||||
type SendSmsCode struct {
|
||||
Phone string `json:"phone" form:"phone" binding:"required"` // 手机号
|
||||
Key string `json:"key" form:"key" binding:"required"` // 验证码key
|
||||
}
|
23
model/param/login.go
Normal file
23
model/param/login.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package param
|
||||
|
||||
// Login 用户登录入参
|
||||
type Login struct {
|
||||
VerifyId string `json:"verifyId" form:"verifyId"` // 验证Id
|
||||
VerifyCode string `json:"verifyCode" form:"verifyCode"` // 验证码
|
||||
Username string `json:"username" form:"username" binding:"required"` // 邮箱或手机号
|
||||
Password string `json:"password" form:"password"` // 密码
|
||||
Code string `json:"code" form:"code"` // 微信小程序登录code
|
||||
}
|
||||
|
||||
// RefreshToken 刷新Token入参
|
||||
type RefreshToken struct {
|
||||
RefreshToken string `json:"refresh_token" form:"refresh_token" binding:"required"` // 刷新Token
|
||||
GrantType string `json:"grant_type" form:"grant_type" binding:"required"` // 授权类型,写refresh_token
|
||||
}
|
||||
|
||||
// DecryptMobile 解密用户手机号入参
|
||||
type DecryptMobile struct {
|
||||
SessionKey string `json:"sessionKey" form:"sessionKey"` // sessionKey
|
||||
EncryptedData string `json:"encryptedData" form:"encryptedData" binding:"required"` // 加密数据
|
||||
Iv string `json:"iv" form:"iv" binding:"required"` // 加密算法的初始向量
|
||||
}
|
36
model/param/user.go
Normal file
36
model/param/user.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package param
|
||||
|
||||
// BindingWeChat 绑定微信
|
||||
type BindingWeChat struct {
|
||||
Code string `json:"code" form:"code" binding:"required"` // 微信code
|
||||
}
|
||||
|
||||
type GetUserList struct {
|
||||
page
|
||||
Phone string `json:"phone" form:"phone"` // 手机号
|
||||
Status string `json:"status" form:"status" binding:"oneof='' NORMAL DISABLE"` // 用户状态
|
||||
StartAt string `json:"startAt" form:"startAt"` // 开始时间
|
||||
EndAt string `json:"endAt" form:"endAt"` // 结束时间
|
||||
}
|
||||
|
||||
// ChangeUserInfo 修改普通用户信息
|
||||
type ChangeUserInfo struct {
|
||||
Nickname string `json:"nickname" form:"nickname"` // 昵称
|
||||
Avatar string `json:"avatar" form:"avatar"` // 头像
|
||||
Birthday string `json:"birthday" form:"birthday"` // 生日
|
||||
}
|
||||
|
||||
// ChangePassword 修改密码
|
||||
type ChangePassword struct {
|
||||
OldPassword string `json:"oldPassword" form:"oldPassword" binding:"required"` // 旧密码
|
||||
NewPassword string `json:"newPassword" form:"oldPassword" binding:"required"` // 新密码
|
||||
ConfirmPassword string `json:"confirmPassword" form:"oldPassword" binding:"required,eqcsfield=NewPassword"` // 确认新密码
|
||||
}
|
||||
|
||||
// SaveUser 保存用户信息
|
||||
type SaveUser struct {
|
||||
Id int `json:"id" form:"id"` // 用户ID
|
||||
Username string `json:"username" form:"username"` // 用户名
|
||||
Nickname string `json:"nickname" form:"nickname"` // 昵称
|
||||
Password string `json:"password" form:"password"` // 密码
|
||||
}
|
22
model/resp/login.go
Normal file
22
model/resp/login.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package resp
|
||||
|
||||
// Code2Session 用户登录凭证校验模型
|
||||
type Code2Session struct {
|
||||
Code string
|
||||
AppId string
|
||||
AppSecret string
|
||||
}
|
||||
|
||||
// Code2SessionResult 凭证校验后返回的JSON数据包模型
|
||||
type Code2SessionResult struct {
|
||||
OpenId string `json:"openid"`
|
||||
SessionKey string `json:"session_key"`
|
||||
UnionId string `json:"unionid"`
|
||||
ErrCode uint `json:"errcode"`
|
||||
ErrMsg string `json:"errmsg"`
|
||||
}
|
||||
|
||||
// UserInfo 用户信息,OpenID用户唯一标识
|
||||
type UserInfo struct {
|
||||
OpenId string `json:"openId"`
|
||||
}
|
Reference in New Issue
Block a user