68 lines
1.8 KiB
Markdown
68 lines
1.8 KiB
Markdown
# 权限配置
|
|
|
|
|
|
# 命名规则
|
|
|
|
## 模块命名
|
|
|
|
模块命名的话需要使用单个单词,不包含下划线,不用说驼峰命令
|
|
|
|
## 组件名称
|
|
|
|
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
|
|
<viewer :known-columns="knownColumns"></viewer>
|
|
```
|
|
|
|
```js
|
|
onMounted(() => {
|
|
knownColumns.value['name'] = route.params['acl']
|
|
})
|
|
```
|
|
|