This commit is contained in:
JaguarJack 2020-09-05 16:01:18 +08:00
parent d0044ee019
commit c8a7d0291c
12 changed files with 1655 additions and 18 deletions

BIN
catch/.DS_Store vendored Normal file

Binary file not shown.

13
catch/cms/CmsService.php Normal file
View File

@ -0,0 +1,13 @@
<?php
namespace catchAdmin\cms;
use catcher\ModuleService;
class CmsService extends ModuleService
{
public function loadRouteFrom()
{
// TODO: Implement loadRouteFrom() method.
return __DIR__ . DIRECTORY_SEPARATOR . 'route.php';
}
}

30
catch/cms/model/Hello.php Normal file
View File

@ -0,0 +1,30 @@
<?php
// +----------------------------------------------------------------------
// | CatchAdmin [Just Like ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
// +----------------------------------------------------------------------
// | Author: JaguarJack [ njphper@gmail.com ]
// +----------------------------------------------------------------------
namespace catchAdmin\cms\model;
use catcher\base\CatchModel as Model;
class Hello extends Model
{
protected $name = 'hello';
protected $field = [
'id', //
'good', //
'creator_id', // 创建人ID
'created_at', // 创建时间
'updated_at', // 更新时间
'deleted_at', // 软删除
];
}

15
catch/cms/module.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "内容管理",
"alias": "cms",
"description": "cms,博客,企业站点,内容管理",
"version": "1.0.0",
"keywords": [],
"order": 0,
"services": [
"\\catchAdmin\\cms\\CmsService"
],
"aliases": {},
"files": [],
"requires": [],
"enable": true
}

14
catch/cms/route.php Normal file
View File

@ -0,0 +1,14 @@
<?php
// you should user `$router`
$router->group(function () use ($router){
});
//hello路由
$router->resource('hello', '\catchAdmin\cms\controller\Hello')->middleware('auth');
//hello路由
$router->resource('hello', '\catchAdmin\cms\controller\Hello')->middleware('auth');

View File

