44 lines
3.2 KiB
Go
44 lines
3.2 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// 展示端(platforms 字段取值)
|
|
//
|
|
// 与 views(平台端 / 租户端)是两个独立维度:
|
|
// views —— 决定菜单出现在「平台后台」还是「租户后台」
|
|
// platforms —— 决定菜单/模块出现在 Web 端还是移动端(APP / 小程序)
|
|
const (
|
|
PlatformWeb = "web" // Web 端:租户管理后台(PC 浏览器)
|
|
PlatformApp = "app" // 移动端:uniapp APP / 微信小程序
|
|
)
|
|
|
|
// SystemMenu 系统菜单表 yz_system_menu
|
|
type SystemMenu struct {
|
|
ID uint64 `orm:"column(id);pk;auto" json:"id"` // 菜单ID
|
|
Pid int64 `orm:"column(pid);default(0)" json:"pid"` // 上级菜单ID
|
|
Title string `orm:"column(title);size(50)" json:"title"` // 菜单名称
|
|
Path *string `orm:"column(path);size(200);null" json:"path"` // 路由路径
|
|
ComponentPath *string `orm:"column(component_path);size(255);null" json:"componentPath"` // 组件路径
|
|
Icon *string `orm:"column(icon);size(100);null" json:"icon"` // 菜单图标
|
|
Sort int64 `orm:"column(sort);default(0)" json:"sort"` // 排序号
|
|
Status int8 `orm:"column(status);default(0)" json:"status"` // 状态:1-启用,0-禁用
|
|
IsVisible *int8 `orm:"column(is_visible);null" json:"isVisible"` // 是否显示:1-显示 0-不显示
|
|
// 是否必须登录才能使用:1=必须登录(默认) 0=可免登录(游客持游客令牌可用)。
|
|
// 移动端免登录控制从模块级下沉到菜单级:公开菜单接口 /api/menus/public 只下发 0 的菜单。
|
|
RequireLogin int8 `orm:"column(require_login);default(1)" json:"require_login"`
|
|
Views *string `orm:"column(views);size(255);null" json:"views"` // 菜单显示端(JSON数组字符串):[1]=平台端 [2]=租户端 [1,2]=双端
|
|
Platforms *string `orm:"column(platforms);size(64);null" json:"platforms"` // 展示端(JSON数组字符串):["web"] ["app"] ["web","app"];空/NULL=全端
|
|
Type int8 `orm:"column(type)" json:"type"` // 菜单类型:1-目录,2-页面,3-接口
|
|
Permission *string `orm:"column(permission);size(100);null" json:"permission"` // 权限标识(按钮类型时填写)
|
|
Creater *string `orm:"column(creater);size(50);null" json:"creater"` // 创建者
|
|
Remark *string `orm:"column(remark);size(500);null" json:"remark"` // 备注
|
|
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"createTime"` // 创建时间
|
|
UpdateTime *time.Time `orm:"column(update_time);auto_now;type(datetime);null" json:"updateTime"` // 更新时间
|
|
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"deleteTime"` // 删除时间
|
|
}
|
|
|
|
// TableName 自定义表名
|
|
func (m *SystemMenu) TableName() string {
|
|
return "yz_system_menu"
|
|
}
|