init project

This commit is contained in:
2023-04-24 17:19:41 +08:00
parent 84729ebb66
commit cdb5a4f9cd
51 changed files with 3328 additions and 1 deletions

19
model/cache/user.go vendored Normal file
View 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
}

View 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
View 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
View 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
View 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
View 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
View 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
View 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"`
}