@ -67,9 +67,22 @@ class Permission extends CatchController
// 如果是子分类 自动写入父类模块
$parentId = $params['parent_id'] ?? 0;
if ($parentId) {
$parent = $this->permissions->findBy($parentId);
$params['module'] = $parent->module;
// 按钮类型寻找上级
if ($params['type'] == Permissions::BTN_TYPE && $parentId) {
$permissionMark = $params['permission_mark'];
// 查找父级
$parentPermission = $this->permissions->findBy($parentId);
// 如果父级是顶级 parent_id = 0
if ($parentPermission->parent_id) {
if (Str::contains($parentPermission->permission_mark, '@')) {
list($controller, $action) = explode('@', $parentPermission->permission_mark);
$permissionMark = $controller . '@' . $permissionMark;
} else {
$permissionMark = $parentPermission->permission_mark .'@'. $permissionMark;
}
}
$params['permission_mark'] = $permissionMark;
$params['module'] = $parentPermission->module;
}
return CatchResponse::success($this->permissions->storeBy($params));
@ -87,7 +100,7 @@ class Permission extends CatchController
$permission = $this->permissions->findBy($id);
if ($permission->parent_id) {
$parentPermission = $this->permissions->where('id', $permission->parent_id)->find();
$parentPermission = $this->permissions->findBy($permission->parent_id);
$params = $request->param();
$permissionMark = $params['permission_mark'];

View File

@ -39,7 +39,7 @@ class PermissionSeed extends Seeder
'status' => 1,
'sort' => 100,
'created_at' => 1587461455,
'updated_at' => 1599116793,
'updated_at' => 1599219097,
'deleted_at' => 0,
'children' =>
array (
@ -88,6 +88,28 @@ class PermissionSeed extends Seeder
'updated_at' => 1599030266,
'deleted_at' => 0,
),
1 =>
array (
'id' => 4,
'permission_name' => '创建',
'parent_id' => 2,
'level' => '1-2',
'route' => '',
'icon' => '',
'module' => 'permissions',
'creator_id' => 1,
'permission_mark' => 'user@create',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587461696,
'updated_at' => 1599030266,
'deleted_at' => 0,
),
2 =>
array (
'id' => 5,
@ -267,6 +289,28 @@ class PermissionSeed extends Seeder
'updated_at' => 1599030223,
'deleted_at' => 0,
),
1 =>
array (
'id' => 13,
'permission_name' => '创建',
'parent_id' => 11,
'level' => '1-11',
'route' => '',
'icon' => '',
'module' => 'permissions',
'creator_id' => 1,
'permission_mark' => 'role@create',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587462007,
'updated_at' => 1599030223,
'deleted_at' => 0,
),
2 =>
array (
'id' => 14,
@ -424,6 +468,28 @@ class PermissionSeed extends Seeder
'updated_at' => 1599030338,
'deleted_at' => 0,
),
1 =>
array (
'id' => 21,
'permission_name' => '创建',
'parent_id' => 19,
'level' => '1-19',
'route' => '',
'icon' => '',
'module' => 'permissions',
'creator_id' => 1,
'permission_mark' => 'permission@create',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587462232,
'updated_at' => 1599030338,
'deleted_at' => 0,
),
2 =>
array (
'id' => 22,
@ -449,14 +515,14 @@ class PermissionSeed extends Seeder
3 =>
array (
'id' => 23,
'permission_name' => '查看',
'permission_name' => '禁用/启用',
'parent_id' => 19,
'level' => '1-19',
'route' => '',
'icon' => '',
'module' => 'permissions',
'creator_id' => 1,
'permission_mark' => 'permission@edit',
'permission_mark' => 'permission@show',
'component' => '',
'redirect' => '',
'hidden' => 1,
@ -465,7 +531,7 @@ class PermissionSeed extends Seeder
'status' => 1,
'sort' => 1,
'created_at' => 1587462273,
'updated_at' => 1599030338,
'updated_at' => 1599220816,
'deleted_at' => 0,
),
4 =>
@ -512,6 +578,28 @@ class PermissionSeed extends Seeder
'updated_at' => 1599030338,
'deleted_at' => 0,
),
6 =>
array (
'id' => 106,
'permission_name' => '权限方法',
'parent_id' => 19,
'level' => '1-19',
'route' => '',
'icon' => '',
'module' => 'permissions',
'creator_id' => 1,
'permission_mark' => 'permission@getMethods',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1599221913,
'updated_at' => 1599222591,
'deleted_at' => 0,
),
),
),
3 =>
@ -646,7 +734,7 @@ class PermissionSeed extends Seeder
'status' => 1,
'sort' => 1,
'created_at' => 1587462707,
'updated_at' => 1599116793,
'updated_at' => 1599219794,
'deleted_at' => 0,
'children' =>
array (
@ -663,7 +751,7 @@ class PermissionSeed extends Seeder
'permission_mark' => 'job@indexs',
'component' => '',
'redirect' => '',
'hidden' => 1,
'hidden' => 2,
'keepalive' => 1,
'type' => 2,
'status' => 1,
@ -685,7 +773,7 @@ class PermissionSeed extends Seeder
'permission_mark' => 'job@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'hidden' => 2,
'keepalive' => 1,
'type' => 2,
'status' => 1,
@ -707,7 +795,7 @@ class PermissionSeed extends Seeder
'permission_mark' => 'job@update',
'component' => '',
'redirect' => '',
'hidden' => 1,
'hidden' => 2,
'keepalive' => 1,
'type' => 2,
'status' => 1,
@ -729,7 +817,7 @@ class PermissionSeed extends Seeder
'permission_mark' => 'job@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'hidden' => 2,
'keepalive' => 1,
'type' => 2,
'status' => 1,
@ -751,7 +839,7 @@ class PermissionSeed extends Seeder
'permission_mark' => 'job@getAll',
'component' => '',
'redirect' => '',
'hidden' => 1,
'hidden' => 2,
'keepalive' => 1,
'type' => 2,
'status' => 1,

View File

@ -20,7 +20,7 @@ class Permissions extends CatchModel
'redirect',
'keepalive',
'creator_id',
'status',
'hidden',
'module', // 模块
'route', // 路由
'permission_mark', // 权限标识
@ -69,7 +69,7 @@ class Permissions extends CatchModel
return parent::whereIn('id', $permissionIds)
->field(['permission_name as title', 'id', 'parent_id',
'route', 'icon', 'component', 'redirect', 'module',
'keepalive as keepAlive', 'type', 'permission_mark', 'status'
'keepalive as keepAlive', 'type', 'permission_mark', 'hidden'
])
->catchOrder()
->select();

View File

@ -0,0 +1,709 @@
<?php
use think\migration\Seeder;
class PermissionSeed extends Seeder
{
/**
* Run Method.
*
* Write your database seeder using this method.
*
* More information on writing seeders is available here:
* http://docs.phinx.org/en/latest/seeding.html
*/
public function run()
{
\catcher\Utils::importTreeData($this->getPermissions(), 'permissions', 'parent_id');
}
protected function getPermissions()
{
return array (
0 =>
array (
'id' => 37,
'permission_name' => '系统管理',
'parent_id' => 0,
'level' => '',
'route' => '/system',
'icon' => 'el-icon-s-tools',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'system',
'component' => 'layout',
'redirect' => 'attactments',
'hidden' => 1,
'keepalive' => 2,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1587462349,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 38,
'permission_name' => '数据字典',
'parent_id' => 37,
'level' => '37',
'route' => '/system/database',
'icon' => 'el-icon-copy-document',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'dataDictionary@index',
'component' => 'database',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 8,
'created_at' => 1587463087,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 39,
'permission_name' => '查看',
'parent_id' => 38,
'level' => '37-38',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'dataDictionary@view',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587463113,
'updated_at' => 1591343449,
'deleted_at' => 0,
),
1 =>
array (
'id' => 40,
'permission_name' => '列表',
'parent_id' => 38,
'level' => '37-38',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'dataDictionary@tables',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 10,
'created_at' => 1587463173,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
2 =>
array (
'id' => 41,
'permission_name' => '优化',
'parent_id' => 38,
'level' => '37-38',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'dataDictionary@optimize',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587463201,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
3 =>
array (
'id' => 42,
'permission_name' => '备份',
'parent_id' => 38,
'level' => '37-38',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'optimize@backup',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587463217,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
),
),
1 =>
array (
'id' => 43,
'permission_name' => '附件管理',
'parent_id' => 37,
'level' => '37',
'route' => '/system/attactments',
'icon' => 'el-icon-folder-opened',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'attactments',
'component' => 'attachment',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 10,
'created_at' => 1587463302,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 44,
'permission_name' => '列表',
'parent_id' => 43,
'level' => '37-43',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'attachments@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587463335,
'updated_at' => 1599217559,
'deleted_at' => 0,
),
1 =>
array (
'id' => 45,
'permission_name' => '删除',
'parent_id' => 43,
'level' => '37-43',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'attachments@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587463355,
'updated_at' => 1599217559,
'deleted_at' => 0,
),
2 =>
array (
'id' => 46,
'permission_name' => '上传图片',
'parent_id' => 43,
'level' => '37-43',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'upload@image',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587466919,
'updated_at' => 1599217559,
'deleted_at' => 0,
),
3 =>
array (
'id' => 47,
'permission_name' => '上传文件',
'parent_id' => 43,
'level' => '37-43',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'upload@file',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587466939,
'updated_at' => 1599217559,
'deleted_at' => 0,
),
),
),
2 =>
array (
'id' => 48,
'permission_name' => '配置管理',
'parent_id' => 37,
'level' => '37',
'route' => '/system/config',
'icon' => 'el-icon-setting',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'config',
'component' => 'config',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 9,
'created_at' => 1587466991,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 49,
'permission_name' => '父级配置',
'parent_id' => 48,
'level' => '37-48',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'config@parent',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467036,
'updated_at' => 1591345651,
'deleted_at' => 0,
),
1 =>
array (
'id' => 50,
'permission_name' => '存储',
'parent_id' => 48,
'level' => '37-48',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'config@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467052,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
2 =>
array (
'id' => 51,
'permission_name' => '获取',
'parent_id' => 48,
'level' => '37-48',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'config@read',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467062,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
),
),
3 =>
array (
'id' => 52,
'permission_name' => '登陆日志',
'parent_id' => 37,
'level' => '37',
'route' => '/system/log/operate',
'icon' => 'el-icon-coin',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'loginLog',
'component' => 'loginLog',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 5,
'created_at' => 1587467150,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 53,
'permission_name' => '列表',
'parent_id' => 52,
'level' => '37-52',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'loginlog@list',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467206,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
1 =>
array (
'id' => 54,
'permission_name' => '清空',
'parent_id' => 52,
'level' => '37-52',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'loginlog@empty',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467221,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
),
),
4 =>
array (
'id' => 55,
'permission_name' => '操作日志',
'parent_id' => 37,
'level' => '37',
'route' => '/system/log/login',
'icon' => 'el-icon-house',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'operateLog',
'component' => 'operateLog',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1587467180,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 56,
'permission_name' => '列表',
'parent_id' => 55,
'level' => '37-55',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'operatelog@list',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467246,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
1 =>
array (
'id' => 57,
'permission_name' => '清空',
'parent_id' => 55,
'level' => '37-55',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'operatelog@empty',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1587467266,
'updated_at' => 1587547118,
'deleted_at' => 0,
),
),
),
5 =>
array (
'id' => 58,
'permission_name' => '代码生成',
'parent_id' => 37,
'level' => '37',
'route' => '/system/generate',
'icon' => 'el-icon-scissors',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'generate',
'component' => 'generate',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1587717452,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 59,
'permission_name' => '生成',
'parent_id' => 58,
'level' => '37-58',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'generate@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1588110923,
'updated_at' => 1599217574,
'deleted_at' => 0,
),
1 =>
array (
'id' => 60,
'permission_name' => '预览',
'parent_id' => 58,
'level' => '37-58',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'generate@preview',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1588110962,
'updated_at' => 1599217574,
'deleted_at' => 0,
),
),
),
6 =>
array (
'id' => 68,
'permission_name' => '敏感词库',
'parent_id' => 37,
'level' => '37',
'route' => '/sensitive/word',
'icon' => 'el-icon-folder-delete',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'sensitiveWord',
'component' => 'sensitiveWord',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1592375865,
'updated_at' => 1599288737,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 69,
'permission_name' => '列表',
'parent_id' => 68,
'level' => '37-68',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'sensitiveWord@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1592382167,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
1 =>
array (
'id' => 70,
'permission_name' => '新增',
'parent_id' => 68,
'level' => '37-68',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'sensitiveWord@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1592382179,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
2 =>
array (
'id' => 71,
'permission_name' => '更新',
'parent_id' => 68,
'level' => '37-68',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'sensitiveWord@update',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1592382192,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
3 =>
array (
'id' => 72,
'permission_name' => '删除',
'parent_id' => 68,
'level' => '37-68',
'route' => '',
'icon' => '',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'sensitiveWord@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1592382202,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
),
),
7 =>
array (
'id' => 101,
'permission_name' => '开发者',
'parent_id' => 37,
'level' => '37',
'route' => '/system/develop',
'icon' => 'el-icon-rank',
'module' => 'system',
'creator_id' => 1,
'permission_mark' => 'develop',
'component' => 'develop',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1594626307,
'updated_at' => 1599288737,
'deleted_at' => 0,
),
),
),
);
}
}

