refactor: reorganize modules and add Linux build tooling

This commit is contained in:
2026-08-09 12:41:08 +08:00
parent 86024fa81d
commit 5cc5fd92ed
1461 changed files with 4054 additions and 4724 deletions

View File

@@ -0,0 +1,35 @@
package models
import coreTypes "git.apinb.com/bsm-sdk/core/types"
// 权限模型
type MgtPermission struct {
coreTypes.Std_IICUDS // 标准字段
Title string `gorm:"column:title;type:varchar(255);" json:"title"` // 权限名称
TitleEn string `gorm:"column:title_en;type:varchar(255);" json:"title_en"` // 权限名称
Code string `gorm:"column:code;type:varchar(255);uniqueIndex:idx_mgt_pmn_app_code" json:"code"` // 权限标识,与 app_id 联合唯一
Description string `gorm:"column:description;type:text" json:"description"` // 权限描述
Appid uint `gorm:"column:app_id;uniqueIndex:idx_mgt_pmn_app_code" json:"app_id"` // 应用ID
ParentID uint `gorm:"column:parent_id;default:0" json:"parent_id" ` // 父级ID
MenuPath string `gorm:"column:menu_path;" json:"menu_path"` // 菜单路径
MenuIcon string `gorm:"column:menu_icon;" json:"menu_icon"` // 菜单图标
SortKey int8 `gorm:"column:sort_key;default:0;" json:"sort_key"` // 排序键
Type int8 `gorm:"column:type;comment:1=菜单 2=按钮" json:"type"` // 类型 1=菜单 2=按钮
Component string `gorm:"column:component;type:varchar(255)" json:"component"` // 组件路径 非必填
IsWebPage bool `gorm:"column:is_web_page;default:0" json:"is_web_page"`
IsNewTab bool `gorm:"column:is_new_tab;default:0" json:"is_new_tab"` // 是否在新标签页打开 非必填
IsFull bool `gorm:"column:is_full;default:0" json:"is_full"` // 单独页面,不包含菜单,默认为 false
HideMenu bool `gorm:"column:hide_menu;default:0" json:"hide_menu"` // 隐藏菜单栏的菜单,默认为 false
WebUrl string `gorm:"column:web_url;type:varchar(500)" json:"web_url"` // 网页地址
Users []MgtUser `gorm:"many2many:mgt_link_user_pmn;foreignKey:ID;joinForeignKey:pmn_id;References:ID;joinReferences:user_id" json:"users,omitempty"` // 权限关联的用户
Roles []MgtRole `gorm:"many2many:mgt_link_role_pmn;foreignKey:ID;joinForeignKey:pmn_id;References:ID;joinReferences:role_id" json:"roles,omitempty"` // 权限关联的角色
Departments []MgtDepartment `gorm:"many2many:mgt_link_dpt_pmn;foreignKey:ID;joinForeignKey:pmn_id;References:ID;joinReferences:dpt_id" json:"departments,omitempty"` // 关联的部门(部门替代用户组)
Applications MgtApplication `gorm:"foreignKey:Appid;references:ID" json:"applications,omitempty"`
Children []MgtPermission `gorm:"foreignKey:ParentID;references:ID" json:"children,omitempty"` // 子集
}
func (MgtPermission) TableName() string { return "mgt_permission" }
// func init() {
// database.AppendMigrate(&Permission{})
// }