[ // 'name' => '测试权限', // 'curd' => true, //true默认全部,false为不需要, ['index']为仅需要的 // 'children' => [ // 'show' => [ // 'name' => '详情', // ], // ], // ], 'management'=> [ 'name' => '系统管理', 'curd' => false, 'children' => [ 'administrators' => [ 'name' => '管理员', 'curd' => true, ], 'roles' => [ 'name' => '角色', 'curd' => true, ], 'permissions' => [ 'name' => '权限', 'curd' => true, ], 'menus' => [ 'name' => '菜单', 'curd' => true, ], ], ], 'api'=>[ 'name'=>'后台接口', 'curd' => false, 'children' => [ 'api.product_categories'=>['name'=>'商品分类'], 'api.product_group_details' =>['name'=>'商品分组'], 'api.product_skus'=>['name'=>'子商品列表'], 'api.coupons'=>['name'=>'优惠券'], 'api.coupone_send_tasks'=>['name'=>'优惠券发送任务'], 'api.orders'=>['name'=>'订单'], 'api.order_products'=>['name'=>'订单商品'], 'api.users'=>['name'=>'用户'], 'api.store_product' => ['name' => '查询店铺商品'], 'api.store' => ['name' => '查询店铺'], ], ], 'home'=>[ 'name'=>'主页', 'curd' => false, 'children' =>[ 'statistics'=>['name' =>'统计预览'], 'new_users'=>['name' =>'新注册'], 'orders'=>['name' =>'订单'], ], ], 'users'=>[ 'name'=>'用户管理', 'curd'=>['index', 'show', 'create', 'store', 'destroy'], 'children'=>[ 'disable' =>['name'=>'禁用'], 'enable'=>['name' =>'启用'], 'frozen'=>['name' =>'冻结资产'], 'reset_password'=>['name' =>'修改密码'], 'reset_account_password'=>['name' =>'修改安全密码'], 'edit_phone'=>['name' =>'修改手机号'], 'edit_bank'=>['name'=>'修改银行卡'], 'agent'=>['name'=>'设置代理'], 'change_points' => ['name'=>'变更积分'], ], ], 'agent' => [ 'name' => '代理等级设置', 'curd' => ['index', 'show', 'create', 'store', 'destroy'], ], 'sales_value_logs' => [ 'name' => '成长值流水', 'curd' => ['index'], ], 'vip' => [ 'name' => '会员卡管理', 'curd' => true, ], 'user_vip' => [ 'name' => '会员卡购买记录', 'curd' => ['index', 'show'], ], 'article_categories' =>[ 'name'=>'文章分类', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'articles'=>[ 'name'=>'文章', 'curd' => true, ], 'ad_addresses'=>[ 'name'=>'广告位', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'ads'=>[ 'name'=>'广告内容', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'coupons'=>[ 'name' =>'优惠券管理', 'curd' => true, 'children'=>[ 'range_list' =>['name' =>'使用范围'], ], ], 'coupon_ranges'=>[ 'name' =>'优惠使用范围管理', 'curd' => ['create', 'store', 'edit', 'update', 'destroy'], ], 'shipping_templates'=>[ 'name' =>'运费模板管理', 'curd' => true, 'children'=>[ 'rule_list' =>['name' =>'运费规则'], ], ], 'shipping_rules'=>[ 'name' =>'运费规则管理', 'curd' => ['create', 'store', 'edit', 'update', 'destroy'], ], 'product_categories'=>[ 'name' =>'商品分类', 'curd'=>['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'product_spus'=>[ 'name' =>'主商品', 'curd'=> true, 'children'=>[ 'sku_list'=>['name'=>'子商品列表'], 'setting_specs'=>['name'=>'设置规格'], 'init_sku_by_specs'=>['name' =>'初始化SKU'], 'add_sku'=>['name' =>'添加子商品'], ], ], 'product_skus'=>[ 'name' =>'子商品', 'curd' =>['index', 'edit', 'update', 'destroy'], 'children'=>[ 'batch_release_up' => ['name'=>'批量上架申请'], 'batch_release_down'=>['name' =>'批量下架'], 'batch_release_cacel'=>['name' =>'批量取消申请'], 'batch_sku_sync_spu'=>['name' =>'批量同步主商品'], 'release_up'=> ['name'=>'上架申请'], 'release_down'=> ['name'=>'商品下架'], 'release_cacel'=> ['name'=>'取消申请'], 'sku_sync_spu'=>['name' =>'同步主商品'], 'sku_gift' =>['name' =>'赠品管理'], ], ], 'product_sku_verifies'=>[ 'name' =>'商品审核', 'curd'=>['index', 'destroy'], 'children' => [ 'verify'=>['name' =>'审核商品'], 'batch_verify'=>['name' =>'批量审核'], ], ], 'product_groups'=>[ 'name' =>'属性分组', 'curd'=>['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'product_features'=>[ 'name' =>'商品特点', 'curd' =>['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'product_buynotes'=>[ 'name' =>'购买须知', 'curd'=>['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'product_parts'=>[ 'name' =>'商品分区', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], 'children'=>[ 'coupons'=>['name'=>'赠券'], ], ], 'coupon_send_tasks'=>[ 'name' =>'优惠券发放', 'curd' => true, 'children'=>[ 'start' =>['name'=>'开始任务'], ], ], 'coupon_task_logs'=>[ 'name' =>'优惠券发放日志', 'curd' => ['index'], ], 'messages'=>[ 'name' =>'公告消息', 'curd' => true, ], 'share_bgs'=>[ 'name'=>'分享背景', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'app_versions'=>[ 'name' =>'App版本管理', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'orders'=>[ 'name' =>'订单管理', 'curd' => ['index', 'show'], 'children'=>[ 'export_shipping_orders'=>['name' =>'导出发货单'], 'export_order_products'=>['name' =>'导出商品'], 'tags'=>['name' =>'标签设置'], 'pay'=>['name' =>'支付订单'], 'reduce'=>['name' =>'订单改价'], 'remark'=>['name' =>'订单备注'], 'consignee'=>['name' =>'修改地址'], 'create_package'=>['name' =>'发货'], 'pendding_orders'=>['name' =>'待发货单'], 'finished_orders'=>['name' =>'已完成单'], ], ], 'order_reduce_ranges'=>[ 'name' =>'订单调价权限管理', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'order_refunds'=>[ 'name' => '退款记录', 'curd' => ['index'], ], 'order_packages'=>[ 'name' =>'发货单', 'curd' =>['index', 'edit', 'update', 'destroy'], 'children' => [ 'import'=>['name' =>'导入发货单'], 'failed' => ['name' =>'作废'], 'tags'=>['name' =>'标签设置'], ], ], 'import_job_logs'=>[ 'name' =>'导入记录', 'curd'=>['index'], ], 'after_sales'=>[ 'name' =>'售后管理', 'curd' => ['index', 'show'], 'children' => [ 'verifies'=>['name' =>'售后处理'], 'verify'=>['name' =>'客服审核'], 'shippings'=>['name' =>'售后验收'], 'shipping'=>['name' =>'确认收货'], 'finances'=>['name' =>'售后打款'], 'finance'=>['name' =>'确认打款'], 'revoke'=>['name' =>'撤销'], 'tags'=>['name' =>'标签设置'], ], ], 'tags'=>[ 'name' =>'标签管理', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'settings'=>[ 'name' =>'配置管理', 'curd' => ['index'], ], 'wallet_logs'=>[ 'name' =>'可提账户', 'curd' =>['index'], 'children' => [ 'recharge'=>['name' =>'充值'], 'deduction'=>['name' =>'扣减'], ], ], 'balance_logs'=>[ 'name' =>'余额账户', 'curd' =>['index'], 'children' => [ 'recharge'=>['name' =>'充值'], 'deduction'=>['name' =>'扣减'], ], ], 'wallet_to_bank_logs' => [ 'name' => '提现审核', 'curd' => ['index'], 'children' => [ 'verify'=>['name' =>'审核'], ], ], 'activities'=>[ 'name' =>'活动管理', 'curd' => true, ], 'bargain_activities'=>[ 'name' =>'砍价活动', 'curd'=> true, ], 'bargain_orders'=>[ 'name' =>'砍价活动记录', 'curd' => ['index', 'show'], 'children'=>[ 'remark'=>['name' =>'备注'], ], ], 'store' => [ 'name' => '门店管理', 'children' => [ 'info' => ['name' => '总览'], 'list' => ['name' => '信息管理', 'curd' => true], 'product' => ['name' => '商品管理', 'curd' => true], 'user' => ['name' => '员工业绩', 'curd' => ['index']], 'order' => ['name' => '订单管理', 'curd' => ['index', 'show']], 'stock' => ['name' => '库存管理', 'curd' => ['index', 'create', 'store', 'show']], 'batch' => ['name' => '批次管理', 'curd' => true], 'device' => ['name' => '设备管理', 'curd' => true], 'desk' => ['name' => '桌号管理', 'curd' => true], ], ], 'profit' => [ 'name' => '提成管理', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], 'children' => [ 'pay' => ['name' => '修改支付状态'] ], ], 'draw_activities' => [ 'name' => '抽奖活动', 'curd' => true, 'children' =>[ 'publish' => ['name' => '发布'], 'close' => ['name' => '关闭'], 'prize_create' => ['name' => '新增活动奖品'], 'prize_store' => ['name' => '保存活动奖品'], 'prize_edit' => ['name' => '编辑活动奖品'], 'prize_update' => ['name' => '更新活动奖品'], 'prize_delete' => ['name' => '删除活动奖品'], 'prize_stock' => ['name' => '变更库存'], 'ticket_list' => ['name' => '抽奖次数'], 'change_tickets' => ['name' => '增加/扣除抽奖次数'], 'log_list' => ['name' => '中奖记录'], 'log_complete' => ['name' => '发放奖品'], 'log_edit' => ['name' => '编辑中奖记录'], 'log_update' => ['name' => '更新中奖记录'], ], ], 'draw_prizes' => [ 'name' => '奖品池', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], 'children' =>[], ], 'sales_value_logs' => [ 'name' => '成长值记录', 'curd' => ['index'] ], 'point_logs' => [ 'name' => '积分流水', 'curd' => ['index'], 'children' => [], ], 'offline_product_categories' => [ 'name' => '线下订单 - 商品分类', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], 'children' => [], ], 'offline_orders' => [ 'name' => '线下订单 - 线下订单', 'curd' => ['index', 'show'], 'children' => [], ], ]; // try { // DB::begintransaction(); $this->createPermissionData($permissions); // DB::commit(); // } catch (\Exception $e) { // Log::error('权限录入:'.$e->getMessage()); // DB::rollBack(); // } } /** * 插入权限 * * @param array $permissions * @param string $key * @param integer $pId */ public function createPermissionData(array $permissions, string $key = '', int $pId = 0) { $curdArr = [ 'index'=>[ 'name' => '列表', ], 'create'=>[ 'name' => '新增', ], 'store' =>[ 'name' => '保存', ], 'edit' =>[ 'name' => '修改', ], 'update'=>[ 'name' => '更新', ], 'destroy'=>[ 'name' => '删除', ], 'show'=>[ 'name' => '详情', ], ]; foreach ($permissions as $slug => $permission) { //是否已存在该权限 $slugKey = 'dcat.admin.'.($key ? $key.'.'.$slug : $slug); $pper = Permission::updateOrCreate(['slug'=>$slugKey], ['name' => $permission['name'], 'parent_id' => $pId]); if (!isset($permission['children'])) { $permission['children'] = []; } //判断是否默认插入curd权限 if (isset($permission['curd']) && $permission['curd']) { if (is_array($permission['curd'])) { rsort($permission['curd']); foreach ($permission['curd'] as $value) { // $permission['children'][$value] = $curdArr[$value]; $permission['children'] = array_merge([ $value=>$curdArr[$value], ], $permission['children']); } } else { $permission['children'] = array_merge($curdArr, $permission['children']); } } if (count($permission['children']) > 0) { $_key = (isset($permission['curd']) && $permission['curd']) ? ($key ? $key.'.'.$slug : $slug) : $key; $this->createPermissionData($permission['children'], $_key ?: $slug, $pper->id); } } } }