1
Some checks failed
Build / build (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
build / Build (push) Has been cancelled
GitHub Actions Mirror / mirror_to_gitee (push) Has been cancelled
GitHub Actions Mirror / mirror_to_gitlab (push) Has been cancelled
Issue Close Require / issue-close-require (push) Has been cancelled
Issue Check Inactive / issue-check-inactive (push) Has been cancelled

This commit is contained in:
2025-06-29 00:36:30 +08:00
commit 8ae43bfba9
305 changed files with 36307 additions and 0 deletions

32
common/models/by.go Normal file
View File

@ -0,0 +1,32 @@
package models
import (
"time"
"gorm.io/gorm"
)
type ControlBy struct {
CreateBy int `json:"createBy" gorm:"index;comment:创建者"`
UpdateBy int `json:"updateBy" gorm:"index;comment:更新者"`
}
// SetCreateBy 设置创建人id
func (e *ControlBy) SetCreateBy(createBy int) {
e.CreateBy = createBy
}
// SetUpdateBy 设置修改人id
func (e *ControlBy) SetUpdateBy(updateBy int) {
e.UpdateBy = updateBy
}
type Model struct {
Id int `json:"id" gorm:"primaryKey;autoIncrement;comment:主键编码"`
}
type ModelTime struct {
CreatedAt time.Time `json:"createdAt" gorm:"comment:创建时间"`
UpdatedAt time.Time `json:"updatedAt" gorm:"comment:最后更新时间"`
DeletedAt gorm.DeletedAt `json:"-" gorm:"index;comment:删除时间"`
}

11
common/models/menu.go Normal file
View File

@ -0,0 +1,11 @@
package models
// Menu 菜单中的类型枚举值
const (
// Directory 目录
Directory string = "M"
// Menu 菜单
Menu string = "C"
// Button 按钮
Button string = "F"
)

12
common/models/migrate.go Normal file
View File

@ -0,0 +1,12 @@
package models
import "time"
type Migration struct {
Version string `gorm:"primaryKey"`
ApplyTime time.Time `gorm:"autoCreateTime"`
}
func (Migration) TableName() string {
return "sys_migration"
}

30
common/models/response.go Normal file
View File

@ -0,0 +1,30 @@
package models
type Response struct {
// 代码
Code int `json:"code" example:"200"`
// 数据集
Data interface{} `json:"data"`
// 消息
Msg string `json:"msg"`
RequestId string `json:"requestId"`
}
type Page struct {
List interface{} `json:"list"`
Count int `json:"count"`
PageIndex int `json:"pageIndex"`
PageSize int `json:"pageSize"`
}
// ReturnOK 正常返回
func (res *Response) ReturnOK() *Response {
res.Code = 200
return res
}
// ReturnError 错误返回
func (res *Response) ReturnError(code int) *Response {
res.Code = code
return res
}

11
common/models/type.go Normal file
View File

@ -0,0 +1,11 @@
package models
import "gorm.io/gorm/schema"
type ActiveRecord interface {
schema.Tabler
SetCreateBy(createBy int)
SetUpdateBy(updateBy int)
Generate() ActiveRecord
GetId() interface{}
}

42
common/models/user.go Normal file
View File

@ -0,0 +1,42 @@
package models
import (
"gorm.io/gorm"
"github.com/go-admin-team/go-admin-core/sdk/pkg"
)
// BaseUser 密码登录基础用户
type BaseUser struct {
Username string `json:"username" gorm:"type:varchar(100);comment:用户名"`
Salt string `json:"-" gorm:"type:varchar(255);comment:加盐;<-"`
PasswordHash string `json:"-" gorm:"type:varchar(128);comment:密码hash;<-"`
Password string `json:"password" gorm:"-"`
}
// SetPassword 设置密码
func (u *BaseUser) SetPassword(value string) {
u.Password = value
u.generateSalt()
u.PasswordHash = u.GetPasswordHash()
}
// GetPasswordHash 获取密码hash
func (u *BaseUser) GetPasswordHash() string {
passwordHash, err := pkg.SetPassword(u.Password, u.Salt)
if err != nil {
return ""
}
return passwordHash
}
// generateSalt 生成加盐值
func (u *BaseUser) generateSalt() {
u.Salt = pkg.GenerateRandomKey16()
}
// Verify 验证密码
func (u *BaseUser) Verify(db *gorm.DB, tableName string) bool {
db.Table(tableName).Where("username = ?", u.Username).First(u)
return u.GetPasswordHash() == u.PasswordHash
}