feat:完善项目信息
This commit is contained in:
@ -7,11 +7,19 @@ import (
|
||||
|
||||
type (
|
||||
Tree struct {
|
||||
ID string `json:"id"`
|
||||
ParentID string `json:"parent_id"`
|
||||
*model2.SysMenu
|
||||
Path string `json:"path"`
|
||||
Hidden int `json:"hidden"`
|
||||
Children []*Tree `json:"children"`
|
||||
}
|
||||
TreeChecked struct {
|
||||
ID string `json:"id"`
|
||||
ParentID string `json:"parent_id"`
|
||||
*model2.SysMenuBasic
|
||||
Path string `json:"path"`
|
||||
Hidden int `json:"hidden"`
|
||||
Checked bool `json:"checked"`
|
||||
Children []*TreeChecked `json:"children"`
|
||||
}
|
||||
@ -24,7 +32,11 @@ func tree(src []*model2.SysMenu, parentID uint64) []*Tree {
|
||||
for _, v := range src {
|
||||
if v.ParentID == parentID {
|
||||
out = append(out, &Tree{
|
||||
ID: v.GetEncodeID(),
|
||||
ParentID: (&model2.Model{ID: v.ParentID}).GetEncodeID(),
|
||||
SysMenu: v,
|
||||
Path: v.Link,
|
||||
Hidden: int(v.IsHidden),
|
||||
Children: tree(src, v.ID),
|
||||
})
|
||||
}
|
||||
@ -39,7 +51,11 @@ func TreeCheckedFunc(src []*model.SysMenuScene, parentID uint64) []*TreeChecked
|
||||
for _, v := range src {
|
||||
if v.ParentID == parentID {
|
||||
out = append(out, &TreeChecked{
|
||||
ID: v.GetEncodeID(),
|
||||
ParentID: (&model2.Model{ID: v.ParentID}).GetEncodeID(),
|
||||
SysMenuBasic: v.SysMenuBasic,
|
||||
Path: v.Link,
|
||||
Hidden: int(v.IsHidden),
|
||||
Checked: v.SceneID > 0,
|
||||
Children: TreeCheckedFunc(src, v.ID),
|
||||
})
|
||||
@ -58,9 +74,9 @@ func menuForSystem(iModel model2.IModel, where ...*model2.ModelWhere) ([]*Tree,
|
||||
return tree(out, 0), nil
|
||||
}
|
||||
|
||||
// MenuForSystem 系统管理员菜单
|
||||
func MenuForSystem(iModel model2.IModel, where ...*model2.ModelWhere) ([]*Tree, error) {
|
||||
out, err := iModel.(*model.SysMenu).SystemMenu(where...)
|
||||
// menuForTenant 租户人员菜单
|
||||
func menuForTenant(iModel model2.IModel, tenantID uint64, where ...*model2.ModelWhere) ([]*Tree, error) {
|
||||
out, err := iModel.(*model.SysMenu).TenantMenu(tenantID, where...)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -68,28 +84,39 @@ func MenuForSystem(iModel model2.IModel, where ...*model2.ModelWhere) ([]*Tree,
|
||||
return tree(out, 0), nil
|
||||
}
|
||||
|
||||
// MenuForTenant 租户人员菜单
|
||||
func MenuForTenant(iModel model2.IModel, tenantID uint64) ([]*TreeChecked, error) {
|
||||
out, err := iModel.(*model.SysMenu).TenantMenu(tenantID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return TreeCheckedFunc(out, 0), nil
|
||||
// MenuForSystem 系统管理员菜单
|
||||
func MenuForSystem(iModel model2.IModel, where ...*model2.ModelWhere) ([]*Tree, error) {
|
||||
return menuForSystem(iModel, where...)
|
||||
}
|
||||
|
||||
func MenuForRole(iModel model2.IModel, tenantID uint64, roleID uint64) ([]*TreeChecked, error) {
|
||||
out, err := iModel.(*model.SysMenu).RoleMenu(tenantID, roleID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return TreeCheckedFunc(out, 0), nil
|
||||
// MenuForTenant 租户人员菜单
|
||||
func MenuForTenant(iModel model2.IModel, tenantID uint64, where ...*model2.ModelWhere) ([]*Tree, error) {
|
||||
return menuForTenant(iModel, tenantID, where...)
|
||||
}
|
||||
|
||||
// MenuForUser 当前用户菜单
|
||||
func MenuForUser(iModel model2.IModel, tenantID uint64, uid uint64) ([]*TreeChecked, error) {
|
||||
out, err := iModel.(*model.SysMenu).UserMenu(tenantID, uid)
|
||||
func MenuForUser(iModel model2.IModel, tenantID uint64, uid uint64, where ...*model2.ModelWhere) ([]*Tree, error) {
|
||||
out, err := iModel.(*model.SysMenu).UserMenu(tenantID, uid, where...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return tree(out, 0), nil
|
||||
}
|
||||
|
||||
// MenuForTenantChecked 租户选中菜单
|
||||
func MenuForTenantChecked(iModel model2.IModel, tenantID uint64) ([]*TreeChecked, error) {
|
||||
out, err := iModel.(*model.SysMenu).TenantMenuChecked(tenantID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return TreeCheckedFunc(out, 0), nil
|
||||
}
|
||||
|
||||
// MenuForRoleChecked 角色选中菜单
|
||||
func MenuForRoleChecked(iModel model2.IModel, tenantID uint64, roleID uint64) ([]*TreeChecked, error) {
|
||||
out, err := iModel.(*model.SysMenu).RoleMenuChecked(tenantID, roleID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -16,24 +16,24 @@ type InstanceHandle func(session *session.Admin) *Instance
|
||||
type (
|
||||
// InstanceParams 菜单参数
|
||||
InstanceParams struct {
|
||||
ID, ParentID uint64
|
||||
Kind, Auth int
|
||||
Name, Link, Component, Icon string
|
||||
Sort, Status int
|
||||
Remark string
|
||||
ID, ParentID uint64
|
||||
Kind, Auth int
|
||||
Name, Link, Component, Icon string
|
||||
Sort, IsCache, IsHidden, Status int
|
||||
Remark string
|
||||
}
|
||||
)
|
||||
|
||||
// List 列表信息
|
||||
func (c *Instance) List() ([]*Tree, error) {
|
||||
// Index 列表信息
|
||||
func (c *Instance) Index() ([]*Tree, error) {
|
||||
// 总管理:
|
||||
// 租户管理:
|
||||
mSysMenu := model.NewSysMenu()
|
||||
|
||||
auth := []model2.SysMenuAuth{model2.SysMenuAuthForOrdinary}
|
||||
|
||||
if c.IsAdmin {
|
||||
auth = append(auth, model2.SysMenuAuthForSystem)
|
||||
if c.IsAdmin && c.TenantID <= 0 {
|
||||
return menuForSystem(mSysMenu)
|
||||
}
|
||||
return menuForSystem(mSysMenu, model2.NewWhereIn("auth", auth))
|
||||
return menuForTenant(mSysMenu, c.TenantID)
|
||||
}
|
||||
|
||||
// Form 数据操作
|
||||
@ -46,11 +46,13 @@ func (c *Instance) Form(params *InstanceParams) error {
|
||||
Kind: model2.SysMenuKind(params.Kind),
|
||||
Link: params.Link,
|
||||
Component: params.Component,
|
||||
IsCache: model2.SysMenuCacheStatus(params.IsCache),
|
||||
IsHidden: model2.SysMenuHiddenStatus(params.IsHidden),
|
||||
Icon: params.Icon,
|
||||
},
|
||||
Auth: model2.SysMenuAuth(params.Auth),
|
||||
Sort: params.Sort,
|
||||
Status: model2.SysMenuStatusForNormal,
|
||||
Status: model2.SysMenuStatus(params.Status),
|
||||
Remark: params.Remark,
|
||||
})
|
||||
}
|
||||
@ -62,7 +64,7 @@ func (c *Instance) Form(params *InstanceParams) error {
|
||||
if err != nil {
|
||||
return err
|
||||
} else if !isExist {
|
||||
return errors.New("菜单信息不存在")
|
||||
return errors.New("操作错误,菜单信息不存在")
|
||||
}
|
||||
out.ParentID = params.ParentID
|
||||
out.Name = params.Name
|
||||
@ -71,6 +73,8 @@ func (c *Instance) Form(params *InstanceParams) error {
|
||||
out.Component = params.Component
|
||||
out.Icon = params.Icon
|
||||
out.Auth = model2.SysMenuAuth(params.Auth)
|
||||
out.IsCache = model2.SysMenuCacheStatus(params.IsCache)
|
||||
out.IsHidden = model2.SysMenuHiddenStatus(params.IsHidden)
|
||||
out.Sort = params.Sort
|
||||
out.Status = model2.SysMenuStatus(params.Status)
|
||||
out.Remark = params.Remark
|
||||
|
Reference in New Issue
Block a user