# 权限配置 # 命名规则 ## 模块命名 模块命名的话需要使用单个单词,不包含下划线,不用说驼峰命令 ## 组件名称 1. 顶层组件 组件名称应该和模块名称和菜单层级保持一致, 比如`system`模块, 那么最顶级的组件名称应该为`System` 2. 子组件 子组件应该在父组件基础上加上自己的名称, 比如`System`模块下有一个`User`组件, 那么组件名称应该为`SystemUser`, 同时菜单也需要配置父组件为`System` 如果组件下面没有孙子组件, 那么视图为: ``` views/system/user/Index.vue ``` 3. 孙子组件 孙子组件应该在父组件的基础上加上自己的名称, 比如`System`模块下有一个`User`组件, 那么组件名称应该为`SystemUser`, 同时自己的名称为`Login`, 那么组件名称应该为`SystemUserLogin`, 菜单的父组件为`SystemUser`, 生成对应的视图文件路径为: ``` views/system/user/login/Index.vue ``` # 子模块处理 处理子表的情况, 比如有一个菜单表和权限表, 权限隶属于菜单表下面, 那么在试图页面处理权限的的时候可以如下处理: 1. 菜单配置 这里需要手动指定下路由地址, 另外配置菜单为隐藏的菜单 ``` go func (m *AclRule) GetMenu() *types.Menu { return &types.Menu{ Name: "SettingAclRule", Parent: "Setting", Label: "ACL规则", Hidden: true, Uri: "/setting/acl/rule/:acl", } } ``` 2. 界面配置 需要配置组件`Viewer`的`knownColumns`属性, 表示这个是已知的字段值, 表现为不会再界面显示, 添加和更新的时候自动赋值, 查询的时候自动赋值 ```vue ``` ```js onMounted(() => { knownColumns.value['name'] = route.params['acl'] }) ```