diff --git a/backend/dvadmin/system/fixtures/initSerializer.py b/backend/dvadmin/system/fixtures/initSerializer.py index a2d74f6..0b139c1 100644 --- a/backend/dvadmin/system/fixtures/initSerializer.py +++ b/backend/dvadmin/system/fixtures/initSerializer.py @@ -9,7 +9,7 @@ django.setup() from dvadmin.system.models import ( Role, Dept, Users, Menu, MenuButton, ApiWhiteList, Dictionary, SystemConfig, - RoleMenuPermission, RoleMenuButtonPermission + RoleMenuPermission, RoleMenuButtonPermission, MenuField ) from dvadmin.utils.serializers import CustomModelSerializer @@ -53,6 +53,16 @@ class MenuButtonInitSerializer(CustomModelSerializer): read_only_fields = ["id"] +class MenuFieldInitSerializer(CustomModelSerializer): + """ + 初始化列权限-序列化器 + """ + + class Meta: + model = MenuField + fields = ['id', 'menu','field_name','title','model'] + read_only_fields = ["id"] + class MenuInitSerializer(CustomModelSerializer): """ 递归深度获取数信息(用于生成初始化json文件) @@ -60,7 +70,7 @@ class MenuInitSerializer(CustomModelSerializer): name = serializers.CharField(required=False) children = serializers.SerializerMethodField() menu_button = serializers.SerializerMethodField() - + menu_field = serializers.SerializerMethodField() def get_children(self, obj: Menu): data = [] instance = Menu.objects.filter(parent_id=obj.id) @@ -76,10 +86,18 @@ class MenuInitSerializer(CustomModelSerializer): data = list(instance.values('name', 'value', 'api', 'method')) return data + def get_menu_field(self, obj: Menu): + data = [] + instance = obj.menufield_set.order_by('field_name') + if instance: + data = list(instance.values('field_name', 'title','model')) + return data + def save(self, **kwargs): instance = super().save(**kwargs) children = self.initial_data.get('children') menu_button = self.initial_data.get('menu_button') + menu_field = self.initial_data.get('menu_field') # 菜单表 if children: for menu_data in children: @@ -108,12 +126,24 @@ class MenuInitSerializer(CustomModelSerializer): serializer = MenuButtonInitSerializer(instance_obj, data=menu_button_data, request=self.request) serializer.is_valid(raise_exception=True) serializer.save() + # 列权限 + if menu_field: + for field_data in menu_field: + field_data['menu'] = instance.id + filter_data = { + 'menu':field_data['menu'], + 'field_name':field_data['field_name'] + } + instance_obj = MenuField.objects.filter(**filter_data).first() + serializer = MenuFieldInitSerializer(instance_obj, data=field_data, request=self.request) + serializer.is_valid(raise_exception=True) + serializer.save() return instance class Meta: model = Menu fields = ['name', 'icon', 'sort', 'is_link', 'is_catalog', 'web_path', 'component', 'component_name', 'status', - 'cache', 'visible', 'parent', 'children', 'menu_button', 'creator', 'dept_belong_id'] + 'cache', 'visible', 'parent', 'children', 'menu_button','menu_field', 'creator', 'dept_belong_id'] extra_kwargs = { 'creator': {'write_only': True}, 'dept_belong_id': {'write_only': True} diff --git a/backend/dvadmin/system/fixtures/init_menu.json b/backend/dvadmin/system/fixtures/init_menu.json index a054af2..61a5058 100644 --- a/backend/dvadmin/system/fixtures/init_menu.json +++ b/backend/dvadmin/system/fixtures/init_menu.json @@ -1,704 +1,1403 @@ [ - { - "name": "系统管理", - "icon": "iconfont icon-xitongshezhi", - "sort": 1, - "is_link": false, - "is_catalog": true, - "web_path": "/system", - "component": "", - "component_name": "", - "status": true, - "cache": false, - "visible": true, - "children": [ - { - "name": "菜单管理", - "icon": "iconfont icon-caidan", + { + "name": "ϵͳ", + "icon": "iconfont icon-xitongshezhi", "sort": 1, "is_link": false, - "is_catalog": false, - "web_path": "/menu", - "component": "system/menu/index", - "component_name": "menu", + "is_catalog": true, + "web_path": "/system", + "component": "", + "component_name": "", "status": true, "cache": false, "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "menu:Search", - "api": "/api/system/menu/", - "method": 0 - }, - { - "name": "详情", - "value": "menu:Retrieve", - "api": "/api/system/menu/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "menu:Create", - "api": "/api/system/menu/", - "method": 1 - }, - { - "name": "编辑", - "value": "menu:Update", - "api": "/api/system/menu/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "menu:Delete", - "api": "/api/system/menu/{id}/", - "method": 3 - }, - { - "name": "查询所有", - "value": "menu:SearchAll", - "api": "/api/system/menu/get_all_menu/", - "method": 0 - }, - { - "name": "路由", - "value": "menu:router", - "api": "/api/system/menu/web_router/", - "method": 0 - }, - { - "name": "上移", - "value": "menu:MoveUp", - "api": "/api/system/menu/mode_up/", - "method": 1 - }, - { - "name": "下移", - "value": "menu:MoveDown", - "api": "/api/system/menu/mode_down/", - "method": 1 - }, - { - "name": "新增按钮权限", - "value": "btn:Create", - "api": "/api/system/menu_button/", - "method": 1 - }, - { - "name": "修改按钮权限", - "value": "btn:Update", - "api": "/api/system/menu_button/{id}/", - "method": 2 - }, - { - "name": "查询按钮权限", - "value": "btn:Search", - "api": "/api/system/menu_button/", - "method": 0 - }, - { - "name": "删除按钮权限", - "value": "btn:Delete", - "api": "/api/system/menu_button/{id}/", - "method": 3 - }, - { - "name": "查询列权限", - "value": "column:Search", - "api": "/api/system/column/", - "method": 0 - }, - { - "name": "新增列权限", - "value": "column:Create", - "api": "/api/system/column/", - "method": 1 - }, - { - "name": "编辑列权限", - "value": "column:Update", - "api": "/api/system/column/{id}/", - "method": 2 - }, - { - "name": "删除列权限", - "value": "column:Delete", - "api": "/api/system/column/{id}/", - "method": 3 - }, - { - "name": "自动匹配列权限", - "value": "column:Match", - "api": "/api/system/column/auto_match_fields/", - "method": 1 - } - ] - }, - { - "name": "部门管理", - "icon": "ele-OfficeBuilding", - "sort": 3, - "is_link": false, - "is_catalog": false, - "web_path": "/dept", - "component": "system/dept/index", - "component_name": "dept", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "dept:Search", - "api": "/api/system/dept/", - "method": 0 - }, - { - "name": "详情", - "value": "dept:Retrieve", - "api": "/api/system/dept/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "dept:Create", - "api": "/api/system/dept/", - "method": 1 - }, - { - "name": "编辑", - "value": "dept:Update", - "api": "/api/system/dept/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "dept:Delete", - "api": "/api/system/dept/{id}/", - "method": 3 - }, - { - "name": "查询所有", - "value": "dept:SearchAll", - "api": "/api/system/dept/all_dept/", - "method": 0 - }, - { - "name": "懒加载查询所有", - "value": "dept:LazySearchAll", - "api": "/api/system/dept/dept_lazy_tree/", - "method": 0 - }, - { - "name": "上移", - "value": "dept:MoveUp", - "api": "/api/system/dept/mode_up/", - "method": 1 - }, - { - "name": "下移", - "value": "dept:MoveDown", - "api": "/api/system/dept/mode_down/", - "method": 1 - }, - { - "name": "头信息", - "value": "dept:HeaderInfo", - "api": "/api/system/dept/dept_info/", - "method": 0 - } - ] - }, - { - "name": "角色管理", - "icon": "ele-ColdDrink", - "sort": 4, - "is_link": false, - "is_catalog": false, - "web_path": "/role", - "component": "system/role/index", - "component_name": "role", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "role:Search", - "api": "/api/system/role/", - "method": 0 - }, - { - "name": "详情", - "value": "role:Retrieve", - "api": "/api/system/role/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "role:Create", - "api": "/api/system/role/", - "method": 1 - }, - { - "name": "编辑", - "value": "role:Update", - "api": "/api/system/role/{id}/", - "method": 2 - }, - { - "name": "保存", - "value": "role:Save", - "api": "/api/system/role/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "role:Delete", - "api": "/api/system/role/{id}/", - "method": 3 - }, - { - "name": "权限配置", - "value": "role:Permission", - "api": "/api/system/role/{id}/", - "method": 0 - } - ] - }, - { - "name": "用户管理", - "icon": "iconfont icon-icon-", - "sort": 6, - "is_link": false, - "is_catalog": false, - "web_path": "/user", - "component": "system/user/index", - "component_name": "user", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "user:Search", - "api": "/api/system/user/", - "method": 0 - }, - { - "name": "详情", - "value": "user:Retrieve", - "api": "/api/system/user/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "user:Create", - "api": "/api/system/user/", - "method": 1 - }, - { - "name": "导出", - "value": "user:Export", - "api": "/api/system/user/export/", - "method": 1 - }, - { - "name": "导入", - "value": "user:Import", - "api": "/api/system/user/import/", - "method": 1 - }, - { - "name": "编辑", - "value": "user:Update", - "api": "/api/system/user/{id}/", - "method": 2 - }, - { - "name": "重设密码", - "value": "user:ResetPassword", - "api": "/api/system/user/{id}/reset_password/", - "method": 2 - }, - { - "name": "重置密码", - "value": "user:DefaultPassword", - "api": "/api/system/user/{id}/reset_to_default_password/", - "method": 2 - }, - { - "name": "删除", - "value": "user:Delete", - "api": "/api/system/user/{id}/", - "method": 3 - } - ] - }, - { - "name": "消息中心", - "icon": "iconfont icon-xiaoxizhongxin", - "sort": 7, - "is_link": false, - "is_catalog": false, - "web_path": "/messageCenter", - "component": "system/messageCenter/index", - "component_name": "messageCenter", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "messageCenter:Search", - "api": "/api/system/message_center/", - "method": 0 - }, - { - "name": "详情", - "value": "messageCenter:Retrieve", - "api": "/api/system/message_center/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "messageCenter:Create", - "api": "/api/system/message_center/", - "method": 1 - }, - { - "name": "编辑", - "value": "messageCenter:Update", - "api": "/api/system/message_center/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "messageCenter:Delete", - "api": "/api/system/menu/{id}/", - "method": 3 - } - ] - }, - { - "name": "接口白名单", - "icon": "ele-SetUp", - "sort": 8, - "is_link": false, - "is_catalog": false, - "web_path": "/apiWhiteList", - "component": "system/whiteList/index", - "component_name": "whiteList", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "api_white_list:Search", - "api": "/api/system/api_white_list/", - "method": 0 - }, - { - "name": "详情", - "value": "api_white_list:Retrieve", - "api": "/api/system/api_white_list/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "api_white_list:Create", - "api": "/api/system/api_white_list/", - "method": 1 - }, - { - "name": "编辑", - "value": "api_white_list:Update", - "api": "/api/system/api_white_list/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "api_white_list:Delete", - "api": "/api/system/api_white_list/{id}/", - "method": 3 - } - ] - } - ], - "menu_button": [] - }, - { - "name": "常规配置", - "icon": "iconfont icon-configure", - "sort": 2, - "is_link": false, - "is_catalog": true, - "web_path": "/generalConfig", - "component": "", - "component_name": "", - "status": true, - "cache": false, - "visible": true, - "children": [ - { - "name": "系统配置", - "icon": "iconfont icon-system", - "sort": 0, - "is_link": false, - "is_catalog": false, - "web_path": "/config", - "component": "system/config/index", - "component_name": "config", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "system_config:Search", - "api": "/api/system/system_config/", - "method": 0 - }, - { - "name": "详情", - "value": "system_config:Retrieve", - "api": "/api/system/system_config/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "system_config:Create", - "api": "/api/system/system_config/", - "method": 1 - }, - { - "name": "编辑", - "value": "system_config:Update", - "api": "/api/system/system_config/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "system_config:Delete", - "api": "/api/system/system_config/{id}/", - "method": 3 - } - ] - }, - { - "name": "字典管理", - "icon": "iconfont icon-dict", - "sort": 1, - "is_link": false, - "is_catalog": false, - "web_path": "/dictionary", - "component": "system/dictionary/index", - "component_name": "dictionary", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "dictionary:Search", - "api": "/api/system/dictionary/", - "method": 0 - }, - { - "name": "详情", - "value": "dictionary:Retrieve", - "api": "/api/system/dictionary/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "dictionary:Create", - "api": "/api/system/dictionary/", - "method": 1 - }, - { - "name": "编辑", - "value": "dictionary:Update", - "api": "/api/system/dictionary/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "dictionary:Delete", - "api": "/api/system/dictionary/{id}/", - "method": 3 - } - ] - }, - { - "name": "地区管理", - "icon": "iconfont icon-Area", + "parent": null, + "children": [ + { + "name": "˵", + "icon": "iconfont icon-caidan", + "sort": 1, + "is_link": false, + "is_catalog": false, + "web_path": "/menu", + "component": "system/menu/index", + "component_name": "menu", + "status": true, + "cache": false, + "visible": true, + "parent": 1, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "menu:Search", + "api": "/api/system/menu/", + "method": 0 + }, + { + "name": "", + "value": "menu:Retrieve", + "api": "/api/system/menu/{id}/", + "method": 0 + }, + { + "name": "ѯ", + "value": "menu:SearchAll", + "api": "/api/system/menu/get_all_menu/", + "method": 0 + }, + { + "name": "·", + "value": "menu:router", + "api": "/api/system/menu/web_router/", + "method": 0 + }, + { + "name": "ѯťȨ", + "value": "btn:Search", + "api": "/api/system/menu_button/", + "method": 0 + }, + { + "name": "ѯȨ", + "value": "column:Search", + "api": "/api/system/column/", + "method": 0 + }, + { + "name": "", + "value": "menu:Create", + "api": "/api/system/menu/", + "method": 1 + }, + { + "name": "", + "value": "menu:MoveUp", + "api": "/api/system/menu/mode_up/", + "method": 1 + }, + { + "name": "", + "value": "menu:MoveDown", + "api": "/api/system/menu/mode_down/", + "method": 1 + }, + { + "name": "ťȨ", + "value": "btn:Create", + "api": "/api/system/menu_button/", + "method": 1 + }, + { + "name": "Ȩ", + "value": "column:Create", + "api": "/api/system/column/", + "method": 1 + }, + { + "name": "ԶƥȨ", + "value": "column:Match", + "api": "/api/system/column/auto_match_fields/", + "method": 1 + }, + { + "name": "༭", + "value": "menu:Update", + "api": "/api/system/menu/{id}/", + "method": 2 + }, + { + "name": "޸İťȨ", + "value": "btn:Update", + "api": "/api/system/menu_button/{id}/", + "method": 2 + }, + { + "name": "༭Ȩ", + "value": "column:Update", + "api": "/api/system/column/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "menu:Delete", + "api": "/api/system/menu/{id}/", + "method": 3 + }, + { + "name": "ɾťȨ", + "value": "btn:Delete", + "api": "/api/system/menu_button/{id}/", + "method": 3 + }, + { + "name": "ɾȨ", + "value": "column:Delete", + "api": "/api/system/column/{id}/", + "method": 3 + } + ], + "menu_field": [] + }, + { + "name": "Ź", + "icon": "ele-OfficeBuilding", + "sort": 3, + "is_link": false, + "is_catalog": false, + "web_path": "/dept", + "component": "system/dept/index", + "component_name": "dept", + "status": true, + "cache": false, + "visible": true, + "parent": 1, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "dept:Search", + "api": "/api/system/dept/", + "method": 0 + }, + { + "name": "", + "value": "dept:Retrieve", + "api": "/api/system/dept/{id}/", + "method": 0 + }, + { + "name": "ѯ", + "value": "dept:SearchAll", + "api": "/api/system/dept/all_dept/", + "method": 0 + }, + { + "name": "زѯ", + "value": "dept:LazySearchAll", + "api": "/api/system/dept/dept_lazy_tree/", + "method": 0 + }, + { + "name": "ͷϢ", + "value": "dept:HeaderInfo", + "api": "/api/system/dept/dept_info/", + "method": 0 + }, + { + "name": "", + "value": "dept:Create", + "api": "/api/system/dept/", + "method": 1 + }, + { + "name": "", + "value": "dept:MoveUp", + "api": "/api/system/dept/mode_up/", + "method": 1 + }, + { + "name": "", + "value": "dept:MoveDown", + "api": "/api/system/dept/mode_down/", + "method": 1 + }, + { + "name": "༭", + "value": "dept:Update", + "api": "/api/system/dept/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "dept:Delete", + "api": "/api/system/dept/{id}/", + "method": 3 + } + ], + "menu_field": [] + }, + { + "name": "ɫ", + "icon": "ele-ColdDrink", + "sort": 4, + "is_link": false, + "is_catalog": false, + "web_path": "/role", + "component": "system/role/index", + "component_name": "role", + "status": true, + "cache": false, + "visible": true, + "parent": 1, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "role:Search", + "api": "/api/system/role/", + "method": 0 + }, + { + "name": "", + "value": "role:Retrieve", + "api": "/api/system/role/{id}/", + "method": 0 + }, + { + "name": "Ȩ", + "value": "role:Permission", + "api": "/api/system/role/{id}/", + "method": 0 + }, + { + "name": "", + "value": "role:Create", + "api": "/api/system/role/", + "method": 1 + }, + { + "name": "༭", + "value": "role:Update", + "api": "/api/system/role/{id}/", + "method": 2 + }, + { + "name": "", + "value": "role:Save", + "api": "/api/system/role/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "role:Delete", + "api": "/api/system/role/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "Role" + }, + { + "field_name": "creator", + "title": "", + "model": "Role" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "Role" + }, + { + "field_name": "description", + "title": "", + "model": "Role" + }, + { + "field_name": "id", + "title": "Id", + "model": "Role" + }, + { + "field_name": "key", + "title": "Ȩַ", + "model": "Role" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "Role" + }, + { + "field_name": "name", + "title": "ɫ", + "model": "Role" + }, + { + "field_name": "sort", + "title": "ɫ˳", + "model": "Role" + }, + { + "field_name": "status", + "title": "ɫ״̬", + "model": "Role" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "Role" + } + ] + }, + { + "name": "û", + "icon": "iconfont icon-icon-", + "sort": 6, + "is_link": false, + "is_catalog": false, + "web_path": "/user", + "component": "system/user/index", + "component_name": "user", + "status": true, + "cache": false, + "visible": true, + "parent": 1, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "user:Search", + "api": "/api/system/user/", + "method": 0 + }, + { + "name": "", + "value": "user:Retrieve", + "api": "/api/system/user/{id}/", + "method": 0 + }, + { + "name": "", + "value": "user:Create", + "api": "/api/system/user/", + "method": 1 + }, + { + "name": "", + "value": "user:Export", + "api": "/api/system/user/export/", + "method": 1 + }, + { + "name": "", + "value": "user:Import", + "api": "/api/system/user/import/", + "method": 1 + }, + { + "name": "༭", + "value": "user:Update", + "api": "/api/system/user/{id}/", + "method": 2 + }, + { + "name": "", + "value": "user:ResetPassword", + "api": "/api/system/user/{id}/reset_password/", + "method": 2 + }, + { + "name": "", + "value": "user:DefaultPassword", + "api": "/api/system/user/{id}/reset_to_default_password/", + "method": 2 + }, + { + "name": "ɾ", + "value": "user:Delete", + "api": "/api/system/user/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "avatar", + "title": "ͷ", + "model": "Users" + }, + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "Users" + }, + { + "field_name": "creator", + "title": "", + "model": "Users" + }, + { + "field_name": "dept", + "title": "", + "model": "Users" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "Users" + }, + { + "field_name": "description", + "title": "", + "model": "Users" + }, + { + "field_name": "email", + "title": "", + "model": "Users" + }, + { + "field_name": "gender", + "title": "Ա", + "model": "Users" + }, + { + "field_name": "id", + "title": "Id", + "model": "Users" + }, + { + "field_name": "mobile", + "title": "绰", + "model": "Users" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "Users" + }, + { + "field_name": "name", + "title": "", + "model": "Users" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "Users" + }, + { + "field_name": "username", + "title": "û˺", + "model": "Users" + }, + { + "field_name": "user_type", + "title": "û", + "model": "Users" + } + ] + }, + { + "name": "Ϣ", + "icon": "iconfont icon-xiaoxizhongxin", + "sort": 7, + "is_link": false, + "is_catalog": false, + "web_path": "/messageCenter", + "component": "system/messageCenter/index", + "component_name": "messageCenter", + "status": true, + "cache": false, + "visible": true, + "parent": 1, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "messageCenter:Search", + "api": "/api/system/message_center/", + "method": 0 + }, + { + "name": "", + "value": "messageCenter:Retrieve", + "api": "/api/system/message_center/{id}/", + "method": 0 + }, + { + "name": "", + "value": "messageCenter:Create", + "api": "/api/system/message_center/", + "method": 1 + }, + { + "name": "༭", + "value": "messageCenter:Update", + "api": "/api/system/message_center/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "messageCenter:Delete", + "api": "/api/system/menu/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "content", + "title": "", + "model": "MessageCenter" + }, + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "MessageCenter" + }, + { + "field_name": "creator", + "title": "", + "model": "MessageCenter" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "MessageCenter" + }, + { + "field_name": "description", + "title": "", + "model": "MessageCenter" + }, + { + "field_name": "id", + "title": "Id", + "model": "MessageCenter" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "MessageCenter" + }, + { + "field_name": "target_type", + "title": "Ŀ", + "model": "MessageCenter" + }, + { + "field_name": "title", + "title": "", + "model": "MessageCenter" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "MessageCenter" + } + ] + }, + { + "name": "ӿڰ", + "icon": "ele-SetUp", + "sort": 8, + "is_link": false, + "is_catalog": false, + "web_path": "/apiWhiteList", + "component": "system/whiteList/index", + "component_name": "whiteList", + "status": true, + "cache": false, + "visible": true, + "parent": 1, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "api_white_list:Search", + "api": "/api/system/api_white_list/", + "method": 0 + }, + { + "name": "", + "value": "api_white_list:Retrieve", + "api": "/api/system/api_white_list/{id}/", + "method": 0 + }, + { + "name": "", + "value": "api_white_list:Create", + "api": "/api/system/api_white_list/", + "method": 1 + }, + { + "name": "༭", + "value": "api_white_list:Update", + "api": "/api/system/api_white_list/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "api_white_list:Delete", + "api": "/api/system/api_white_list/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "ApiWhiteList" + }, + { + "field_name": "creator", + "title": "", + "model": "ApiWhiteList" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "ApiWhiteList" + }, + { + "field_name": "description", + "title": "", + "model": "ApiWhiteList" + }, + { + "field_name": "enable_datasource", + "title": "Ȩ", + "model": "ApiWhiteList" + }, + { + "field_name": "id", + "title": "Id", + "model": "ApiWhiteList" + }, + { + "field_name": "method", + "title": "ӿ󷽷", + "model": "ApiWhiteList" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "ApiWhiteList" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "ApiWhiteList" + }, + { + "field_name": "url", + "title": "url", + "model": "ApiWhiteList" + } + ] + } + ], + "menu_button": [], + "menu_field": [] + }, + { + "name": "", + "icon": "iconfont icon-configure", "sort": 2, "is_link": false, - "is_catalog": false, - "web_path": "/areas", - "component": "system/areas/index", - "component_name": "areas", + "is_catalog": true, + "web_path": "/generalConfig", + "component": "", + "component_name": "", "status": true, "cache": false, "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "area:Search", - "api": "/api/system/area/", - "method": 0 - }, - { - "name": "详情", - "value": "area:Retrieve", - "api": "/api/system/area/{id}/", - "method": 0 - }, - { - "name": "新增", - "value": "area:Create", - "api": "/api/system/area/", - "method": 1 - }, - { - "name": "编辑", - "value": "area:Update", - "api": "/api/system/area/{id}/", - "method": 2 - }, - { - "name": "删除", - "value": "area:Delete", - "api": "/api/system/area/{id}/", - "method": 3 - } - ] - }, - { - "name": "附件管理", - "icon": "iconfont icon-file", + "parent": null, + "children": [ + { + "name": "ϵͳ", + "icon": "iconfont icon-system", + "sort": 0, + "is_link": false, + "is_catalog": false, + "web_path": "/config", + "component": "system/config/index", + "component_name": "config", + "status": true, + "cache": false, + "visible": true, + "parent": 10, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "system_config:Search", + "api": "/api/system/system_config/", + "method": 0 + }, + { + "name": "", + "value": "system_config:Retrieve", + "api": "/api/system/system_config/{id}/", + "method": 0 + }, + { + "name": "", + "value": "system_config:Create", + "api": "/api/system/system_config/", + "method": 1 + }, + { + "name": "༭", + "value": "system_config:Update", + "api": "/api/system/system_config/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "system_config:Delete", + "api": "/api/system/system_config/{id}/", + "method": 3 + } + ], + "menu_field": [] + }, + { + "name": "ֵ", + "icon": "iconfont icon-dict", + "sort": 1, + "is_link": false, + "is_catalog": false, + "web_path": "/dictionary", + "component": "system/dictionary/index", + "component_name": "dictionary", + "status": true, + "cache": false, + "visible": true, + "parent": 10, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "dictionary:Search", + "api": "/api/system/dictionary/", + "method": 0 + }, + { + "name": "", + "value": "dictionary:Retrieve", + "api": "/api/system/dictionary/{id}/", + "method": 0 + }, + { + "name": "", + "value": "dictionary:Create", + "api": "/api/system/dictionary/", + "method": 1 + }, + { + "name": "༭", + "value": "dictionary:Update", + "api": "/api/system/dictionary/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "dictionary:Delete", + "api": "/api/system/dictionary/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "color", + "title": "ɫ", + "model": "Dictionary" + }, + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "Dictionary" + }, + { + "field_name": "creator", + "title": "", + "model": "Dictionary" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "Dictionary" + }, + { + "field_name": "description", + "title": "", + "model": "Dictionary" + }, + { + "field_name": "id", + "title": "Id", + "model": "Dictionary" + }, + { + "field_name": "is_value", + "title": "ǷΪvalueֵ", + "model": "Dictionary" + }, + { + "field_name": "label", + "title": "ֵ", + "model": "Dictionary" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "Dictionary" + }, + { + "field_name": "parent", + "title": "", + "model": "Dictionary" + }, + { + "field_name": "remark", + "title": "ע", + "model": "Dictionary" + }, + { + "field_name": "sort", + "title": "ʾ", + "model": "Dictionary" + }, + { + "field_name": "status", + "title": "״̬", + "model": "Dictionary" + }, + { + "field_name": "type", + "title": "ֵ", + "model": "Dictionary" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "Dictionary" + }, + { + "field_name": "value", + "title": "ֵ", + "model": "Dictionary" + } + ] + }, + { + "name": "", + "icon": "iconfont icon-Area", + "sort": 2, + "is_link": false, + "is_catalog": false, + "web_path": "/areas", + "component": "system/areas/index", + "component_name": "areas", + "status": true, + "cache": false, + "visible": true, + "parent": 10, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "area:Search", + "api": "/api/system/area/", + "method": 0 + }, + { + "name": "", + "value": "area:Retrieve", + "api": "/api/system/area/{id}/", + "method": 0 + }, + { + "name": "", + "value": "area:Create", + "api": "/api/system/area/", + "method": 1 + }, + { + "name": "༭", + "value": "area:Update", + "api": "/api/system/area/{id}/", + "method": 2 + }, + { + "name": "ɾ", + "value": "area:Delete", + "api": "/api/system/area/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "code", + "title": "", + "model": "Area" + }, + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "Area" + }, + { + "field_name": "creator", + "title": "", + "model": "Area" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "Area" + }, + { + "field_name": "description", + "title": "", + "model": "Area" + }, + { + "field_name": "enable", + "title": "Ƿ", + "model": "Area" + }, + { + "field_name": "id", + "title": "Id", + "model": "Area" + }, + { + "field_name": "initials", + "title": "ĸ", + "model": "Area" + }, + { + "field_name": "level", + "title": "㼶(1ʡ 2 3 4缶)", + "model": "Area" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "Area" + }, + { + "field_name": "name", + "title": "", + "model": "Area" + }, + { + "field_name": "pcode", + "title": "", + "model": "Area" + }, + { + "field_name": "pinyin", + "title": "ƴ", + "model": "Area" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "Area" + } + ] + }, + { + "name": "", + "icon": "iconfont icon-file", + "sort": 3, + "is_link": false, + "is_catalog": false, + "web_path": "/file", + "component": "system/fileList/index", + "component_name": "file", + "status": true, + "cache": false, + "visible": true, + "parent": 10, + "children": [], + "menu_button": [ + { + "name": "", + "value": "file:Retrieve", + "api": "/api/system/file/{id}/", + "method": 0 + }, + { + "name": "ѯ", + "value": "file:Search", + "api": "/api/system/file/", + "method": 0 + }, + { + "name": "༭", + "value": "file:Update", + "api": "/api/system/file/{id}/", + "method": 1 + }, + { + "name": "ɾ", + "value": "file:Delete", + "api": "/api/system/file/{id}/", + "method": 3 + } + ], + "menu_field": [ + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "FileList" + }, + { + "field_name": "creator", + "title": "", + "model": "FileList" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "FileList" + }, + { + "field_name": "description", + "title": "", + "model": "FileList" + }, + { + "field_name": "engine", + "title": "", + "model": "FileList" + }, + { + "field_name": "file_url", + "title": "ļַ", + "model": "FileList" + }, + { + "field_name": "id", + "title": "Id", + "model": "FileList" + }, + { + "field_name": "md5sum", + "title": "ļmd5", + "model": "FileList" + }, + { + "field_name": "mime_type", + "title": "Mime", + "model": "FileList" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "FileList" + }, + { + "field_name": "name", + "title": "", + "model": "FileList" + }, + { + "field_name": "size", + "title": "ļС", + "model": "FileList" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "FileList" + }, + { + "field_name": "url", + "title": "url", + "model": "FileList" + } + ] + } + ], + "menu_button": [], + "menu_field": [] + }, + { + "name": "־", + "icon": "iconfont icon-rizhi", "sort": 3, "is_link": false, - "is_catalog": false, - "web_path": "/file", - "component": "system/fileList/index", - "component_name": "file", + "is_catalog": true, + "web_path": "/log", + "component": "", + "component_name": "", "status": true, "cache": false, "visible": true, - "children": [], - "menu_button": [ - { - "name": "详情", - "value": "file:Retrieve", - "api": "/api/system/file/{id}/", - "method": 0 - }, - { - "name": "查询", - "value": "file:Search", - "api": "/api/system/file/", - "method": 0 - }, - { - "name": "编辑", - "value": "file:Update", - "api": "/api/system/file/{id}/", - "method": 1 - }, - { - "name": "删除", - "value": "file:Delete", - "api": "/api/system/file/{id}/", - "method": 3 - } - ] - } - ], - "menu_button": [] - }, - { - "name": "日志管理", - "icon": "iconfont icon-rizhi", - "sort": 3, - "is_link": false, - "is_catalog": true, - "web_path": "/log", - "component": "", - "component_name": "", - "status": true, - "cache": false, - "visible": true, - "children": [ - { - "name": "登录日志", - "icon": "iconfont icon-guanlidenglurizhi", - "sort": 1, - "is_link": false, - "is_catalog": false, - "web_path": "/loginLog", - "component": "system/log/loginLog/index", - "component_name": "loginLog", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "查询", - "value": "login_log:Search", - "api": "/api/system/login_log/", - "method": 0 - }, - { - "name": "详情", - "value": "login_log:Retrieve", - "api": "/api/system/login_log/{id}/", - "method": 0 - } - ] - }, - { - "name": "操作日志", - "icon": "iconfont icon-caozuorizhi", - "sort": 2, - "is_link": false, - "is_catalog": false, - "web_path": "/operationLog", - "component": "system/log/operationLog/index", - "component_name": "operationLog", - "status": true, - "cache": false, - "visible": true, - "children": [], - "menu_button": [ - { - "name": "详情", - "value": "operation_log:Retrieve", - "api": "/api/system/operation_log/{id}/", - "method": 0 - }, - { - "name": "查询", - "value": "operation_log:Search", - "api": "/api/system/operation_log/", - "method": 0 - } - ] - } - ], - "menu_button": [] - } + "parent": null, + "children": [ + { + "name": "¼־", + "icon": "iconfont icon-guanlidenglurizhi", + "sort": 1, + "is_link": false, + "is_catalog": false, + "web_path": "/loginLog", + "component": "system/log/loginLog/index", + "component_name": "loginLog", + "status": true, + "cache": false, + "visible": true, + "parent": 15, + "children": [], + "menu_button": [ + { + "name": "ѯ", + "value": "login_log:Search", + "api": "/api/system/login_log/", + "method": 0 + }, + { + "name": "", + "value": "login_log:Retrieve", + "api": "/api/system/login_log/{id}/", + "method": 0 + } + ], + "menu_field": [ + { + "field_name": "agent", + "title": "agentϢ", + "model": "LoginLog" + }, + { + "field_name": "area_code", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "browser", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "city", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "continent", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "country", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "country_code", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "country_english", + "title": "Ӣȫ", + "model": "LoginLog" + }, + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "LoginLog" + }, + { + "field_name": "creator", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "LoginLog" + }, + { + "field_name": "description", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "district", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "id", + "title": "Id", + "model": "LoginLog" + }, + { + "field_name": "ip", + "title": "¼ip", + "model": "LoginLog" + }, + { + "field_name": "isp", + "title": "Ӫ", + "model": "LoginLog" + }, + { + "field_name": "latitude", + "title": "γ", + "model": "LoginLog" + }, + { + "field_name": "login_type", + "title": "¼", + "model": "LoginLog" + }, + { + "field_name": "longitude", + "title": "", + "model": "LoginLog" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "LoginLog" + }, + { + "field_name": "os", + "title": "ϵͳ", + "model": "LoginLog" + }, + { + "field_name": "province", + "title": "ʡ", + "model": "LoginLog" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "LoginLog" + }, + { + "field_name": "username", + "title": "¼û", + "model": "LoginLog" + } + ] + }, + { + "name": "־", + "icon": "iconfont icon-caozuorizhi", + "sort": 2, + "is_link": false, + "is_catalog": false, + "web_path": "/operationLog", + "component": "system/log/operationLog/index", + "component_name": "operationLog", + "status": true, + "cache": false, + "visible": true, + "parent": 15, + "children": [], + "menu_button": [ + { + "name": "", + "value": "operation_log:Retrieve", + "api": "/api/system/operation_log/{id}/", + "method": 0 + }, + { + "name": "ѯ", + "value": "operation_log:Search", + "api": "/api/system/operation_log/", + "method": 0 + } + ], + "menu_field": [ + { + "field_name": "create_datetime", + "title": "ʱ", + "model": "OperationLog" + }, + { + "field_name": "creator", + "title": "", + "model": "OperationLog" + }, + { + "field_name": "dept_belong_id", + "title": "ݹ", + "model": "OperationLog" + }, + { + "field_name": "description", + "title": "", + "model": "OperationLog" + }, + { + "field_name": "id", + "title": "Id", + "model": "OperationLog" + }, + { + "field_name": "json_result", + "title": "Ϣ", + "model": "OperationLog" + }, + { + "field_name": "modifier", + "title": "޸", + "model": "OperationLog" + }, + { + "field_name": "request_body", + "title": "", + "model": "OperationLog" + }, + { + "field_name": "request_browser", + "title": "", + "model": "OperationLog" + }, + { + "field_name": "request_ip", + "title": "ipַ", + "model": "OperationLog" + }, + { + "field_name": "request_method", + "title": "ʽ", + "model": "OperationLog" + }, + { + "field_name": "request_modular", + "title": "ģ", + "model": "OperationLog" + }, + { + "field_name": "request_msg", + "title": "˵", + "model": "OperationLog" + }, + { + "field_name": "request_os", + "title": "ϵͳ", + "model": "OperationLog" + }, + { + "field_name": "request_path", + "title": "ַ", + "model": "OperationLog" + }, + { + "field_name": "response_code", + "title": "Ӧ״̬", + "model": "OperationLog" + }, + { + "field_name": "status", + "title": "Ӧ״̬", + "model": "OperationLog" + }, + { + "field_name": "update_datetime", + "title": "޸ʱ", + "model": "OperationLog" + } + ] + } + ], + "menu_button": [], + "menu_field": [] + } ] \ No newline at end of file