[ // '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'=>'用户'], ], ], 'home'=>[ 'name'=>'主页', 'curd' => false, 'children' =>[ 'home.statistics'=>['name' =>'统计预览'], 'home.users'=>['name' =>'累计会员'], 'home.new_users'=>['name' =>'新注册'], 'home.orders'=>['name' =>'订单'], ], ], 'users'=>[ 'name'=>'会员管理', 'curd'=>['index', 'show', 'create', 'store', 'destroy'], 'children'=>[ 'disable' =>['name'=>'禁用'], 'enable'=>['name' =>'启用'], 'frozen'=>['name' =>'冻结资产'], 'edit_agent'=>['name' =>'修改等级'], 'reset_password'=>['name' =>'修改密码'], 'reset_account_password'=>['name' =>'修改安全密码'], 'edit_phone'=>['name' =>'修改手机号'], 'edit_bank'=>['name'=>'修改银行卡'], 'enable_bonus'=>['name' =>'开启奖金分红'], 'disable_bonus'=>['name' =>'关闭奖金分红'], ], ], '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' =>'导出发货单'], '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' =>'确认打款'], 'tags'=>['name' =>'标签设置'], ], ], 'tags'=>[ 'name' =>'标签管理', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], ], 'settings'=>[ 'name' =>'配置管理', 'curd' => ['index'], ], 'distribution_pre_incomes'=>[ 'name' =>'预收益', 'curd' => ['index'], ], 'wallet_logs'=>[ 'name' =>'可提账户', 'curd' =>['index'], 'children' => [ 'recharge'=>['name' =>'充值'], 'deduction'=>['name' =>'扣减'], ], ], 'balance_logs'=>[ 'name' =>'余额账户', 'curd' =>['index'], 'children' => [ 'recharge'=>['name' =>'充值'], 'deduction'=>['name' =>'扣减'], ], ], 'points_logs'=>[ 'name' =>'积分账户', 'curd' => ['index'], ], 'quota_logs'=>[ 'name' =>'新配额账户', 'curd' => ['index'], ], 'wallet_to_bank_logs' => [ 'name' => '提现审核', 'curd' => ['index'], 'children' => [ 'verify'=>['name' =>'审核'], ], ], 'quota_v1_send_jobs'=>[ 'name' => '老配额分红', 'curd' => ['index', 'create', 'store', 'edit', 'update', 'destroy'], 'children' => [ 'log_list'=>['name' =>'分红记录'], ], ], 'dealers' =>[ 'name' =>'经销商管理', 'curd'=>['index', 'show', 'update'], 'children'=>[ 'edit_lvl'=>['name' =>'修改经销商等级'], 'bonds'=>['name' =>'填写保证金'], 'edit_product'=>['name' =>'调整库存'], ], ], 'dealer_products'=>[ 'name'=>'批零商品', 'curd'=> true, 'children' => [ 'lvl_rules'=>['name' =>'等级规则'], 'sale_rules'=>['name' =>'销售规则'], 'manage_rules' =>['name' =>'管理规则'], ], ], 'dealer_orders'=>[ 'name' =>'批零订单', 'curd' => ['index', 'show'], 'children' =>[ 'paid'=>['name' =>'确认收款'], 'refuse'=>['name' =>'拒绝收款'], 'shipping'=>['name' =>'确认发货'], 'allocate'=>['name' =>'自动分配'], 'manager'=>['name' =>'系统订单'], 'remark'=>['name' =>'备注'], 'cancel'=>['name' =>'取消订单'], ], ], 'dealer_earnings'=>[ 'name' =>'资金管理', 'curd' => ['index', 'show'], 'children' => [ 'channel'=>['name' =>'渠道补贴'], 'purchase'=>['name' =>'进货补贴'], 'manage' =>['name' =>'管理补贴'], 'manager'=>['name' =>'管理者补贴'], 'pay'=>['name' =>'确认打款'], ], ], 'dealer_manager_sales_logs'=>[ 'name' =>'管理者津贴明细', 'curd' => ['index'], ], 'dealer_manage_subsidy_logs'=>[ 'name' =>'管理津贴明细', 'curd' => ['index'], ], 'dealer_purchase_logs'=>[ 'name' =>'进货补贴明细', 'curd' => ['index'], ], 'dealer_wallet_to_bank_logs'=>[ 'name' =>'余额提现', 'curd' => ['index', 'show'], 'children' =>[ 'export'=>['name' =>'导出打款单'], 'verify'=>['name' =>'提现审核'], ], ], ]; // 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 = $permission['curd'] ? ($key ? $key.'.'.$slug : $slug) : $key; $this->createPermissionData($permission['children'], $_key ?? $slug, $pper->id); } } } }