版本预发布

This commit is contained in:
孟帅
2023-02-08 20:29:34 +08:00
parent f11c7c5bf2
commit 2068d05c93
269 changed files with 16122 additions and 12075 deletions

View File

@@ -1,14 +1,37 @@
package model
// BasicConfig 基础配置
type BasicConfig struct {
CaptchaSwitch int `json:"basicCaptchaSwitch"`
CloseText string `json:"basicCloseText"`
Copyright string `json:"basicCopyright"`
IcpCode string `json:"basicIcpCode"`
Logo string `json:"basicLogo"`
Name string `json:"basicName"`
Domain string `json:"basicDomain"`
RegisterSwitch int `json:"basicRegisterSwitch"`
SystemOpen bool `json:"basicSystemOpen"`
}
// EmailTemplate 邮件模板
type EmailTemplate struct {
Key string `json:"key"`
Value string `json:"value"`
}
// EmailConfig 邮箱配置
type EmailConfig struct {
User string `json:"smtpUser"`
Password string `json:"smtpPass"`
Addr string `json:"smtpAddr"`
Host string `json:"smtpHost"`
Port int64 `json:"smtpPort"`
SendName string `json:"smtpSendName"`
AdminMailbox string `json:"smtpAdminMailbox"`
User string `json:"smtpUser"`
Password string `json:"smtpPass"`
Addr string `json:"smtpAddr"`
Host string `json:"smtpHost"`
Port int64 `json:"smtpPort"`
SendName string `json:"smtpSendName"`
AdminMailbox string `json:"smtpAdminMailbox"`
MinInterval int `json:"smtpMinInterval"`
MaxIpLimit int `json:"smtpMaxIpLimit"`
CodeExpire int `json:"smtpCodeExpire"`
Template []*EmailTemplate `json:"smtpTemplate"`
}
// CashConfig 提现配置
@@ -92,6 +115,7 @@ type ServeLogConfig struct {
// GenerateAppCrudTemplate curd模板
type GenerateAppCrudTemplate struct {
Group string `json:"group"`
MasterPackage string `json:"masterPackage"`
TemplatePath string `json:"templatePath"`
ApiPath string `json:"apiPath"`
InputPath string `json:"inputPath"`

View File

@@ -21,20 +21,17 @@ type Context struct {
// Identity 通用身份模型
type Identity struct {
Id int64 `json:"id" description:"会员ID"`
Pid int64 `json:"pid" description:"上级ID"`
DeptId int64 `json:"deptId" description:"部门ID"`
RoleId int64 `json:"roleId" description:"角色ID"`
RoleKey string `json:"roleKey" description:"角色唯一标识符"`
Username string `json:"username" description:"用户名"`
RealName string `json:"realName" description:"昵称"`
Avatar string `json:"avatar" description:"头像"`
Email string `json:"email" description:"邮箱"`
Mobile string `json:"mobile" description:"手机号码"`
VisitCount uint `json:"visitCount" description:"访问次数"`
LastTime int `json:"lastTime" description:"最后一次登录时间"`
LastIp string `json:"lastIp" description:"最后一次登录ip"`
Exp int64 `json:"exp" description:"登录有效期截止时间戳"`
Expires int64 `json:"expires" description:"登录有效期"`
App string `json:"app" description:"登录应用"`
Id int64 `json:"id" description:"用户ID"`
Pid int64 `json:"pid" description:"上级ID"`
DeptId int64 `json:"deptId" description:"部门ID"`
RoleId int64 `json:"roleId" description:"角色ID"`
RoleKey string `json:"roleKey" description:"角色唯一标识符"`
Username string `json:"username" description:"用户名"`
RealName string `json:"realName" description:"姓名"`
Avatar string `json:"avatar" description:"头像"`
Email string `json:"email" description:"邮箱"`
Mobile string `json:"mobile" description:"手机号码"`
Exp int64 `json:"exp" description:"登录有效期截止时间戳"`
Expires int64 `json:"expires" description:"登录有效期"`
App string `json:"app" description:"登录应用"`
}

View File

@@ -5,6 +5,7 @@
package do
import (
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
@@ -21,22 +22,20 @@ type AdminMember struct {
Salt interface{} // 密码盐
AuthKey interface{} // 授权令牌
PasswordResetToken interface{} // 密码重置令牌
Balance interface{} // 余额
Avatar interface{} // 头像
Sex interface{} // 性别
Qq interface{} // qq
Email interface{} // 邮箱
Mobile interface{} // 手机号码
Birthday *gtime.Time // 生日
ProvinceId interface{} // 省编码
CityId interface{} // 城市编码
CountyId interface{} // 区域编码
Address interface{} // 联系地址
VisitCount interface{} // 访问次数
LastTime interface{} // 最后一次登录时间
LastIp interface{} // 最后一次登录ip
Pid interface{} // 上级管理员ID
Level interface{} // 关系树等级
Tree interface{} // 关系树
Cash *gjson.Json // 提现配置
LastActiveAt *gtime.Time // 最后活跃时间
Remark interface{} // 备注
Status interface{} // 状态
CreatedAt *gtime.Time // 创建时间

View File

@@ -5,6 +5,7 @@
package do
import (
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
@@ -15,12 +16,15 @@ type AdminNotice struct {
Id interface{} // 公告ID
Title interface{} // 公告标题
Type interface{} // 公告类型
Tag interface{} // 标签
Content interface{} // 公告内容
Receiver interface{} // 接收者
Reader interface{} // 已读人
Receiver *gjson.Json // 接收者
Remark interface{} // 备注
Sort interface{} // 排序
Status interface{} // 公告状态
CreatedBy interface{} // 发送人
UpdatedBy interface{} // 修改人
CreatedAt *gtime.Time // 创建时间
UpdatedAt *gtime.Time // 更新时间
DeletedAt *gtime.Time // 删除时间
}

View File

@@ -0,0 +1,21 @@
// =================================================================================
// Code generated by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// AdminNoticeRead is the golang structure of table hg_admin_notice_read for DAO operations like Where/Data.
type AdminNoticeRead struct {
g.Meta `orm:"table:hg_admin_notice_read, do:true"`
Id interface{} // 记录ID
NoticeId interface{} // 公告ID
MemberId interface{} // 会员ID
Clicks interface{} // 已读次数
UpdatedAt *gtime.Time // 更新时间
CreatedAt *gtime.Time // 阅读时间
}

View File

@@ -0,0 +1,25 @@
// =================================================================================
// Code generated by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// SysEmsLog is the golang structure of table hg_sys_ems_log for DAO operations like Where/Data.
type SysEmsLog struct {
g.Meta `orm:"table:hg_sys_ems_log, do:true"`
Id interface{} // 主键
Event interface{} // 事件
Email interface{} // 邮箱地址,多个用;隔开
Code interface{} // 验证码
Times interface{} // 验证次数
Content interface{} // 邮件内容
Ip interface{} // ip地址
Status interface{} // 状态(1未验证,2已验证)
CreatedAt *gtime.Time // 创建时间
UpdatedAt *gtime.Time // 更新时间
}

View File

@@ -15,6 +15,7 @@ type SysGenCodes struct {
g.Meta `orm:"table:hg_sys_gen_codes, do:true"`
Id interface{} // 生成ID
GenType interface{} // 生成类型
GenTemplate interface{} // 生成模板
VarName interface{} // 实体命名
Options *gjson.Json // 配置选项
DbName interface{} // 数据库名称

View File

@@ -19,6 +19,7 @@ type SysGenCurdDemo struct {
Content interface{} // 内容
Image interface{} // 单图
Attachfile interface{} // 附件
CityId interface{} // 所在城市
Switch interface{} // 显示开关
Sort interface{} // 排序
Status interface{} // 状态

View File

@@ -19,6 +19,7 @@ type SysLoginLog struct {
Username interface{} // 用户名
Response *gjson.Json // 响应数据
LoginAt *gtime.Time // 登录时间
LoginIp interface{} // 登录IP
ErrMsg interface{} // 错误提示
Status interface{} // 状态
CreatedAt *gtime.Time // 创建时间

View File

@@ -39,6 +39,7 @@ type Test struct {
Mobile interface{} // 手机号码
Hobby *gjson.Json // 爱好
Channel interface{} // 渠道
CityId interface{} // 所在城市
Pid interface{} // 上级ID
Level interface{} // 树等级
Tree interface{} // 关系树

View File

@@ -5,6 +5,7 @@
package entity
import (
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/os/gtime"
)
@@ -19,22 +20,20 @@ type AdminMember struct {
Salt string `json:"salt" description:"密码盐"`
AuthKey string `json:"authKey" description:"授权令牌"`
PasswordResetToken string `json:"passwordResetToken" description:"密码重置令牌"`
Balance float64 `json:"balance" description:"余额"`
Avatar string `json:"avatar" description:"头像"`
Sex int `json:"sex" description:"性别"`
Qq string `json:"qq" description:"qq"`
Email string `json:"email" description:"邮箱"`
Mobile string `json:"mobile" description:"手机号码"`
Birthday *gtime.Time `json:"birthday" description:"生日"`
ProvinceId int64 `json:"provinceId" description:"省编码"`
CityId int64 `json:"cityId" description:"城市编码"`
CountyId int64 `json:"countyId" description:"区域编码"`
Address string `json:"address" description:"联系地址"`
VisitCount uint `json:"visitCount" description:"访问次数"`
LastTime int `json:"lastTime" description:"最后一次登录时间"`
LastIp string `json:"lastIp" description:"最后一次登录ip"`
Pid int64 `json:"pid" description:"上级管理员ID"`
Level int `json:"level" description:"关系树等级"`
Tree string `json:"tree" description:"关系树"`
Cash *gjson.Json `json:"cash" description:"提现配置"`
LastActiveAt *gtime.Time `json:"lastActiveAt" description:"最后活跃时间"`
Remark string `json:"remark" description:"备注"`
Status int `json:"status" description:"状态"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`

View File

@@ -5,6 +5,7 @@
package entity
import (
"github.com/gogf/gf/v2/encoding/gjson"
"github.com/gogf/gf/v2/os/gtime"
)
@@ -13,12 +14,15 @@ type AdminNotice struct {
Id int64 `json:"id" description:"公告ID"`
Title string `json:"title" description:"公告标题"`
Type int64 `json:"type" description:"公告类型"`
Tag int `json:"tag" description:"标签"`
Content string `json:"content" description:"公告内容"`
Receiver string `json:"receiver" description:"接收者"`
Reader string `json:"reader" description:"已读人"`
Receiver *gjson.Json `json:"receiver" description:"接收者"`
Remark string `json:"remark" description:"备注"`
Sort int `json:"sort" description:"排序"`
Status int `json:"status" description:"公告状态"`
CreatedBy int64 `json:"createdBy" description:"发送人"`
UpdatedBy int64 `json:"updatedBy" description:"修改人"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"更新时间"`
DeletedAt *gtime.Time `json:"deletedAt" description:"删除时间"`
}

View File

@@ -0,0 +1,19 @@
// =================================================================================
// Code generated by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// AdminNoticeRead is the golang structure for table admin_notice_read.
type AdminNoticeRead struct {
Id int64 `json:"id" description:"记录ID"`
NoticeId int64 `json:"noticeId" description:"公告ID"`
MemberId int64 `json:"memberId" description:"会员ID"`
Clicks int `json:"clicks" description:"已读次数"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"更新时间"`
CreatedAt *gtime.Time `json:"createdAt" description:"阅读时间"`
}

View File

@@ -0,0 +1,23 @@
// =================================================================================
// Code generated by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// SysEmsLog is the golang structure for table sys_ems_log.
type SysEmsLog struct {
Id int64 `json:"id" description:"主键"`
Event string `json:"event" description:"事件"`
Email string `json:"email" description:"邮箱地址,多个用;隔开"`
Code string `json:"code" description:"验证码"`
Times int64 `json:"times" description:"验证次数"`
Content string `json:"content" description:"邮件内容"`
Ip string `json:"ip" description:"ip地址"`
Status int `json:"status" description:"状态(1未验证,2已验证)"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"更新时间"`
}

View File

@@ -13,6 +13,7 @@ import (
type SysGenCodes struct {
Id int64 `json:"id" description:"生成ID"`
GenType uint `json:"genType" description:"生成类型"`
GenTemplate int `json:"genTemplate" description:"生成模板"`
VarName string `json:"varName" description:"实体命名"`
Options *gjson.Json `json:"options" description:"配置选项"`
DbName string `json:"dbName" description:"数据库名称"`

View File

@@ -17,6 +17,7 @@ type SysGenCurdDemo struct {
Content string `json:"content" description:"内容"`
Image string `json:"image" description:"单图"`
Attachfile string `json:"attachfile" description:"附件"`
CityId int64 `json:"cityId" description:"所在城市"`
Switch int `json:"switch" description:"显示开关"`
Sort int `json:"sort" description:"排序"`
Status int `json:"status" description:"状态"`

View File

@@ -17,6 +17,7 @@ type SysLoginLog struct {
Username string `json:"username" description:"用户名"`
Response *gjson.Json `json:"response" description:"响应数据"`
LoginAt *gtime.Time `json:"loginAt" description:"登录时间"`
LoginIp string `json:"loginIp" description:"登录IP"`
ErrMsg string `json:"errMsg" description:"错误提示"`
Status int `json:"status" description:"状态"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`

View File

@@ -37,6 +37,7 @@ type Test struct {
Mobile string `json:"mobile" description:"手机号码"`
Hobby *gjson.Json `json:"hobby" description:"爱好"`
Channel int `json:"channel" description:"渠道"`
CityId int64 `json:"cityId" description:"所在城市"`
Pid int64 `json:"pid" description:"上级ID"`
Level int `json:"level" description:"树等级"`
Tree string `json:"tree" description:"关系树"`

View File

@@ -12,15 +12,34 @@ import (
"hotgo/internal/model/input/form"
)
// GetIdByCodeInp 通过邀请码获取会员ID
// MemberUpdateCashInp 更新会员提现信息
type MemberUpdateCashInp struct {
Name string `json:"name" v:"required#支付宝姓名不能为空" dc:"支付宝姓名"`
PayeeCode string `json:"payeeCode" v:"required#支付宝收款码不能为空" dc:"支付宝收款码"`
Account string `json:"account" v:"required#支付宝账号不能为空" dc:"支付宝账号"`
Password string `json:"password" v:"required#密码不能为空" dc:"密码"`
}
type MemberUpdateEmailInp struct {
Email string `json:"email" v:"required#换绑邮箱不能为空" dc:"换绑邮箱"`
Code string `json:"code" dc:"原邮箱验证码"`
}
// MemberUpdateMobileInp 换绑手机号
type MemberUpdateMobileInp struct {
Mobile string `json:"mobile" v:"required#换绑手机号不能为空" dc:"换绑手机号"`
Code string `json:"code" dc:"原号码短信验证码"`
}
// GetIdByCodeInp 通过邀请码获取用户ID
type GetIdByCodeInp struct {
Code string `json:"code""`
Code string `json:"code"`
}
type GetIdByCodeModel struct {
Id int64
}
// MemberProfileInp 获取指定会员资料
// MemberProfileInp 获取指定用户资料
type MemberProfileInp struct {
Id int64
}
@@ -34,30 +53,34 @@ type MemberProfileModel struct {
RoleIds int64 `json:"roleIds" description:"当前角色"`
}
// MemberUpdateProfileInp 更新会员资料
// MemberUpdateProfileInp 更新用户资料
type MemberUpdateProfileInp struct {
Mobile int
Email string
Realname string
Avatar string `json:"avatar" v:"required#头像不能为空" dc:"头像"`
RealName string `json:"realName" v:"required#真实姓名不能为空" dc:"真实姓名"`
Qq string `json:"qq" dc:"QQ"`
Birthday *gtime.Time `json:"birthday" dc:"生日"`
Sex int `json:"sex" dc:"性别"`
Address string `json:"address" dc:"联系地址"`
CityId int64 `json:"cityId" dc:"城市编码"`
}
// MemberUpdatePwdInp 修改登录密码
type MemberUpdatePwdInp struct {
Id int64
OldPassword string
NewPassword string
OldPassword string `json:"oldPassword" v:"required#原密码不能为空" dc:"原密码"`
NewPassword string `json:"newPassword" v:"required|length:6,16#新密码不能为空#新密码需在6~16之间" dc:"新密码"`
}
// MemberResetPwdInp 重置密码
type MemberResetPwdInp struct {
Password string
Id int64
Password string `json:"password" v:"required#密码不能为空" dc:"密码"`
Id int64 `json:"id" dc:"用户ID"`
}
// MemberEmailUniqueInp 邮箱是否唯一
type MemberEmailUniqueInp struct {
Email string
Id int64
Email string `json:"email" v:"required#邮箱不能为空" dc:"邮箱"`
Id int64 `json:"id" dc:"用户ID"`
}
type MemberEmailUniqueModel struct {
@@ -66,8 +89,8 @@ type MemberEmailUniqueModel struct {
// MemberMobileUniqueInp 手机号是否唯一
type MemberMobileUniqueInp struct {
Mobile string
Id int64
Mobile string `json:"mobile" v:"required#手机号不能为空" dc:"手机号"`
Id int64 `json:"id" dc:"用户ID"`
}
type MemberMobileUniqueModel struct {
@@ -76,8 +99,8 @@ type MemberMobileUniqueModel struct {
// MemberNameUniqueInp 名称是否唯一
type MemberNameUniqueInp struct {
Username string
Id int64
Username string `json:"username" v:"required#用户名称不能为空" dc:"用户名称"`
Id int64 `json:"id" dc:"用户ID"`
}
type MemberNameUniqueModel struct {
@@ -86,7 +109,7 @@ type MemberNameUniqueModel struct {
// MemberMaxSortInp 最大排序
type MemberMaxSortInp struct {
Id int64
Id int64 `json:"id" dc:"用户ID"`
}
type MemberMaxSortModel struct {
@@ -101,7 +124,7 @@ type MemberEditInp struct {
DeptId int64 `json:"deptId" v:"required#部门不能为空" description:"部门ID"`
Username string `json:"username" v:"required#账号不能为空" description:"帐号"`
Password string `json:"password" description:"密码"`
Realname string `json:"realName" description:"真实姓名"`
RealName string `json:"realName" description:"真实姓名"`
Avatar string `json:"avatar" description:"头像"`
Sex string `json:"sex" description:"性别"`
Qq string `json:"qq" description:"qq"`
@@ -120,8 +143,8 @@ type MemberEditInp struct {
type MemberAddInp struct {
MemberEditInp
PasswordHash string `json:"passwordHash" description:"密码hash"`
Salt string `json:"salt" description:"密码盐"`
PasswordHash string `json:"passwordHash" description:"密码hash"`
Salt string `json:"salt" description:"密码盐"`
Pid int64 `json:"pid" description:"上级ID"`
Level int `json:"level" description:"等级"`
Tree string `json:"tree" description:"关系树"`
@@ -131,17 +154,19 @@ type MemberEditModel struct{}
// MemberDeleteInp 删除字典类型
type MemberDeleteInp struct {
Id interface{}
Id interface{} `json:"id" v:"required#用户ID不能为空" dc:"用户ID"`
}
type MemberDeleteModel struct{}
// MemberViewInp 获取信息
type MemberViewInp struct {
Id int64
Id int64 `json:"id" dc:"用户ID"`
}
type MemberViewModel struct {
entity.AdminMember
DeptName string `json:"deptName" description:"所属部门"`
RoleName string `json:"roleName" description:"所属角色"`
}
// MemberListInp 获取列表
@@ -149,21 +174,21 @@ type MemberListInp struct {
form.PageReq
form.RangeDateReq
form.StatusReq
Name string
Code string
DeptId int
Mobile int
Username string
Realname string
CreatedAt []int64
DeptId int `json:"deptId" dc:"部门ID"`
Mobile int `json:"mobile" dc:"手机号"`
Username string `json:"username" dc:"用户名"`
RealName string `json:"realName" dc:"真实姓名"`
Name string `json:"name" dc:"岗位名称"`
Code string `json:"code" dc:"岗位编码"`
CreatedAt []int64 `json:"createdAt" dc:"创建时间"`
}
type MemberListModel struct {
entity.AdminMember
DeptName string `json:"deptName"`
RoleName string `json:"roleName"`
PostIds []int64 `json:"postIds"`
DeptId int64 `json:"deptId" description:"部门ID"`
DeptName string `json:"deptName" description:"所属部门"`
RoleName string `json:"roleName" description:"所属角色"`
PostIds []int64 `json:"postIds" description:"岗位"`
DeptId int64 `json:"deptId" description:"部门ID"`
}
// MemberLoginInp 登录
@@ -172,18 +197,42 @@ type MemberLoginInp struct {
Password string
}
type MemberLoginModel struct {
UserId int64 `json:"userId" description:"会员ID"`
Username string `json:"username" description:"用户名"`
RealName string `json:"realName" description:"昵称"`
Avatar string `json:"avatar" description:"头像"`
Token string `json:"token" v:"" description:"登录token"`
Permissions []*MemberLoginPermissions `json:"permissions" description:"角色信息"`
Id int64 `json:"id" description:"用户ID"`
Token string `json:"token" description:"登录token"`
Expires int64 `json:"expires" description:"登录有效期"`
}
type LoginMemberInfoModel struct {
Id int64 `json:"id" description:"用户ID"`
DeptName string `json:"deptName" description:"所属部门"`
RoleName string `json:"roleName" description:"所属角色"`
Permissions []string `json:"permissions" description:"角色信息"`
DeptId int64 `json:"-" description:"部门ID"`
RoleId int64 `json:"-" description:"角色ID"`
Username string `json:"username" description:"用户名"`
RealName string `json:"realName" description:"姓名"`
Avatar string `json:"avatar" description:"头像"`
Balance float64 `json:"balance" description:"余额"`
Sex int `json:"sex" description:"性别"`
Qq string `json:"qq" description:"qq"`
Email string `json:"email" description:"邮箱"`
Mobile string `json:"mobile" description:"手机号码"`
Birthday *gtime.Time `json:"birthday" description:"生日"`
CityId int64 `json:"cityId" description:"城市编码"`
Address string `json:"address" description:"联系地址"`
Cash *MemberCash `json:"cash" description:"收款信息"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建时间"`
*MemberLoginStatModel
}
// MemberLoginPermissions 登录用户角色信息
type MemberLoginPermissions struct {
Label string `json:"label" description:"标签"`
Value string `json:"value" description:"值"`
type MemberLoginPermissions []string
// MemberCash 用户提现配置
type MemberCash struct {
Name string `json:"name" dc:"收款人姓名"`
Account string `json:"account" dc:"收款账户"`
PayeeCode string `json:"payeeCode" dc:"收款码"`
}
// MemberStatusInp 更新状态
@@ -191,3 +240,25 @@ type MemberStatusInp struct {
entity.AdminPost
}
type MemberStatusModel struct{}
// MemberSelectInp 获取可选的后台用户选项
type MemberSelectInp struct {
}
type MemberSelectModel struct {
Value int64 `json:"value" dc:"用户ID"`
Label string `json:"label" dc:"真实姓名"`
Username string `json:"username" dc:"用户名"`
Avatar string `json:"avatar" dc:"头像"`
}
// MemberLoginStatInp 用户登录统计
type MemberLoginStatInp struct {
MemberId int64
}
type MemberLoginStatModel struct {
LoginCount int `json:"loginCount" dc:"登录次数"`
LastLoginAt *gtime.Time `json:"lastLoginAt" dc:"最后登录时间"`
LastLoginIp string `json:"lastLoginIp" dc:"最后登录IP"`
}

View File

@@ -15,7 +15,7 @@ import (
// MenuMaxSortReq 菜单最大排序
type MenuMaxSortReq struct {
g.Meta `path:"/menu/max_sort" method:"get" tags:"菜单" summary:"菜单最大排序"`
g.Meta `path:"/menu/maxSort" method:"get" tags:"菜单" summary:"菜单最大排序"`
Id int64 `json:"id" dc:"菜单ID"`
}
type MenuMaxSortRes struct {

View File

@@ -7,6 +7,7 @@
package adminin
import (
"github.com/gogf/gf/v2/os/gtime"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/form"
)
@@ -20,23 +21,23 @@ type NoticeMaxSortModel struct {
Sort int
}
// NoticeEditInp 修改/新增字典数据
// NoticeEditInp 修改/新增
type NoticeEditInp struct {
entity.AdminNotice
Receiver string `json:"receiver" description:"接收者"`
Reader string `json:"reader" description:"已读人"`
Receiver []int64 `json:"receiver" dc:"接收者"`
SenderAvatar string `json:"senderAvatar" dc:"发送者头像"`
}
type NoticeEditModel struct{}
// NoticeDeleteInp 删除字典类型
type NoticeDeleteInp struct {
Id interface{}
Id interface{} `json:"id" v:"required#公告ID不能为空" dc:"公告ID"`
}
type NoticeDeleteModel struct{}
// NoticeViewInp 获取信息
type NoticeViewInp struct {
Id int64
Id int64 `json:"id" v:"required#公告ID不能为空" dc:"公告ID"`
}
type NoticeViewModel struct {
@@ -50,11 +51,13 @@ type NoticeListInp struct {
form.StatusReq
Title string
Content string
Type int64
}
type NoticeListModel struct {
entity.AdminNotice
ReceiveNum int `json:"receiveNum"`
ReadCount float64 `json:"readCount" dc:"阅读次数"`
ReceiverGroup []form.AvatarGroup `json:"receiverGroup" dc:"接收人头像组"`
}
// NoticeStatusInp 更新状态
@@ -62,3 +65,66 @@ type NoticeStatusInp struct {
entity.AdminNotice
}
type NoticeStatusModel struct{}
// NoticeUpReadInp 更新已读
type NoticeUpReadInp struct {
Id int64 `json:"id" v:"required#公告ID不能为空" dc:"公告ID"`
}
// NoticeReadAllInp 全部已读
type NoticeReadAllInp struct {
Type int64 `json:"type" v:"required#公告类型不能为空" dc:"公告类型"`
}
// PullMessagesInp 获取列表
type PullMessagesInp struct {
Limit int `json:"limit" dc:"拉取最大数量限制"`
}
type PullMessagesRow struct {
Id int64 `json:"id" dc:"消息ID"`
Type int64 `json:"type" dc:"消息类型"`
Title string `json:"title" dc:"消息标题"`
Content string `json:"content" dc:"消息内容"`
Tag int64 `json:"tag" dc:"标签"`
Sort int64 `json:"sort" dc:"排序"`
CreatedBy int64 `json:"createdBy" dc:"发送人"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
SenderAvatar string `json:"senderAvatar" dc:"发送者头像"`
IsRead bool `json:"isRead" dc:"是否已读"`
}
type PullMessagesModel struct {
List []*PullMessagesRow `json:"list" dc:"消息列表"`
*NoticeUnreadCountModel
}
type NoticeUnreadCountInp struct {
MemberId int64
MessageIds []int64
}
type NoticeUnreadCountModel struct {
NotifyCount int `json:"notifyCount" dc:"未读通知数量"`
NoticeCount int `json:"noticeCount" dc:"未读公告数量"`
LetterCount int `json:"letterCount" dc:"未读私信数量"`
}
// NoticeMessageListInp 我的消息列表
type NoticeMessageListInp struct {
form.PageReq
Type int64 `json:"type" v:"required#公告类型不能为空" dc:"公告类型"`
}
type NoticeMessageListModel struct {
Id int64 `json:"id" dc:"消息ID"`
Type int64 `json:"type" dc:"消息类型"`
Title string `json:"title" dc:"消息标题"`
Content string `json:"content" dc:"消息内容"`
Tag int64 `json:"tag" dc:"标签"`
Sort int64 `json:"sort" dc:"排序"`
CreatedBy int64 `json:"createdBy" dc:"发送人"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
SenderAvatar string `json:"senderAvatar" dc:"发送者头像"`
IsRead bool `json:"isRead" dc:"是否已读"`
}

View File

@@ -19,6 +19,8 @@ type RoleListInp struct {
type RoleListModel struct {
entity.AdminRole
Label string `json:"label" dc:"标签"`
Value int64 `json:"value" dc:"键值"`
}
// RoleMemberListInp 查询列表

View File

@@ -115,3 +115,14 @@ type SelectInt64 struct {
Label string `json:"label"`
Name string `json:"name"`
}
// DefaultMaxSort 默认最大排序
func DefaultMaxSort(ctx context.Context, baseSort int) int {
return baseSort + g.Cfg().MustGet(ctx, "hotgo.admin.maxSortIncrement", 10).Int()
}
// AvatarGroup 头像组
type AvatarGroup struct {
Name string `json:"name" dc:"姓名"`
Src string `json:"src" dc:"头像地址"`
}

View File

@@ -3,8 +3,8 @@
// @Copyright Copyright (c) 2023 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
// @AutoGenerate Version 2.1.0
// @AutoGenerate Date 2023-01-18 15:19:42
// @AutoGenerate Version 2.1.2
// @AutoGenerate Date 2023-02-08 17:47:32
//
package sysin
@@ -32,6 +32,10 @@ type CurdDemoDeleteInp struct {
Id interface{} `json:"id" v:"required#ID不能为空" dc:"ID"`
}
func (in *CurdDemoDeleteInp) Filter(ctx context.Context) (err error) {
return
}
type CurdDemoDeleteModel struct{}
// CurdDemoViewInp 获取指定生成演示信息
@@ -39,6 +43,10 @@ type CurdDemoViewInp struct {
Id int64 `json:"id" v:"required#ID不能为空" dc:"ID"`
}
func (in *CurdDemoViewInp) Filter(ctx context.Context) (err error) {
return
}
type CurdDemoViewModel struct {
entity.Test
}
@@ -52,6 +60,10 @@ type CurdDemoListInp struct {
TestCategoryName string `json:"testCategoryName" dc:"分类名称"`
}
func (in *CurdDemoListInp) Filter(ctx context.Context) (err error) {
return
}
type CurdDemoListModel struct {
Id int64 `json:"id" dc:"ID"`
CategoryId int64 `json:"categoryId" dc:"分类ID"`
@@ -63,13 +75,10 @@ type CurdDemoListModel struct {
Sort int `json:"sort" dc:"排序"`
Status int `json:"status" dc:"状态"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
TestCategoryName string `json:"testCategoryName" dc:"分类名称"`
}
func (in *CurdDemoListInp) Filter(ctx context.Context) (err error) {
return
}
// CurdDemoExportModel 导出生成演示
type CurdDemoExportModel struct {
Id int64 `json:"id" dc:"ID"`
@@ -81,13 +90,20 @@ type CurdDemoExportModel struct {
Switch int `json:"switch" dc:"显示开关"`
Sort int `json:"sort" dc:"排序"`
Status int `json:"status" dc:"状态"`
CreatedBy int64 `json:"createdBy" dc:"创建者"`
UpdatedBy int64 `json:"updatedBy" dc:"更新者"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
TestCategoryName string `json:"testCategoryName" dc:"分类名称"`
}
// CurdDemoMaxSortInp 获取生成演示最大排序
type CurdDemoMaxSortInp struct{}
func (in *CurdDemoMaxSortInp) Filter(ctx context.Context) (err error) {
return
}
type CurdDemoMaxSortModel struct {
Sort int `json:"sort" description:"排序"`
}
@@ -98,6 +114,10 @@ type CurdDemoStatusInp struct {
Status int `json:"status" dc:"状态"`
}
func (in *CurdDemoStatusInp) Filter(ctx context.Context) (err error) {
return
}
type CurdDemoStatusModel struct{}
// CurdDemoSwitchInp 更新生成演示开关状态
@@ -106,4 +126,8 @@ type CurdDemoSwitchInp struct {
Id int64 `json:"id" v:"required#ID不能为空" dc:"ID"`
}
func (in *CurdDemoSwitchInp) Filter(ctx context.Context) (err error) {
return
}
type CurdDemoSwitchModel struct{}

View File

@@ -0,0 +1,70 @@
// Package sysin
// @Link https://github.com/bufanyun/hotgo
// @Copyright Copyright (c) 2022 HotGo CLI
// @Author Ms <133814250@qq.com>
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
//
package sysin
import (
"github.com/gogf/gf/v2/frame/g"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/form"
)
// EmsLogEditInp 修改/新增数据
type EmsLogEditInp struct {
entity.SysEmsLog
}
type EmsLogEditModel struct{}
// EmsLogDeleteInp 删除
type EmsLogDeleteInp struct {
Id interface{} `json:"id" v:"required#邮件记录ID不能为空" dc:"邮件记录ID"`
}
type EmsLogDeleteModel struct{}
// EmsLogViewInp 获取信息
type EmsLogViewInp struct {
Id int64 `json:"id" v:"required#邮件记录ID不能为空" dc:"邮件记录ID"`
}
type EmsLogViewModel struct {
entity.SysEmsLog
}
// EmsLogListInp 获取列表
type EmsLogListInp struct {
form.PageReq
form.RangeDateReq
form.StatusReq
Title string `json:"title"`
Content string `json:"content"`
}
type EmsLogListModel struct {
entity.SysEmsLog
}
// EmsLogStatusInp 更新状态
type EmsLogStatusInp struct {
entity.SysSmsLog
}
type EmsLogStatusModel struct{}
// SendEmsInp 发送邮件
type SendEmsInp struct {
Event string `json:"event" v:"required#邮件事件不能为空" description:"事件"`
Email string `json:"email" v:"required#邮箱地址不能为空" description:"邮箱地址"`
Code string `json:"code" description:"验证码或短信内容"`
Content string `json:"content" description:"邮件内容"`
Template string `json:"-" description:"发信模板"`
TplData g.Map `json:"-" description:"模板变量"`
}
// VerifyEmsCodeInp 效验验证码
type VerifyEmsCodeInp struct {
Event string `json:"event" v:"required#邮件事件不能为空" description:"事件"`
Email string `json:"email" v:"required#邮箱地址不能为空" description:"邮箱地址"`
Code string `json:"code" description:"验证码"`
}

View File

@@ -7,6 +7,7 @@
package sysin
import (
"github.com/gogf/gf/v2/util/gconv"
"hotgo/internal/model"
"hotgo/internal/model/entity"
"hotgo/internal/model/input/form"
@@ -67,11 +68,11 @@ type GenCodesStatusModel struct{}
type GenCodesSelectsInp struct {
}
type GenCodesSelectsModel struct {
GenType form.Selects `json:"genType" dc:"生成类型"`
Db form.Selects `json:"db" dc:"数据库选项"`
Status form.Selects `json:"status" dc:"生成状态"`
LinkMode form.Selects `json:"linkMode" dc:"关联表方式"`
BuildMeth form.Selects `json:"buildMeth" dc:"生成方式"`
GenType GenTypeSelects `json:"genType" dc:"生成类型"`
Db form.Selects `json:"db" dc:"数据库选项"`
Status form.Selects `json:"status" dc:"生成状态"`
LinkMode form.Selects `json:"linkMode" dc:"关联表方式"`
BuildMeth form.Selects `json:"buildMeth" dc:"生成方式"`
// 字段表格选项
FormMode form.Selects `json:"formMode" dc:"表单组件"`
FormRole form.Selects `json:"formRole" dc:"表单验证"`
@@ -79,6 +80,25 @@ type GenCodesSelectsModel struct {
WhereMode form.Selects `json:"whereMode" dc:"查询条件"`
}
type GenTypeSelects []*GenTypeSelect
type GenTypeSelect struct {
Value int `json:"value"`
Label string `json:"label"`
Name string `json:"name"`
Templates form.Selects `json:"templates"`
}
func (p GenTypeSelects) Len() int {
return len(p)
}
func (p GenTypeSelects) Swap(i, j int) {
p[i], p[j] = p[j], p[i]
}
func (p GenTypeSelects) Less(i, j int) bool {
return gconv.Int64(p[j].Value) > gconv.Int64(p[i].Value)
}
// GenCodesTableSelectInp 数据库表选项
type GenCodesTableSelectInp struct {
Name string `json:"name" dc:"数据库配置名称"`

View File

@@ -30,7 +30,7 @@ type LogListInp struct {
type LogListModel struct {
entity.SysLog
MemberName string `json:"member_name"`
MemberName string `json:"memberName"`
Region string `json:"region"`
}
@@ -41,6 +41,7 @@ type LogViewInp struct {
type LogViewModel struct {
entity.SysLog
CityLabel string `json:"cityLabel" description:"城市标签"`
}
// LogDeleteInp 删除

View File

@@ -49,15 +49,15 @@ type LoginLogListModel struct {
Status int `json:"status" dc:"状态"`
CreatedAt *gtime.Time `json:"createdAt" dc:"创建时间"`
UpdatedAt *gtime.Time `json:"updatedAt" dc:"修改时间"`
SysLogId int64 `json:"sysLogId" dc:"日志ID"`
SysLogId int64 `json:"sysLogId" dc:"日志ID"`
SysLogIp string `json:"sysLogIp" dc:"IP地址"`
SysLogProvinceId int64 `json:"sysLogProvinceId" dc:"省编码"`
SysLogCityId int64 `json:"sysLogCityId" dc:"市编码"`
SysLogErrorCode int `json:"sysLogErrorCode" dc:"报错code"`
SysLogUserAgent string `json:"sysLogUserAgent" dc:"UA信息"`
Region string `json:"region" dc:"地区"`
Os string `json:"os" dc:"系统信息"`
Browser string `json:"browser" dc:"浏览器信息"`
CityLabel string `json:"cityLabel" dc:"城市标签"`
Os string `json:"os" dc:"系统信息"`
Browser string `json:"browser" dc:"浏览器信息"`
}
func (in *LoginLogListInp) Filter(ctx context.Context) (err error) {

View File

@@ -81,3 +81,27 @@ type ProvincesUniqueIdInp struct {
type ProvincesUniqueIdModel struct {
IsUnique bool `json:"unique" dc:"是否唯一"`
}
type ProvincesSelectInp struct {
DataType string `json:"dataType" v:"required#数据类型不能为空" dc:"数据类型"`
Value int64 `json:"value" dc:"上级ID"`
}
type ProvincesSelectModel struct {
List []*ProvincesSelectData `json:"list" dc:"数据列表"`
}
type ProvincesSelectData struct {
Label string `json:"label" description:"地区名称"`
Value int64 `json:"value" description:"地区ID"`
Level int `json:"level" description:"地区等级"`
IsLeaf bool `json:"isLeaf" description:"是否还有下一级"`
}
// ProvincesCityLabelInp 获取指定城市标签
type ProvincesCityLabelInp struct {
Id int64 `json:"oldId" dc:"城市ID"`
Spilt string `json:"spilt" dc:"分隔符"`
}
type ProvincesCityLabelModel string