View File

@ -0,0 +1,750 @@
<?php
use think\migration\Seeder;
class PermissionSeed extends Seeder
{
/**
* Run Method.
*
* Write your database seeder using this method.
*
* More information on writing seeders is available here:
* http://docs.phinx.org/en/latest/seeding.html
*/
public function run()
{
\catcher\Utils::importTreeData($this->getPermissions(), 'permissions', 'parent_id');
}
protected function getPermissions()
{
return array (
0 =>
array (
'id' => 66,
'permission_name' => '微信管理',
'parent_id' => 0,
'level' => '',
'route' => '/wechat',
'icon' => 'wechat',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'wechat',
'component' => 'routeView',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1591603025,
'updated_at' => 1599289456,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 67,
'permission_name' => '微信菜单',
'parent_id' => 66,
'level' => '66',
'route' => '/wechat/menus',
'icon' => 'table',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'menus',
'component' => 'menus',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1591603088,
'updated_at' => 1599289456,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 95,
'permission_name' => '列表',
'parent_id' => 67,
'level' => '66-67',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'menus@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304908,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
1 =>
array (
'id' => 96,
'permission_name' => '保存',
'parent_id' => 67,
'level' => '66-67',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'menus@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304915,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
2 =>
array (
'id' => 97,
'permission_name' => '更新',
'parent_id' => 67,
'level' => '66-67',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'menus@update',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304923,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
3 =>
array (
'id' => 98,
'permission_name' => '删除',
'parent_id' => 67,
'level' => '66-67',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'menus@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304929,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
4 =>
array (
'id' => 99,
'permission_name' => '同步',
'parent_id' => 67,
'level' => '66-67',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'menus@sync',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304938,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
),
),
1 =>
array (
'id' => 75,
'permission_name' => '用户管理',
'parent_id' => 66,
'level' => '66',
'route' => '/wechat/users',
'icon' => 'el-icon-s-custom',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users',
'component' => 'pageView',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1592624761,
'updated_at' => 1599289538,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 76,
'permission_name' => '微信用户',
'parent_id' => 75,
'level' => '66-75',
'route' => '/wechat/users',
'icon' => 'user',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users',
'component' => 'wechatUsers',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1592624799,
'updated_at' => 1599289538,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 90,
'permission_name' => '列表',
'parent_id' => 76,
'level' => '66-75-76',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304869,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
1 =>
array (
'id' => 91,
'permission_name' => '标记',
'parent_id' => 76,
'level' => '66-75-76',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users@remark',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304876,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
2 =>
array (
'id' => 92,
'permission_name' => '拉黑',
'parent_id' => 76,
'level' => '66-75-76',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users@block',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304884,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
3 =>
array (
'id' => 93,
'permission_name' => '打标签',
'parent_id' => 76,
'level' => '66-75-76',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users@tag',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304892,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
4 =>
array (
'id' => 94,
'permission_name' => '同步',
'parent_id' => 76,
'level' => '66-75-76',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users@sync',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304900,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
),
),
1 =>
array (
'id' => 77,
'permission_name' => '微信标签',
'parent_id' => 75,
'level' => '66-75',
'route' => '/wechat/tags',
'icon' => 'el-icon-paperclip',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'users@tags',
'component' => 'wechatTags',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1592722634,
'updated_at' => 1599289538,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 84,
'permission_name' => '列表',
'parent_id' => 77,
'level' => '66-75-77',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'wechatTags@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304575,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
1 =>
array (
'id' => 85,
'permission_name' => '新增',
'parent_id' => 77,
'level' => '66-75-77',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'wechatTags@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304592,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
2 =>
array (
'id' => 86,
'permission_name' => '获取',
'parent_id' => 77,
'level' => '66-75-77',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'tags@read',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304830,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
3 =>
array (
'id' => 87,
'permission_name' => '更新',
'parent_id' => 77,
'level' => '66-75-77',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'tags@update',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304837,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
4 =>
array (
'id' => 88,
'permission_name' => '删除',
'parent_id' => 77,
'level' => '66-75-77',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'tags@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304846,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
5 =>
array (
'id' => 89,
'permission_name' => '同步',
'parent_id' => 77,
'level' => '66-75-77',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'tags@sync',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304859,
'updated_at' => 1593589434,
'deleted_at' => 0,
),
),
),
),
),
2 =>
array (
'id' => 78,
'permission_name' => '图文管理',
'parent_id' => 66,
'level' => '66',
'route' => '/wechat/graphic',
'icon' => 'el-icon-document-add',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'graphic',
'component' => 'wechatGraphic',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1593227704,
'updated_at' => 1599289456,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 79,
'permission_name' => '新增',
'parent_id' => 78,
'level' => '66-78',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'graphic@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304490,
'updated_at' => 1595978929,
'deleted_at' => 0,
),
1 =>
array (
'id' => 80,
'permission_name' => '获取',
'parent_id' => 78,
'level' => '66-78',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'graphic@read',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304510,
'updated_at' => 1595978929,
'deleted_at' => 0,
),
2 =>
array (
'id' => 81,
'permission_name' => '列表',
'parent_id' => 78,
'level' => '66-78',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'graphic@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 2,
'created_at' => 1593304520,
'updated_at' => 1595978929,
'deleted_at' => 0,
),
3 =>
array (
'id' => 82,
'permission_name' => '更新',
'parent_id' => 78,
'level' => '66-78',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'graphic@update',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304530,
'updated_at' => 1595978929,
'deleted_at' => 0,
),
4 =>
array (
'id' => 83,
'permission_name' => '删除',
'parent_id' => 78,
'level' => '66-78',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'graphic@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1593304537,
'updated_at' => 1595978929,
'deleted_at' => 0,
),
),
),
3 =>
array (
'id' => 100,
'permission_name' => '微信回复',
'parent_id' => 66,
'level' => '66',
'route' => '/wechat/reply',
'icon' => 'el-icon-chat-line-round',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'reply',
'component' => 'wechatReply',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 1,
'status' => 1,
'sort' => 1,
'created_at' => 1593323887,
'updated_at' => 1599292185,
'deleted_at' => 0,
'children' =>
array (
0 =>
array (
'id' => 111,
'permission_name' => '列表',
'parent_id' => 100,
'level' => '66-100',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'reply@index',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1599292333,
'updated_at' => 1599292373,
'deleted_at' => 0,
),
1 =>
array (
'id' => 112,
'permission_name' => '新增',
'parent_id' => 100,
'level' => '66-100',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'reply@save',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1599292344,
'updated_at' => 1599292344,
'deleted_at' => 0,
),
2 =>
array (
'id' => 113,
'permission_name' => '删除',
'parent_id' => 100,
'level' => '66-100',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'reply@delete',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1599292351,
'updated_at' => 1599292351,
'deleted_at' => 0,
),
3 =>
array (
'id' => 114,
'permission_name' => '禁用/启用',
'parent_id' => 100,
'level' => '66-100',
'route' => '',
'icon' => '',
'module' => 'wechat',
'creator_id' => 1,
'permission_mark' => 'reply@disOrEnable',
'component' => '',
'redirect' => '',
'hidden' => 1,
'keepalive' => 1,
'type' => 2,
'status' => 1,
'sort' => 1,
'created_at' => 1599292363,
'updated_at' => 1599292363,
'deleted_at' => 0,
),
),
),
),
),
);
}
}

View File

@ -31,7 +31,8 @@
},
"require-dev": {
"topthink/think-trace":"^1.0",
"symfony/var-dumper": "^5.1"
"symfony/var-dumper": "^5.1",
"swoole/ide-helper": "^4.5"
},
"autoload": {
"psr-4": {

View File

@ -39,8 +39,12 @@ class ExportDataCommand extends Command
->where('module', $module)
->select()
->toArray();
} else {
$data = Db::name($table)->where('deleted_at', 0)->select()->toArray();
$data = Db::name($table)->where('deleted_at', 0)
->select()
->toArray();
}
if ($parent) {