delete(); DB::table('sys_rule')->delete(); $rules = [ [ 'type' => 'menu', 'name' => '仪表盘', 'key' => 'dashboard', 'icon' => 'PieChartOutlined', 'local' => 'menu.dashboard', 'children' => [ [ 'type' => 'route', 'name' => '分析页', 'local' => "menu.analysis", 'key' => 'dashboard.analysis', 'path' => '/dashboard/analysis', ] ] ], [ 'type' => 'menu', 'name' => 'AI', 'local' => "menu.ai", 'icon' => "OpenAIOutlined", 'key' => "ai", 'children' => [ [ 'type' => "route", 'key' => "ai.chat", 'name' => "AI对话", "path" => "/ai/chat", 'local' => "menu.ai.chat", 'children' => [ ['type' => 'rule', 'name' => '发送消息', 'key' => 'ai.chat.send'], ['type' => 'rule', 'name' => '会话列表', 'key' => 'ai.chat.conversations'], ['type' => 'rule', 'name' => '消息列表', 'key' => 'ai.chat.messages'], ['type' => 'rule', 'name' => '删除会话', 'key' => 'ai.chat.delete'], ] ], [ 'type' => "route", 'key' => "ai.conversation", 'name' => "会话管理", "path" => "/ai/conversation", 'local' => "menu.ai.conversation", 'children' => [ ['type' => 'rule', 'name' => '查询会话列表', 'key' => 'ai.conversation.query'], ['type' => 'rule', 'name' => '删除会话', 'key' => 'ai.conversation.delete'], ] ], [ 'type' => "route", 'key' => "ai.agent", 'name' => "Agent 管理", "path" => "/ai/agent", 'local' => "menu.ai.agent", 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'ai.agent.query'], ['type' => 'rule', 'name' => '更新 Agent', 'key' => 'ai.agent.update'], ] ], ] ], [ 'type' => "menu", 'name' => "系统管理", 'local' => "menu.system", 'icon' => "SettingOutlined", 'key' => "system", 'children' => [ [ 'type' => "route", 'key' => "system.user", 'name' => "用户管理", 'path' => "/system/user", 'local' => "menu.system.user", 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'system.user.query'], ['type' => 'rule', 'name' => '新增用户', 'key' => 'system.user.create'], ['type' => 'rule', 'name' => '修改用户', 'key' => 'system.user.update'], ['type' => 'rule', 'name' => '删除用户', 'key' => 'system.user.delete'], ['type' => 'rule', 'name' => '重置用户密码', 'key' => 'system.user.resetPassword'], ['type' => 'rule', 'name' => '获取角色选项', 'key' => 'system.user.role'], ['type' => 'rule', 'name' => '获取部门选项', 'key' => 'system.user.dept'], ] ], [ 'type' => "route", 'key' => "system.dept", 'name' => "部门管理", 'path' => "/system/dept", 'local' => "menu.system.dept", 'children' => [ ['type' => 'rule', 'name' => '获取部门列表', 'key' => 'system.dept.query'], ['type' => 'rule', 'name' => '新建部门', 'key' => 'system.dept.create'], ['type' => 'rule', 'name' => '更新部门信息', 'key' => 'system.dept.update'], ['type' => 'rule', 'name' => '删除部门', 'key' => 'system.dept.delete'], ['type' => 'rule', 'name' => '获取部门用户', 'key' => 'system.dept.users'], ] ], [ 'type' => "route", 'key' => "system.role", 'name' => "角色管理", 'path' => "/system/role", 'local' => "menu.system.role", 'children' => [ ['type' => 'rule', 'name' => '新增角色', 'key' => 'system.role.create'], ['type' => 'rule', 'name' => '查询角色列表', 'key' => 'system.role.query'], ['type' => 'rule', 'name' => '更新角色信息', 'key' => 'system.role.update'], ['type' => 'rule', 'name' => '删除角色', 'key' => 'system.role.delete'], ['type' => 'rule', 'name' => '设置启用状态', 'key' => 'system.role.status'], ['type' => 'rule', 'name' => '获取角色用户', 'key' => 'system.role.users'], ['type' => 'rule', 'name' => '设置角色权限', 'key' => 'system.role.setRule'], ['type' => 'rule', 'name' => '获取权限选项', 'key' => 'system.role.ruleList'], ] ], [ 'type' => "route", 'key' => "system.rule", 'name' => "菜单管理", 'path' => "/system/rule", 'local' => "menu.system.rule", 'children' => [ ['type' => 'rule', 'name' => '获取权限列表', 'key' => 'system.rule.query'], ['type' => 'rule', 'name' => '创建权限规则', 'key' => 'system.rule.create'], ['type' => 'rule', 'name' => '更新权限规则', 'key' => 'system.rule.update'], ['type' => 'rule', 'name' => '删除权限规则', 'key' => 'system.rule.delete'], ['type' => 'rule', 'name' => '获取父级权限', 'key' => 'system.rule.parentQuery'], ['type' => 'rule', 'name' => '设置显示状态', 'key' => 'system.rule.show'], ['type' => 'rule', 'name' => '设置启用状态', 'key' => 'system.rule.status'], ] ], [ 'type' => "route", 'name' => "文件管理", 'local' => "menu.system.file", 'key' => "system.file", 'path' => "/system/file", 'children' => [ ['type' => 'rule', 'name' => '获取文件夹', 'key' => 'system.file.group.query'], ['type' => 'rule', 'name' => '新增文件夹', 'key' => 'system.file.group.create'], ['type' => 'rule', 'name' => '编辑文件夹', 'key' => 'system.file.group.update'], ['type' => 'rule', 'name' => '删除文件夹', 'key' => 'system.file.group.delete'], ['type' => 'rule', 'name' => '查询文件列表', 'key' => 'system.file.list.query'], ['type' => 'rule', 'name' => '上传文件', 'key' => 'system.file.list.upload'], ['type' => 'rule', 'name' => '下载文件', 'key' => 'system.file.list.download'], ['type' => 'rule', 'name' => '删除文件', 'key' => 'system.file.list.delete'], ['type' => 'rule', 'name' => '永久删除文件', 'key' => 'system.file.list.force-delete'], ['type' => 'rule', 'name' => '恢复文件', 'key' => 'system.file.list.restore'], ['type' => 'rule', 'name' => '查看回收站', 'key' => 'system.file.list.trashed'], ['type' => 'rule', 'name' => '清空回收站', 'key' => 'system.file.list.clean-trashed'], ['type' => 'rule', 'name' => '复制文件', 'key' => 'system.file.list.copy'], ['type' => 'rule', 'name' => '移动文件', 'key' => 'system.file.list.move'], ['type' => 'rule', 'name' => '重命名文件', 'key' => 'system.file.list.rename'] ], ], [ 'type' => "route", 'name' => "系统字典", 'local' => "menu.system.dict", 'key' => "system.dict", 'path' => "/system/dict", 'children' => [ ['type' => 'rule', 'name' => '字典列表', 'key' => 'system.dict.list.query'], ['type' => 'rule', 'name' => '新增字典', 'key' => 'system.dict.list.create'], ['type' => 'rule', 'name' => '删除字典', 'key' => 'system.dict.list.delete'], ['type' => 'rule', 'name' => '更新字典', 'key' => 'system.dict.list.update'], ['type' => 'rule', 'name' => '字典项列表', 'key' => 'system.dict.item.query'], ['type' => 'rule', 'name' => '字典项新增', 'key' => 'system.dict.item.create'], ['type' => 'rule', 'name' => '字典项编辑', 'key' => 'system.dict.item.update'], ['type' => 'rule', 'name' => '字典项删除', 'key' => 'system.dict.item.delete'], ] ], [ 'type' => "route", 'name' => "系统配置", 'local' => "menu.system.config", 'key' => "system.config", 'path' => "/system/config", 'children' => [ ['type' => 'rule', 'name' => '配置列表', 'key' => 'system.config.items.query'], ['type' => 'rule', 'name' => '新增配置', 'key' => 'system.config.items.create'], ['type' => 'rule', 'name' => '编辑配置', 'key' => 'system.config.items.update'], ['type' => 'rule', 'name' => '删除配置', 'key' => 'system.config.items.delete'], ['type' => 'rule', 'name' => '保存配置', 'key' => 'system.config.items.save'], ['type' => 'rule', 'name' => '刷新配置', 'key' => 'system.config.items.refresh'], ['type' => 'rule', 'name' => '配置组编辑', 'key' => 'system.config.group.update'], ['type' => 'rule', 'name' => '配置组删除', 'key' => 'system.config.items.item.delete'], ['type' => 'rule', 'name' => '配置组列表', 'key' => 'system.config.group.query'], ['type' => 'rule', 'name' => '配置组新增', 'key' => 'system.config.group.create'], ] ], [ 'type' => 'route', 'key' => 'system.mail', 'name' => '邮件配置', 'path' => '/system/mail', 'local' => 'menu.system.mail', 'children' => [ ['type' => 'rule', 'name' => '获取配置', 'key' => 'system.mail.config'], ['type' => 'rule', 'name' => '保存配置', 'key' => 'system.mail.save'], ['type' => 'rule', 'name' => '发送测试', 'key' => 'system.mail.test'], ] ], [ 'type' => 'route', 'key' => 'system.storage', 'name' => '存储配置', 'path' => '/system/storage', 'local' => 'menu.system.storage', 'children' => [ ['type' => 'rule', 'name' => '获取配置', 'key' => 'system.storage.config'], ['type' => 'rule', 'name' => '保存配置', 'key' => 'system.storage.save'], ['type' => 'rule', 'name' => '测试连接', 'key' => 'system.storage.test'], ] ], [ 'type' => 'route', 'key' => 'system.ai', 'name' => 'AI 配置', 'path' => '/system/ai', 'local' => 'menu.system.ai', 'children' => [ ['type' => 'rule', 'name' => '获取可用AI列表', 'key' => 'system.ai.list'], ['type' => 'rule', 'name' => '获取AI配置', 'key' => 'system.ai.config'], ['type' => 'rule', 'name' => '保存AI配置', 'key' => 'system.ai.save'], ['type' => 'rule', 'name' => '测试连接', 'key' => 'system.ai.test'], ] ], [ 'type' => "route", 'name' => "系统信息", 'local' => "menu.system.info", 'key' => "system.info", 'path' => "/system/info", ] ] ], [ 'type' => 'menu', 'name' => '小程序用户', 'local' => 'menu.member', 'icon' => 'UserOutlined', 'key' => 'member', 'children' => [ [ 'type' => 'route', 'name' => '用户列表', 'key' => 'member.user', 'path' => '/member/user', 'local' => 'menu.member.user', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'member.user.query'], ['type' => 'rule', 'name' => '新增用户', 'key' => 'member.user.create'], ['type' => 'rule', 'name' => '修改用户', 'key' => 'member.user.update'], ['type' => 'rule', 'name' => '删除用户', 'key' => 'member.user.delete'], ], ], [ 'type' => 'route', 'name' => '地址管理', 'key' => 'member.address', 'path' => '/member/address', 'local' => 'menu.member.address', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'member.address.query'], ['type' => 'rule', 'name' => '新增地址', 'key' => 'member.address.create'], ['type' => 'rule', 'name' => '修改地址', 'key' => 'member.address.update'], ['type' => 'rule', 'name' => '删除地址', 'key' => 'member.address.delete'], ], ], ], ], [ 'type' => 'menu', 'name' => '校园论坛', 'local' => 'menu.forum', 'icon' => 'MessageOutlined', 'key' => 'forum', 'children' => [ [ 'type' => 'route', 'name' => '话题管理', 'key' => 'forum.category', 'path' => '/forum/category', 'local' => 'menu.forum.category', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'forum.category.query'], ['type' => 'rule', 'name' => '新增分类', 'key' => 'forum.category.create'], ['type' => 'rule', 'name' => '修改分类', 'key' => 'forum.category.update'], ['type' => 'rule', 'name' => '删除分类', 'key' => 'forum.category.delete'], ], ], [ 'type' => 'route', 'name' => '帖子管理', 'key' => 'forum.post', 'path' => '/forum/post', 'local' => 'menu.forum.post', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'forum.post.query'], ['type' => 'rule', 'name' => '新增帖子', 'key' => 'forum.post.create'], ['type' => 'rule', 'name' => '修改帖子', 'key' => 'forum.post.update'], ['type' => 'rule', 'name' => '删除帖子', 'key' => 'forum.post.delete'], ], ], [ 'type' => 'route', 'name' => '评论管理', 'key' => 'forum.comment', 'path' => '/forum/comment', 'local' => 'menu.forum.comment', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'forum.comment.query'], ['type' => 'rule', 'name' => '新增评论', 'key' => 'forum.comment.create'], ['type' => 'rule', 'name' => '修改评论', 'key' => 'forum.comment.update'], ['type' => 'rule', 'name' => '删除评论', 'key' => 'forum.comment.delete'], ], ], [ 'type' => 'route', 'name' => '敏感词管理', 'key' => 'forum.sensitive-word', 'path' => '/forum/sensitive-word', 'local' => 'menu.forum.sensitive-word', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'forum.sensitive-word.query'], ['type' => 'rule', 'name' => '新增敏感词', 'key' => 'forum.sensitive-word.create'], ['type' => 'rule', 'name' => '修改敏感词', 'key' => 'forum.sensitive-word.update'], ['type' => 'rule', 'name' => '删除敏感词', 'key' => 'forum.sensitive-word.delete'], ], ], [ 'type' => 'route', 'name' => '点赞记录', 'key' => 'forum.post-like', 'path' => '/forum/post-like', 'local' => 'menu.forum.post-like', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'forum.post-like.query'], ['type' => 'rule', 'name' => '删除记录', 'key' => 'forum.post-like.delete'], ], ], [ 'type' => 'route', 'name' => '收藏记录', 'key' => 'forum.post-favorite', 'path' => '/forum/post-favorite', 'local' => 'menu.forum.post-favorite', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'forum.post-favorite.query'], ['type' => 'rule', 'name' => '删除记录', 'key' => 'forum.post-favorite.delete'], ], ], ], ], [ 'type' => 'menu', 'name' => '校园商户', 'local' => 'menu.merchant', 'icon' => 'ShopOutlined', 'key' => 'merchant', 'children' => [ [ 'type' => 'route', 'name' => '商户分类', 'key' => 'merchant.category', 'path' => '/merchant/category', 'local' => 'menu.merchant.category', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.category.query'], ['type' => 'rule', 'name' => '新增分类', 'key' => 'merchant.category.create'], ['type' => 'rule', 'name' => '修改分类', 'key' => 'merchant.category.update'], ['type' => 'rule', 'name' => '删除分类', 'key' => 'merchant.category.delete'], ], ], [ 'type' => 'route', 'name' => '商户管理', 'key' => 'merchant.store', 'path' => '/merchant/store', 'local' => 'menu.merchant.store', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.store.query'], ['type' => 'rule', 'name' => '新增商户', 'key' => 'merchant.store.create'], ['type' => 'rule', 'name' => '修改商户', 'key' => 'merchant.store.update'], ['type' => 'rule', 'name' => '删除商户', 'key' => 'merchant.store.delete'], ], ], [ 'type' => 'route', 'name' => '商品分类', 'key' => 'merchant.product-category', 'path' => '/merchant/product-category', 'local' => 'menu.merchant.product-category', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.product-category.query'], ['type' => 'rule', 'name' => '新增分类', 'key' => 'merchant.product-category.create'], ['type' => 'rule', 'name' => '修改分类', 'key' => 'merchant.product-category.update'], ['type' => 'rule', 'name' => '删除分类', 'key' => 'merchant.product-category.delete'], ], ], [ 'type' => 'route', 'name' => '商品管理', 'key' => 'merchant.product', 'path' => '/merchant/product', 'local' => 'menu.merchant.product', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.product.query'], ['type' => 'rule', 'name' => '新增商品', 'key' => 'merchant.product.create'], ['type' => 'rule', 'name' => '修改商品', 'key' => 'merchant.product.update'], ['type' => 'rule', 'name' => '删除商品', 'key' => 'merchant.product.delete'], ], ], [ 'type' => 'route', 'name' => '打印机管理', 'key' => 'merchant.printer', 'path' => '/merchant/printer', 'local' => 'menu.merchant.printer', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.printer.query'], ['type' => 'rule', 'name' => '新增打印机', 'key' => 'merchant.printer.create'], ['type' => 'rule', 'name' => '修改打印机', 'key' => 'merchant.printer.update'], ['type' => 'rule', 'name' => '删除打印机', 'key' => 'merchant.printer.delete'], ], ], [ 'type' => 'route', 'name' => '打印任务', 'key' => 'merchant.print-task', 'path' => '/merchant/print-task', 'local' => 'menu.merchant.print-task', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.print-task.query'], ['type' => 'rule', 'name' => '删除任务', 'key' => 'merchant.print-task.delete'], ], ], [ 'type' => 'route', 'name' => '订单管理', 'key' => 'merchant.order', 'path' => '/merchant/order', 'local' => 'menu.merchant.order', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.order.query'], ['type' => 'rule', 'name' => '新增订单', 'key' => 'merchant.order.create'], ['type' => 'rule', 'name' => '修改订单', 'key' => 'merchant.order.update'], ['type' => 'rule', 'name' => '删除订单', 'key' => 'merchant.order.delete'], ], ], [ 'type' => 'route', 'name' => '订单退款', 'key' => 'merchant.refund', 'path' => '/merchant/refund', 'local' => 'menu.merchant.refund', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.refund.query'], ['type' => 'rule', 'name' => '处理退款', 'key' => 'merchant.refund.update'], ['type' => 'rule', 'name' => '删除记录', 'key' => 'merchant.refund.delete'], ], ], ], ], // 校园任务 [ 'type' => 'menu', 'key' => 'task', 'name' => '校园任务', 'icon' => 'ThunderboltOutlined', 'local' => 'menu.task', 'children' => [ // 任务分类 [ 'type' => 'route', 'key' => 'task.category', 'name' => '任务分类', 'path' => '/task/category', 'local' => 'menu.task.category', 'children' => [ ['type' => 'rule', 'key' => 'task.category.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'task.category.create', 'name' => '创建'], ['type' => 'rule', 'key' => 'task.category.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'task.category.delete', 'name' => '删除'], ], ], // 跑腿订单 [ 'type' => 'route', 'key' => 'task.order_errand', 'name' => '跑腿订单', 'path' => '/task/order-errand', 'local' => 'menu.task.order_errand', 'children' => [ ['type' => 'rule', 'key' => 'task.order.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'task.order.create', 'name' => '创建'], ['type' => 'rule', 'key' => 'task.order.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'task.order.delete', 'name' => '删除'], ], ], // 代取订单 [ 'type' => 'route', 'key' => 'task.order_pickup', 'name' => '代取订单', 'path' => '/task/order-pickup', 'local' => 'menu.task.order_pickup', ], // 租借订单 [ 'type' => 'route', 'key' => 'task.order_rental', 'name' => '租借订单', 'path' => '/task/order-rental', 'local' => 'menu.task.order_rental', ], // 接单记录 [ 'type' => 'route', 'key' => 'task.bid', 'name' => '接单记录', 'path' => '/task/bid', 'local' => 'menu.task.bid', 'children' => [ ['type' => 'rule', 'key' => 'task.bid.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'task.bid.create', 'name' => '创建'], ['type' => 'rule', 'key' => 'task.bid.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'task.bid.delete', 'name' => '删除'], ], ], ], ], // 接单员管理 [ 'type' => 'menu', 'key' => 'runner', 'name' => '接单员管理', 'icon' => 'TeamOutlined', 'local' => 'menu.runner', 'children' => [ // 接单员申请 [ 'type' => 'route', 'key' => 'runner.application', 'name' => '接单员申请', 'path' => '/runner/application', 'local' => 'menu.runner.application', 'children' => [ ['type' => 'rule', 'key' => 'runner.application.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.application.create', 'name' => '创建'], ['type' => 'rule', 'key' => 'runner.application.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'runner.application.delete', 'name' => '删除'], ], ], // 接单员列表 (query/update/delete) [ 'type' => 'route', 'key' => 'runner.worker', 'name' => '接单员列表', 'path' => '/runner/worker', 'local' => 'menu.runner.worker', 'children' => [ ['type' => 'rule', 'key' => 'runner.worker.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.worker.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'runner.worker.delete', 'name' => '删除'], ], ], // 信誉分记录 (query only) [ 'type' => 'route', 'key' => 'runner.credit_log', 'name' => '信誉分记录', 'path' => '/runner/credit-log', 'local' => 'menu.runner.credit_log', 'children' => [ ['type' => 'rule', 'key' => 'runner.credit_log.query', 'name' => '查询'], ], ], // 投诉记录 [ 'type' => 'route', 'key' => 'runner.complaint', 'name' => '投诉记录', 'path' => '/runner/complaint', 'local' => 'menu.runner.complaint', 'children' => [ ['type' => 'rule', 'key' => 'runner.complaint.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.complaint.create', 'name' => '创建'], ['type' => 'rule', 'key' => 'runner.complaint.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'runner.complaint.delete', 'name' => '删除'], ], ], // 投诉申诉 [ 'type' => 'route', 'key' => 'runner.complaint_appeal', 'name' => '投诉申诉', 'path' => '/runner/complaint-appeal', 'local' => 'menu.runner.complaint_appeal', 'children' => [ ['type' => 'rule', 'key' => 'runner.complaint_appeal.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.complaint_appeal.create', 'name' => '创建'], ['type' => 'rule', 'key' => 'runner.complaint_appeal.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'runner.complaint_appeal.delete', 'name' => '删除'], ], ], ], ], // 财务管理 [ 'type' => 'menu', 'key' => 'finance', 'name' => '财务管理', 'icon' => 'AccountBookOutlined', 'local' => 'menu.finance', 'children' => [ // 任务支付日志 (query/delete) [ 'type' => 'route', 'key' => 'task.payment', 'name' => '任务支付日志', 'path' => '/finance/task-payment', 'local' => 'menu.finance.task_payment', 'children' => [ ['type' => 'rule', 'key' => 'task.payment.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'task.payment.delete', 'name' => '删除'], ], ], // 保证金管理 (query/update/delete) [ 'type' => 'route', 'key' => 'runner.deposit', 'name' => '保证金管理', 'path' => '/finance/deposit', 'local' => 'menu.finance.deposit', 'children' => [ ['type' => 'rule', 'key' => 'runner.deposit.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.deposit.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'runner.deposit.delete', 'name' => '删除'], ], ], // 保证金支付日志 (query/delete) [ 'type' => 'route', 'key' => 'runner.deposit_payment', 'name' => '保证金支付日志', 'path' => '/finance/deposit-payment', 'local' => 'menu.finance.deposit_payment', 'children' => [ ['type' => 'rule', 'key' => 'runner.deposit_payment.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.deposit_payment.delete', 'name' => '删除'], ], ], // 接单员提现 (query/update/delete) [ 'type' => 'route', 'key' => 'runner.withdrawal', 'name' => '接单员提现', 'path' => '/finance/withdrawal', 'local' => 'menu.finance.withdrawal', 'children' => [ ['type' => 'rule', 'key' => 'runner.withdrawal.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'runner.withdrawal.update', 'name' => '编辑'], ['type' => 'rule', 'key' => 'runner.withdrawal.delete', 'name' => '删除'], ], ], // 资金流水 (query only) [ 'type' => 'route', 'key' => 'finance.transaction', 'name' => '资金流水', 'path' => '/finance/transaction', 'local' => 'menu.finance.transaction', 'children' => [ ['type' => 'rule', 'key' => 'finance.transaction.query', 'name' => '查询'], ['type' => 'rule', 'key' => 'finance.transaction.delete', 'name' => '删除'], ], ], [ 'type' => 'route', 'name' => '订单支付日志', 'key' => 'merchant.order_payment', 'path' => '/finance/order-payment', 'local' => 'menu.finance.order_payment', 'children' => [ ['type' => 'rule', 'name' => '查询', 'key' => 'merchant.order_payment.query'], ['type' => 'rule', 'name' => '删除', 'key' => 'merchant.order_payment.delete'], ], ], [ 'type' => 'route', 'name' => '商户提现', 'key' => 'merchant.withdrawal', 'path' => '/finance/merchant-withdrawal', 'local' => 'menu.finance.merchant_withdrawal', 'children' => [ ['type' => 'rule', 'name' => '查询', 'key' => 'merchant.withdrawal.query'], ['type' => 'rule', 'name' => '审核', 'key' => 'merchant.withdrawal.update'], ['type' => 'rule', 'name' => '删除', 'key' => 'merchant.withdrawal.delete'], ], ], ], ], [ 'type' => 'menu', 'name' => '商户管理', 'local' => 'menu.merchant_portal', 'icon' => 'ShopOutlined', 'key' => 'merchant.portal', 'children' => [ [ 'type' => 'route', 'name' => '商品列表', 'key' => 'merchant.portal.product', 'path' => '/merchant-portal/product', 'local' => 'menu.merchant_portal.product', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.portal.product.query'], ['type' => 'rule', 'name' => '新增商品', 'key' => 'merchant.portal.product.create'], ['type' => 'rule', 'name' => '修改商品', 'key' => 'merchant.portal.product.update'], ['type' => 'rule', 'name' => '删除商品', 'key' => 'merchant.portal.product.delete'], ], ], [ 'type' => 'route', 'name' => '商品分类', 'key' => 'merchant.portal.product-category', 'path' => '/merchant-portal/product-category', 'local' => 'menu.merchant_portal.product-category', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.portal.product-category.query'], ['type' => 'rule', 'name' => '新增分类', 'key' => 'merchant.portal.product-category.create'], ['type' => 'rule', 'name' => '修改分类', 'key' => 'merchant.portal.product-category.update'], ['type' => 'rule', 'name' => '删除分类', 'key' => 'merchant.portal.product-category.delete'], ], ], [ 'type' => 'route', 'name' => '订单列表', 'key' => 'merchant.portal.order', 'path' => '/merchant-portal/order', 'local' => 'menu.merchant_portal.order', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.portal.order.query'], ], ], [ 'type' => 'route', 'name' => '交易流水', 'key' => 'merchant.portal.payment', 'path' => '/merchant-portal/payment', 'local' => 'menu.merchant_portal.payment', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.portal.payment.query'], ], ], [ 'type' => 'route', 'name' => '打印机管理', 'key' => 'merchant.portal.printer', 'path' => '/merchant-portal/printer', 'local' => 'menu.merchant_portal.printer', 'children' => [ ['type' => 'rule', 'name' => '查询列表', 'key' => 'merchant.portal.printer.query'], ['type' => 'rule', 'name' => '新增打印机', 'key' => 'merchant.portal.printer.create'], ['type' => 'rule', 'name' => '修改打印机', 'key' => 'merchant.portal.printer.update'], ['type' => 'rule', 'name' => '删除打印机', 'key' => 'merchant.portal.printer.delete'], ], ], [ 'type' => 'route', 'name' => '商户信息', 'key' => 'merchant.portal.store', 'path' => '/merchant-portal/store', 'local' => 'menu.merchant_portal.store', 'children' => [ ['type' => 'rule', 'name' => '查看信息', 'key' => 'merchant.portal.store.query'], ['type' => 'rule', 'name' => '修改信息', 'key' => 'merchant.portal.store.update'], ], ], ], ], [ 'type' => 'route', 'name' => 'XinAdmin', 'local' => "menu.xin-admin", 'key' => "xin-admin", 'icon' => "LinkOutlined", 'link' => 1, 'path' => 'https://xinadmin.cn', ] ]; $this->insertRules($rules); // 为超级管理员(role_id=1)授予全部启用权限 DB::table('sys_role_rule')->insertUsing( ['role_id', 'rule_id'], DB::table('sys_rule') ->where('status', 1) ->select(DB::raw('1 as role_id'), 'id') ); // 为商户角色分配 merchant.portal.* 及 dashboard 权限 $portalRuleIds = DB::table('sys_rule') ->where('status', 1) ->where(function ($query) { $query->where('key', 'LIKE', 'merchant.portal%') ->orWhere('key', 'dashboard') ->orWhere('key', 'dashboard.analysis'); }) ->pluck('id'); DB::table('sys_role_rule')->insert( $portalRuleIds->map(fn ($ruleId) => [ 'role_id' => 3, 'rule_id' => $ruleId, ])->toArray() ); // 为管理员角色分配所有启用权限,排除 merchant.portal.*(商户门户权限) $adminRuleIds = DB::table('sys_rule') ->where('status', 1) ->where('key', 'NOT LIKE', 'merchant.portal%') ->pluck('id'); DB::table('sys_role_rule')->insert( $adminRuleIds->map(fn ($ruleId) => [ 'role_id' => 2, 'rule_id' => $ruleId, ])->toArray() ); } /** * 递归插入权限规则数据 */ private function insertRules(array $rules, int $pid = 0): void { $order = 0; foreach ($rules as $rule) { $insertData = [ 'parent_id' => $pid, 'type' => $rule['type'], 'key' => $rule['key'], 'name' => $rule['name'], 'path' => $rule['path'] ?? '', 'icon' => $rule['icon'] ?? '', 'order' => $order++, 'local' => $rule['local'] ?? '', 'status' => 1, 'hidden' => 1, 'link' => $rule['link'] ?? 0, 'created_at' => now(), 'updated_at' => now(), ]; $currentId = DB::table('sys_rule')->insertGetId($insertData); if (! empty($rule['children']) && is_array($rule['children'])) { $this->insertRules($rule['children'], $currentId); } } } }