840 lines
46 KiB
PHP
840 lines
46 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class SysRuleSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// 每次执行前清空权限菜单和角色权限关联
|
|
DB::table('sys_role_rule')->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);
|
|
}
|
|
}
|
|
}
|
|
}
|