From 093e394bdf53abac4c9f235fa977a85cd56a7583 Mon Sep 17 00:00:00 2001 From: walkor Date: Wed, 7 Dec 2022 16:59:41 +0800 Subject: [PATCH] save --- .../app/controller/InstallController.php | 12 +- .../admin/app/controller/TableController.php | 2 +- src/plugin/admin/config/menu.php | 300 ++- .../admin/public/demos/console/console1.html | 451 ++++ .../admin/public/demos/console/console2.html | 502 ++++ src/plugin/admin/public/demos/css/avatar.jpg | Bin 0 -> 76158 bytes .../admin/public/demos/css/console1.css | 141 ++ .../admin/public/demos/css/console2.css | 121 + .../admin/public/demos/css/department.css | 6 + src/plugin/admin/public/demos/css/error.css | 76 + src/plugin/admin/public/demos/css/icon.css | 531 ++++ src/plugin/admin/public/demos/css/login.css | 99 + src/plugin/admin/public/demos/css/person.css | 80 + src/plugin/admin/public/demos/css/result.css | 39 + src/plugin/admin/public/demos/data/card.json | 57 + .../admin/public/demos/data/dataMenu.json | 377 +++ .../admin/public/demos/data/dataTree2.json | 37 + .../admin/public/demos/data/dictData.json | 36 + .../admin/public/demos/data/dictType.json | 90 + src/plugin/admin/public/demos/data/dtree.json | 181 ++ .../admin/public/demos/data/loginLog.json | 211 ++ src/plugin/admin/public/demos/data/menu.json | 444 ++++ .../admin/public/demos/data/message.json | 90 + .../admin/public/demos/data/operateLog.json | 211 ++ .../admin/public/demos/data/organization.json | 41 + .../public/demos/data/organizationtree.json | 143 ++ src/plugin/admin/public/demos/data/power.json | 185 ++ src/plugin/admin/public/demos/data/role.json | 42 + src/plugin/admin/public/demos/data/table.json | 132 + src/plugin/admin/public/demos/data/user.json | 118 + src/plugin/admin/public/demos/demo/index.html | 66 + .../admin/public/demos/document/area.html | 143 ++ .../admin/public/demos/document/button.html | 305 +++ .../admin/public/demos/document/card.html | 78 + .../admin/public/demos/document/core.html | 219 ++ .../admin/public/demos/document/count.html | 124 + .../admin/public/demos/document/drawer.html | 597 +++++ .../public/demos/document/drawerFragment.html | 385 +++ .../admin/public/demos/document/dtree.html | 165 ++ .../admin/public/demos/document/encrypt.html | 160 ++ .../admin/public/demos/document/form.html | 180 ++ .../public/demos/document/fullscreen.html | 126 + .../admin/public/demos/document/icon.html | 2195 +++++++++++++++++ .../public/demos/document/iconPicker.html | 244 ++ .../admin/public/demos/document/loading.html | 174 ++ .../admin/public/demos/document/menu.html | 115 + .../admin/public/demos/document/notice.html | 148 ++ .../admin/public/demos/document/popover.html | 227 ++ .../admin/public/demos/document/popup.html | 127 + .../admin/public/demos/document/select.html | 218 ++ .../admin/public/demos/document/step.html | 256 ++ .../admin/public/demos/document/tab.html | 152 ++ .../public/demos/document/tabContent.html | 38 + .../admin/public/demos/document/table.html | 412 ++++ .../admin/public/demos/document/tag.html | 265 ++ .../admin/public/demos/document/tinymce.html | 93 + .../admin/public/demos/document/toast.html | 291 +++ .../admin/public/demos/document/topBar.html | 279 +++ .../public/demos/document/treetable.html | 235 ++ .../public/demos/document/watermark.html | 161 ++ .../admin/public/demos/echarts/column.html | 47 + .../admin/public/demos/echarts/line.html | 47 + .../public/demos/echarts/script/column1.js | 137 + .../public/demos/echarts/script/column2.js | 73 + .../public/demos/echarts/script/column3.js | 120 + .../public/demos/echarts/script/column4.js | 84 + .../public/demos/echarts/script/line1.js | 236 ++ .../public/demos/echarts/script/line2.js | 148 ++ .../public/demos/echarts/script/line3.js | 102 + .../public/demos/echarts/script/line4.js | 167 ++ src/plugin/admin/public/demos/error/403.html | 21 + src/plugin/admin/public/demos/error/404.html | 21 + src/plugin/admin/public/demos/error/500.html | 21 + .../admin/public/demos/result/error.html | 45 + .../admin/public/demos/result/success.html | 37 + .../admin/public/demos/system/deptment.html | 289 +++ .../admin/public/demos/system/dict.html | 341 +++ src/plugin/admin/public/demos/system/log.html | 101 + .../admin/public/demos/system/operate.html | 107 + .../public/demos/system/operate/add.html | 109 + .../public/demos/system/operate/edit.html | 109 + .../public/demos/system/operate/profile.html | 108 + .../admin/public/demos/system/person.html | 183 ++ .../admin/public/demos/system/power.html | 242 ++ .../admin/public/demos/system/profile.html | 108 + .../admin/public/demos/system/role.html | 226 ++ .../admin/public/demos/system/space.html | 27 + .../admin/public/demos/system/theme.html | 300 +++ .../admin/public/demos/system/user.html | 298 +++ src/plugin/admin/webman-admin.sql | 2 +- 90 files changed, 16780 insertions(+), 9 deletions(-) create mode 100644 src/plugin/admin/public/demos/console/console1.html create mode 100644 src/plugin/admin/public/demos/console/console2.html create mode 100644 src/plugin/admin/public/demos/css/avatar.jpg create mode 100644 src/plugin/admin/public/demos/css/console1.css create mode 100644 src/plugin/admin/public/demos/css/console2.css create mode 100644 src/plugin/admin/public/demos/css/department.css create mode 100644 src/plugin/admin/public/demos/css/error.css create mode 100644 src/plugin/admin/public/demos/css/icon.css create mode 100644 src/plugin/admin/public/demos/css/login.css create mode 100644 src/plugin/admin/public/demos/css/person.css create mode 100644 src/plugin/admin/public/demos/css/result.css create mode 100644 src/plugin/admin/public/demos/data/card.json create mode 100644 src/plugin/admin/public/demos/data/dataMenu.json create mode 100644 src/plugin/admin/public/demos/data/dataTree2.json create mode 100644 src/plugin/admin/public/demos/data/dictData.json create mode 100644 src/plugin/admin/public/demos/data/dictType.json create mode 100644 src/plugin/admin/public/demos/data/dtree.json create mode 100644 src/plugin/admin/public/demos/data/loginLog.json create mode 100644 src/plugin/admin/public/demos/data/menu.json create mode 100644 src/plugin/admin/public/demos/data/message.json create mode 100644 src/plugin/admin/public/demos/data/operateLog.json create mode 100644 src/plugin/admin/public/demos/data/organization.json create mode 100644 src/plugin/admin/public/demos/data/organizationtree.json create mode 100644 src/plugin/admin/public/demos/data/power.json create mode 100644 src/plugin/admin/public/demos/data/role.json create mode 100644 src/plugin/admin/public/demos/data/table.json create mode 100644 src/plugin/admin/public/demos/data/user.json create mode 100644 src/plugin/admin/public/demos/demo/index.html create mode 100644 src/plugin/admin/public/demos/document/area.html create mode 100644 src/plugin/admin/public/demos/document/button.html create mode 100644 src/plugin/admin/public/demos/document/card.html create mode 100644 src/plugin/admin/public/demos/document/core.html create mode 100644 src/plugin/admin/public/demos/document/count.html create mode 100644 src/plugin/admin/public/demos/document/drawer.html create mode 100644 src/plugin/admin/public/demos/document/drawerFragment.html create mode 100644 src/plugin/admin/public/demos/document/dtree.html create mode 100644 src/plugin/admin/public/demos/document/encrypt.html create mode 100644 src/plugin/admin/public/demos/document/form.html create mode 100644 src/plugin/admin/public/demos/document/fullscreen.html create mode 100644 src/plugin/admin/public/demos/document/icon.html create mode 100644 src/plugin/admin/public/demos/document/iconPicker.html create mode 100644 src/plugin/admin/public/demos/document/loading.html create mode 100644 src/plugin/admin/public/demos/document/menu.html create mode 100644 src/plugin/admin/public/demos/document/notice.html create mode 100644 src/plugin/admin/public/demos/document/popover.html create mode 100644 src/plugin/admin/public/demos/document/popup.html create mode 100644 src/plugin/admin/public/demos/document/select.html create mode 100644 src/plugin/admin/public/demos/document/step.html create mode 100644 src/plugin/admin/public/demos/document/tab.html create mode 100644 src/plugin/admin/public/demos/document/tabContent.html create mode 100644 src/plugin/admin/public/demos/document/table.html create mode 100644 src/plugin/admin/public/demos/document/tag.html create mode 100644 src/plugin/admin/public/demos/document/tinymce.html create mode 100644 src/plugin/admin/public/demos/document/toast.html create mode 100644 src/plugin/admin/public/demos/document/topBar.html create mode 100644 src/plugin/admin/public/demos/document/treetable.html create mode 100644 src/plugin/admin/public/demos/document/watermark.html create mode 100644 src/plugin/admin/public/demos/echarts/column.html create mode 100644 src/plugin/admin/public/demos/echarts/line.html create mode 100644 src/plugin/admin/public/demos/echarts/script/column1.js create mode 100644 src/plugin/admin/public/demos/echarts/script/column2.js create mode 100644 src/plugin/admin/public/demos/echarts/script/column3.js create mode 100644 src/plugin/admin/public/demos/echarts/script/column4.js create mode 100644 src/plugin/admin/public/demos/echarts/script/line1.js create mode 100644 src/plugin/admin/public/demos/echarts/script/line2.js create mode 100644 src/plugin/admin/public/demos/echarts/script/line3.js create mode 100644 src/plugin/admin/public/demos/echarts/script/line4.js create mode 100644 src/plugin/admin/public/demos/error/403.html create mode 100644 src/plugin/admin/public/demos/error/404.html create mode 100644 src/plugin/admin/public/demos/error/500.html create mode 100644 src/plugin/admin/public/demos/result/error.html create mode 100644 src/plugin/admin/public/demos/result/success.html create mode 100644 src/plugin/admin/public/demos/system/deptment.html create mode 100644 src/plugin/admin/public/demos/system/dict.html create mode 100644 src/plugin/admin/public/demos/system/log.html create mode 100644 src/plugin/admin/public/demos/system/operate.html create mode 100644 src/plugin/admin/public/demos/system/operate/add.html create mode 100644 src/plugin/admin/public/demos/system/operate/edit.html create mode 100644 src/plugin/admin/public/demos/system/operate/profile.html create mode 100644 src/plugin/admin/public/demos/system/person.html create mode 100644 src/plugin/admin/public/demos/system/power.html create mode 100644 src/plugin/admin/public/demos/system/profile.html create mode 100644 src/plugin/admin/public/demos/system/role.html create mode 100644 src/plugin/admin/public/demos/system/space.html create mode 100644 src/plugin/admin/public/demos/system/theme.html create mode 100644 src/plugin/admin/public/demos/system/user.html diff --git a/src/plugin/admin/app/controller/InstallController.php b/src/plugin/admin/app/controller/InstallController.php index 762efa7..1fb5dc6 100644 --- a/src/plugin/admin/app/controller/InstallController.php +++ b/src/plugin/admin/app/controller/InstallController.php @@ -70,8 +70,8 @@ class InstallController extends Base $tables_to_install = [ 'wa_admins', - 'wa_admin_roles', - 'wa_admin_rules', + 'wa_roles', + 'wa_rules', 'wa_options', 'wa_users', ]; @@ -204,7 +204,7 @@ EOF; foreach ($columns as $k => $column) { $columns[$k] = "`$column`"; } - $sql = "insert into wa_admin_rules (" .implode(',', $columns). ") values (" . implode(',', $values) . ")"; + $sql = "insert into wa_rules (" .implode(',', $columns). ") values (" . implode(',', $values) . ")"; $smt = $pdo->prepare($sql); foreach ($data as $key => $value) { $smt->bindValue($key, $value); @@ -229,17 +229,17 @@ EOF; } $children = $menu_tree['children'] ?? []; unset($menu_tree['children']); - $smt = $pdo->prepare("select * from wa_admin_rules where `key`=:key limit 1"); + $smt = $pdo->prepare("select * from wa_rules where `key`=:key limit 1"); $smt->execute(['key' => $menu_tree['key']]); $old_menu = $smt->fetch(); if ($old_menu) { $pid = $old_menu['id']; $params = [ 'title' => $menu_tree['title'], - 'icon' => $menu_tree['icon'], + 'icon' => $menu_tree['icon'] ?? '', 'key' => $menu_tree['key'], ]; - $sql = "update wa_admin_rules set title=:title, icon=:icon where `key`=:key"; + $sql = "update wa_rules set title=:title, icon=:icon where `key`=:key"; $smt = $pdo->prepare($sql); $smt->execute($params); } else { diff --git a/src/plugin/admin/app/controller/TableController.php b/src/plugin/admin/app/controller/TableController.php index 5c1fa75..c80770e 100644 --- a/src/plugin/admin/app/controller/TableController.php +++ b/src/plugin/admin/app/controller/TableController.php @@ -1337,7 +1337,7 @@ EOF; if (!$tables) { return $this->json(0, 'not found'); } - $table_not_allow_drop = ['wa_admins', 'wa_users', 'wa_options', 'wa_admin_roles', 'wa_admin_rules']; + $table_not_allow_drop = ['wa_admins', 'wa_users', 'wa_options', 'wa_roles', 'wa_rules']; if ($found = array_intersect($tables, $table_not_allow_drop)) { return $this->json(400, implode(',', $found) . '不允许删除'); } diff --git a/src/plugin/admin/config/menu.php b/src/plugin/admin/config/menu.php index 87fbd75..3d07d20 100644 --- a/src/plugin/admin/config/menu.php +++ b/src/plugin/admin/config/menu.php @@ -129,7 +129,305 @@ return [ 'href' => '/app/admin/dev/form-build', 'weight' => 800, 'type' => 1, - ] + ], ] ], + [ + 'title' => '示例页面', + 'key' => 'demos', + 'icon' => 'layui-icon-templeate-1', + 'weight' => 400, + 'type' => 0, + 'children' => [ + [ + 'key' => 'demo1', + 'title' => '工作空间', + 'type' => 0, + 'icon' => 'layui-icon-console', + 'href' => '', + 'children' => [ + [ + 'key' => 'demo10', + 'title' => '控制后台', + 'icon' => 'layui-icon-console', + 'type' => 1, + 'href' => '/app/admin/demos/console/console1.html' + ], [ + 'key' => 'demo13', + 'title' => '数据分析', + 'icon' => 'layui-icon-console', + 'type' => 1, + 'href' => '/app/admin/demos/console/console2.html' + ], [ + 'key' => 'demo14', + 'title' => '百度一下', + 'icon' => 'layui-icon-console', + 'type' => 1, + 'href' => 'http://www.baidu.com' + ], [ + 'key' => 'demo15', + 'title' => '主题预览', + 'icon' => 'layui-icon-console', + 'type' => 1, + 'href' => '/app/admin/demos/system/theme.html' + ] + ] + ], + [ + 'key' => 'demo20', + 'title' => '常用组件', + 'icon' => 'layui-icon-component', + 'type' => 0, + 'href' => '', + 'children' => [ + [ + 'key' => 'demo2011', + 'title' => '功能按钮', + 'icon' => 'layui-icon-face-smile', + 'type' => 1, + 'href' => '/app/admin/demos/document/button.html' + ], [ + 'key' => 'demo2014', + 'title' => '表单集合', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/form.html' + ], [ + 'key' => 'demo2010', + 'title' => '字体图标', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/icon.html' + ], [ + 'key' => 'demo2012', + 'title' => '多选下拉', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/select.html' + ], [ + 'key' => 'demo2013', + 'title' => '动态标签', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/tag.html' + ], [ + 'key' => 'demo2031', + 'title' => '数据表格', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/table.html' + ], [ + 'key' => 'demo2032', + 'title' => '分布表单', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/step.html' + ], [ + 'key' => 'demo2033', + 'title' => '树形表格', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/treetable.html' + ], [ + 'key' => 'demo2034', + 'title' => '树状结构', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/dtree.html' + ], [ + 'key' => 'demo2035', + 'title' => '文本编辑', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/tinymce.html' + ], [ + 'key' => 'demo2036', + 'title' => '卡片组件', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/card.html' + ], [ + 'key' => 'demo2021', + 'title' => '抽屉组件', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/drawer.html' + ], [ + 'key' => 'demo2022', + 'title' => '消息通知', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/notice.html' + ], [ + 'key' => 'demo2024', + 'title' => '加载组件', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/loading.html' + ], [ + 'key' => 'demo2023', + 'title' => '弹层组件', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/popup.html' + ], [ + 'key' => 'demo60131', + 'title' => '多选项卡', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/tab.html' + ], [ + 'key' => 'demo60132', + 'title' => '数据菜单', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/menu.html' + ], [ + 'key' => 'demo2041', + 'title' => '哈希加密', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/encrypt.html' + ], [ + 'key' => 'demo2042', + 'title' => '图标选择', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/iconPicker.html' + ], [ + 'key' => 'demo2043', + 'title' => '省市级联', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/area.html' + ], [ + 'key' => 'demo2044', + 'title' => '数字滚动', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/count.html' + ], [ + 'key' => 'demo2045', + 'title' => '顶部返回', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/document/topBar.html' + ] + ] + ], + [ + 'key' => 'demo666', + 'title' => '结果页面', + 'icon' => 'layui-icon-auz', + 'type' => 0, + 'href' => '', + 'children' => [ + [ + 'key' => 'demo667', + 'title' => '成功', + 'icon' => 'layui-icon-face-smile', + 'type' => 1, + 'href' => '/app/admin/demos/result/success.html' + ], [ + 'key' => 'demo668', + 'title' => '失败', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/result/error.html' + ] + ] + ], + [ + 'key' => 'demo-error', + 'title' => '错误页面', + 'icon' => 'layui-icon-face-cry', + 'type' => 0, + 'href' => '', + 'children' => [ + [ + 'key' => 'demo403', + 'title' => '403', + 'icon' => 'layui-icon-face-smile', + 'type' => 1, + 'href' => '/app/admin/demos/error/403.html' + ], [ + 'key' => 'demo404', + 'title' => '404', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/error/404.html' + ], [ + 'key' => 'demo500', + 'title' => '500', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/error/500.html' + ] + + ] + ], + [ + 'key' => 'demo-system', + 'title' => '系统管理', + 'icon' => 'layui-icon-set-fill', + 'type' => 0, + 'href' => '', + 'children' => [ + [ + 'key' => 'demo601', + 'title' => '用户管理', + 'icon' => 'layui-icon-face-smile', + 'type' => 1, + 'href' => '/app/admin/demos/system/user.html' + ], [ + 'key' => 'demo602', + 'title' => '角色管理', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/system/role.html' + ], [ + 'key' => 'demo603', + 'title' => '权限管理', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/system/power.html' + ], [ + 'key' => 'demo604', + 'title' => '部门管理', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/system/deptment.html' + ], [ + 'key' => 'demo605', + 'title' => '行为日志', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/system/log.html' + ], [ + 'key' => 'demo606', + 'title' => '数据字典', + 'icon' => 'layui-icon-face-cry', + 'type' => 1, + 'href' => '/app/admin/demos/system/dict.html' + ] + ] + ], + [ + 'key' => 'demo-common', + 'title' => '常用页面', + 'icon' => 'layui-icon-template-1', + 'type' => 0, + 'href' => '', + 'children' => [ + [ + 'key' => 'demo702', + 'title' => '空白页面', + 'icon' => 'layui-icon-face-smile', + 'type' => 1, + 'href' => '/app/admin/demos/system/space.html' + ] + ] + ] + ] + ] ]; diff --git a/src/plugin/admin/public/demos/console/console1.html b/src/plugin/admin/public/demos/console/console1.html new file mode 100644 index 0000000..7954a61 --- /dev/null +++ b/src/plugin/admin/public/demos/console/console1.html @@ -0,0 +1,451 @@ + + + + + 控制后台 + + + + + + + +
+
+
+
+
今日访问
+
+
+
+ 0 +
+
+ + + + + + + + + +
+
+
+
+
+
+
+
提交次数
+
+
+
+ 0 +
+
+ + + + + + + + + + + + + +
+
+
+
+
+
+
+
下载数量
+
+
+
+ 0 +
+
+ + + + + + + + + + +
+
+
+
+
+
+
+
流量统计
+
+
+
+ 0 +
+
+ + + + + + + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
动态
+
+
+
+
+
+

七彩枫叶 在 Pear Admin 专区 回答问题

+ 几秒前 +
+
+
+
+
+

简 在 Pear Admin 专区 进行了 提问

+ 2天前 +
+
+
+
+
+

恒宇少年 将 Pear Admin 更新至 2.3.0 + 版本

+ 7天前 +
+
+
+
+
+

如花 在 Pear Admin 社区 发布了 建议

+ 7天前 +
+
+
+
+
+

就眠仪式 在 Pear Admin 社区 发布了 建议

+ 8天前 +
+
+
+
+
+

贤心 在 Pear Admin 专区 进行了 提问

+ 8天前 +
+
+
+
+
+
+
+
+
更 新
+
+
    +
  • 优化代码格式2021-09-06 11:28
  • +
  • 新增消息组件2021-09-06 11:28
  • +
  • 移动端兼容2021-09-06 11:28
  • +
  • 系统布局优化2021-09-06 11:28
  • +
  • 兼容多系统菜单模式2021-09-06 11:28
  • +
  • 兼容多标签页切换2021-09-06 11:28
  • +
  • 扩展下拉组件2021-09-06 11:28
  • +
  • 扩展卡片样式2021-09-06 11:28
  • +
+
+
+
+
+ 链接 +
+
+ 官 + 网 +
+ 下 载 +
+ 后 端 +
+
+
+
+ 寄语 +
+
+ 原想将澎湃的爱平平稳稳放置你手心,奈何我徒有一股蛮劲,只顾向你跑去,一个不稳跌的满身脏兮兮。试图爬起的我, + 心想你会不会笑我 " 献爱献的这样笨拙, 怎么不知避开爱里的埋伏 " +
+
+
+
+
+ + + + + + diff --git a/src/plugin/admin/public/demos/console/console2.html b/src/plugin/admin/public/demos/console/console2.html new file mode 100644 index 0000000..a2f4a7c --- /dev/null +++ b/src/plugin/admin/public/demos/console/console2.html @@ -0,0 +1,502 @@ + + + + + 数据分析 + + + + + + + +
+
+
+
+
+
+ 快捷菜单 +
+
+
+
+
+ +
+ 主页 +
+
+
+ +
+ 弹层 +
+
+
+ +
+ 聊天 +
+
+
+ +
+ 相机 +
+
+
+ +
+ 表单 +
+
+
+ +
+ 安全 +
+
+
+ +
+ 公告 +
+
+
+ +
+ 更多 +
+
+
+
+
+
+
+
+ 代办任务 +
+
+
+
+
+
待审评论
+
21
+
+
+
+
+
待审帖子
+
32
+
+
+
+
+
待审文章
+
14
+
+
+
+
+
待审用户
+
63
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用记录 +
+
+
+
+
+
+
+
+
+
+
留言板
+
+
    +
  • +

    要不要作为我的家人,搬来我家。

    + 12月25日 19:92 + 回复 +
  • +
  • +

    快乐的时候不敢尽兴,频繁警戒自己保持清醒。

    + 4月30日 22:43 + 回复 +
  • +
  • +

    夏天真的来了,尽管它还有些犹豫。

    + 4月30日 22:43 + 回复 +
  • +
  • +

    看似不可达到的高度,只要坚持不懈就可能到达。

    + 4月30日 22:43 + 回复 +
  • +
  • +

    当浑浊变成了一种常态,那么清白就成了一种罪过。

    + 4月30日 22:43 + 回复 +
  • +
  • +

    那是一种内在的东西,他们到达不了,也无法触及!

    + 5月12日 01:25 + 回复 +
  • + +
  • +

    希望是一个好东西,也许是最好的,好东西是不会消亡的!

    + 6月11日 15:33 + 回复 +
  • +
  • +

    一切都在不可避免的走向庸俗。

    + 2月09日 13:40 + 回复 +
  • +
  • +

    路上没有灯火的时候,就点亮自己的头颅。

    + 3月11日 12:30 + 回复 +
  • + +
  • +

    我们应该不虚度一生,应该能够说:"我已经做了我能做的事。"

    + 4月30日 22:43 + 回复 +
  • + +
  • +

    接近,是我对一切的态度,是我对一切态度的距离

    + 6月11日 15:33 + 回复 +
  • +
  • +

    没有锚的船当然也可以航行,只是紧张充满你的一生。

    + 2月09日 13:40 + 回复 +
  • +
+
+
+
+
+ + + + + + diff --git a/src/plugin/admin/public/demos/css/avatar.jpg b/src/plugin/admin/public/demos/css/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..206a8b6c2def8679090c377e433a185dc92c501b GIT binary patch literal 76158 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�k15mMb6Svz^{+V77__@Due9K7wZ6BUok zO~3ep94)tS4C#Ky4?-@dgWO&fOo;qKtOFTXhv1BIxM`EINE)3Mb>)G#JleNs zCa*7uha$e0vv49cTDt(T=z-pBh#-H+OgZsLMb{$PyRd2EMa7Vru&FxJ71e&}jgY#| zxMy*yx$pmsz>O=724e_f9jFE(H9kALc(rk`*iq_wWIC?tKc)A!b| z7y1UOmrLEQ{HU0znl-O zuKrHa({v2w_g2i2J&`BUd)kclXfDF$I_N>>^F61uHXHPR5N3$Ofk22Jk+jL)zn7|`Pud`vDk5&{(0r%~?z~qjn6awJENA>;Thi1Gg0KOh;?zTTZLH7xhJ^Y;{6o57gADJxTQi5f7nWT&A^u@E9l z_M14OQIc;hcE;~!#cY>u552?`ik*KxWvGA;&g?Rv5_cK{d7a2w#26+m&@jxns4f$1xA?mtwa{q;h)9R>AFJ6i z=kA4fy0A5p-m}cr)I6zN`6pbM~`47?8~nwmE?d_x1xfN!6@hht>jA5j4s?EjFF~+1&btv zWif|j)2_QZv}G~vXsI9vZtpFr^KA74MzXffuE0S&t{q_X6L=&fyV^2NqiQzcOh)CO zGWlYuPF%Z$T3e;12_j?FFX}X|DXH1T&N0mC$Zg3|SQqiL`Z-%#`LW4%SI^h|%f}m5 zX3t#-kzP53*LDP%b%rzbm%Atrk+K32N-s`-u?bR*hSkGAQ=H{9FH2e)%qZd&t3Pmw zvduUeTYRpxrwEy9WbD8+ZLgzA#-f3 z5$#mk(ejJyyh(VYywj09jo&YQDdn>Ne*MGC#6hHI4(XKSAWovGWxve&3dktpUtrdi z;~sh1_B$pB}WF&=24I$BtlW+sOP^@rD>XsN1o;HZ46Yz{oGu2l3H+7h5GbeL=)-8PYmsuQw{%SDD>bub;0Lg~i)l zqQ!QsUIO>{-+j0_@=}NLDue@^T#(%!jNNMCL$Onq zo@XH)x~;$q^W>8q5s7*&CoKlFuP=fz1@)ihSxaaLSGTQ=M_8Sav=H|tBso&rB=oaD zY^wcVoTg77rT$)*@?#s>>Ci5gv3Lai-v69?qKg|FhKR^ZKlr}CFCtPy8PNmpFEHJ$n*l%(puQf%vmFzd6m16FX zgsA=ldWLj_ELPKTbZCInybC0h1uq>a_TpnK-TtOXOTTL{_+C~i!S3ZYm5IPKn}KK{ zu+3}>iOc~$KtCC*nejrAs&o06~J8+u;aXLCF7_PyMGRPhZ*%WT0~*eEpcv`+P_ip|j zVXKN7-*F~72k(hVyS1A7CcTlB+bZ^H_-EM$s}~)O z)=pty#ynys9RAi2K9|+hkk}bb>mFc-e+SS%p{gJXLV?H=2)y_+2yooXs+Se#2C@O;pNhen1^QP(%};+_hd;Z%(ym4!Q{4F`Xx5qgri0W(2#u zp6&)|6RwsS#U$cT*x+<1^?L?BPYhtyfzRDg4x59Pg~8+Ao;-pNAguR3cZYNB&Upc) zYATr?-Apm?aq?+8k9@g4%r?j`@oR~J{UL1G;s$U6ry@?kM{hr3+`hH1?9eW zjUo=uV!X=Mqs`xFzS57uO|5g?5nHPY9}v})raQ}WFD?>6hi89O-i`2gnA)nF-JIe5 z(;}&TS*^FyD_=zOigP+pYKgqTV3|fw`Pa(J4-HyB9<`P$@11jSD#f-p8+jvSzayM- zy_UM$?Xo{i~CJpAn`1ISBzL_!4fJ#GTuPeQHk~HJ4_1l$YK{rHx zzMyJOM&*j*_Modh&l}gK=d2x=_-D8dDaM|=;2KL6XwPaTqO?YCXDPcdp`QYy#7MKa zYxb@ItyGR~6IiOIU*w1&PyWsk&43>p2>-9-X%P7cuIXJQsl_YDZ96I%dSHFPHO3KA z={1^Gk%Ec&q@PF=%Zi-h5(5w208$YzhvP35fwd|NYhe&qt+W6*Y#G z>PP1jt}w3Gy~m!&7X*|@tLswzhr!0@zrj4=;z}ea65Wrf_d=(1E1QB+wM zqfYw|G^i$YwxT%LBGc^#!Z<7jKAy3VZys%dK?m}K1cy(tXAon7c0QHJWL=amVLCNTVi97)Wn135nDXj5cJ5@EQMrcT@*7)aC96+&^x&FKcbX4a-p)c2Bebqtm~R~sjt_>M*7bCZ9hrk=aC&G z5|8{?IF+=cBME`2DA zPpt5g^u<+X?2Ks3OlgYAAVW7`(x@DHy={(tUP;mjIpFhY!ic)(^juw`Q>%@^tqBjU z&Mj52%|lBRn^_9^ZqM_%lJ1?37q3sPVvz^YCYKY5a2NK#TdnLi5^(pOM!kUtKLhs@ zj~dgdi`n|*&t$_a?WG%8nJE0ix$64}%lFqqk~0$`rIv1SP)*T4x^GfFXbGx-aFJdb zK0@#jv}5aig)GlXP`rMoKVzfwG1@ERP54FEQ@cYS9L9<)ct)2G0mtq$tM{$g(YU;e z&hNeAWS2TPgbX$7;&oyz#9DVNL_-MAzj+ zKaFFP_YOG?Ggkx*qh=%abvO3)h-TAy52vzKv9j>_FoEUruf~tIVkv||T8{5ij6|iF z{JW|Hd#wSPs!FCs-;H1}Fla=F^8-5f01_0>8Tsn6bQ57FEI#$_1A_f= z@gDzD$#3=$RupemL8?VJd1)vP0JR-B1HAf<=!48XoKN+U&zh@!O8au3HkSI_XFF)H zV&LwH(-v1}7WY3jrox+Nn0rla<@_jvVSKe8=&&A&<9<~yY>ZkBRn2Vy=9v8gw*!L) zkRT4I%w%WsBk{vctA?aK47vLw#4l>T-^KA?_Ic|1(c*8p4 zsZFskmnMiP-%h&J0uHiX65Pp!^Uh45gSN~Ql^(I1yOJVBhIC%4gD$Jxv^x`Twe4Xz z+E?kCn4CA3vo+x^mV;ST`YNRh$RZh?caueSwF|uwlv!7mc`l=%SJk%Pj{!P{5K*{J zxQnX8JA||x{Q^f-_|s8@J{M!WsIG*(8Ic3pzGgKh=V5RL_p&uglEho@?ejx>Moxjp zbQb-ta|s%i2b_*hPe{O*^F2Yh{duXo=iU#e zFa(QANFWroew3H*Csb6tdoQNF$E0q1J2m+??&klFx&LK|#Sx{Nrfw`3E`^tu{a|ho z2}Bbv%x8Y`fr|(AX2rXJ^*PI_w?HIP7PJ#Stxo<^rX#aDx}=%gPc# zjs>*oZh!ud(=qU0{(Vx8cXd%wT21uf0ym_quk*LUURB3XlRT5 z#hggGTx0|9De@zwRyv34IIXxfK$254uta^9nmRjIVL-o1}jOu4OGa?{bvG0eWqfN-VFEV%l+F6z8s zBw%|N3|(YwtLIhDOF59JXcIF+1fm=Pgr*CZiH@I?scc@;gHRC72MK2#-tGR!p9JXaW9!b`T3*VP_7MVcrZ zEK<#IxIvI*ZTm1?oBWGkz9w(2+Ka~3hPF?9>Tf(6r-ftVw-HB|HKZ_3iN$zn0~&n0 zYpHd${)?|36~Que0Ewkib`t6C=YpRFtH2T_cG8m9a~KWlo%~XGgDLY)6wy0X^o!No z;2nGQFPY|GpAEoX`qU7NTFBN1<;;F%toW$KReEOAr3|%nV$!9vfCp&sE;d7aZHgKF zbo6<)rH?e|T+}e*_^*E;aW2+voEGDA(+QP-9gBivF*#?0tFQWQ-4Qk4!AdhYp2^0) z!M)!%hd8=Is$2bNtQpjI)SKw+^27g?FEk(GIRHAcfBut4%us8F4f_l^V~nS}+|Qt_ z+fPS@knZ(lXCYx4o3PvCLz#Sc1942@(UrPHg=WXH54F3OIu4a!co(Bn{Vv6nOo`i| zHa6&9$2lh?E5Vd{`c|NtD{pMWPwzuy$wz~fbaeUyHSN>>#ASJ>VzDi!T|gA-O@|9o zg;>CqjBLBbr}`5`%A4^SlI+SA$-tC3!iRF*c4U&X%0FK#=}N#>dc&h~E|oD}s>bqR zi%);XPjYO>TsSvQMfy*xP7e6arA343_$g@G-|0EUy|c-961U2Gqkw#DK&X0+zAo!g zp#bnqSv0_xc(A7&A>mI#;A;`8=)v%=uIxIG#WXO})0yujx#6sM6 z3bISh_9U1Qlyj#)9z>0zcdKRs5ZLfr%=$*zSkUHDr^R)4#+^R9_Lb5!^*V;StPkWwYe2$EYTXEQ;D?Ho3-mn~5`(PO0TTZ&t#TBufe76RY( z7b+Dq38>yf=gf+^)z`1EOZZVn2t?E5&^t}KL=6(Vq!c<8DVZR&28cmgAsSjAeix|| zndhz+n>dktZUAsn(MpFZN{8BXjDb(@IllzbtJhQw<^AGZ1%Nm@Hy1V8;;u#4sZQQV zyUHZ4n8r05VjIP%QNQN|EyOq?!pBCEm`yJZ1@kVfD`I1kR{SLhlZuUaROv?T7~(|^ zwZ7*m>MBU{YI{{}S6by~Dq%|;0&w>1x$7IfwYh%1)+n_XHGwnn8N{OvUUU6M*o-yB zmIms-g`}*~#B}Z=QMPtd>AAyhYV${GqxB84FKSiU6Udc*Wy~)t8aAGq)o?d9@vc5 z7I**KKOktconu~Bs>mk%XFKt_5~}ybSK2ho(ylZ8+Pxgo z##-sxo~MK|b4kewE^+5H`fFX`U9f1@nJ}A)+8U$NtFVS+idS66o2)bN?Zy|0$Vb z(epcE$1cl~M(!~#N?jX%U0NzzaIIDl9&Zx8yKhQqt+ANUmT14+Wg9JMJ9n5v4jgfM z{KxAJNhOHwODL)My=DrFv63`%WQWE$^K@@w?OA(A@G!^qM35fjJLONqF+cIG*I8@rZ|`r6bABXGW=I%wWIprO>%J}_ zUq?W<>v;~ed@EZ3d)wYNoGTgJY%c4%VH32Fzb?@+R9d{(=Ps4eTx;IFno$3YtmgKq z7REC2&F--}!5Gtku}QVs45g5LAi7%K<(<(GA}`lDoNZ52OdEBD>}@L@R=2SeDWK`V z{fM*4ztpr;^BSp*{?)TxNY{%c=M1XGm~maFd4a|0lLxV8 z`5o(iSu4qrwZ1D0oAXycJzQ}*sdOH8kzUnZuR$5W!=W=So>~iha@CCF{{H zKx4L($ept8UWO_7snJd6*iz*O<>|t;<|{Th16wveA!o!Fqu!S5BPzB@k%|L}#+=h9 zd=M4Jzv(^$gP!t}(}|aK0y40UrZEp&Z-#>^_?^eV8~Y23_Vk>D;k$+D9-(%!WzucF zA?<}v?~-o>M7|Bo7A5;K1RK!RMtd-N=$fj{!bcaBRjj41>n z&hP*JS{Z`}Z#tZ~O|jPg?#Gy3-r}H7T8`rIa(e(#wl6o`P+^3ZQ>YW!oB4>}3XgR#`W=UZP@?PI&c$%f!xsMVY)M5ls$l9;_Ht! zmiJ!2gz`^y`jvL`05LJ8L5`3$5=}AO?J&G{(|z>~yQKMK+OjyovP4LC3%Y773z6#D zX=!ywMyblrEl-Gf`ztN#ihX9%e$!O~EVFZeYZlS{c)gG2(=AE|G@XTEucTcP*YP~rpZ7)~Kx8uf7P}62%03*K!JK_7at=fvcl6U~Dp^gd1l9$&Oqf$0kF8!VaSl}*)iP!Gj2iZ}t za=sgmuk(tY(T+JO**oxje&?}QxSiNF|hNKfv4-m|v?8w1T&JC&8ZAV1E0x8_{+Cd+|f*0Ay;$w-75Cfy~3WS~tpTuirZ3J9|w7%5heL_;Xh zNK46St`RGTfh9El6%>Hm`^(|aA3($shr;#*gU9?}a7BVCQuY1k|4wBu%-T7t7kAB!rOuu$r zGmc4NJ{n5tF^X1mZ8N){M30LY_BOI$?zCrGrZeu?YWAg!uEzLyD9yF+Dr*Nn9{0+z zhqI=etc>M}>mB7ZkS-am)YMcK92C|6c+X9K3MP%7> z%Ty4YK^9-s_G1x6d=1djO9u;csMqXCtFqbL84U~Gt?rMiI<4T+w0`E0V|epqxbJSl zWVEx37&SRb*kKzc6sqL3Lit$0lMK*}eEEgQWd9diP!qf3T}+TZihQpW4kN(f#@|rD zs(+MuHq_2mRo6UjP>vt@KuY zlezlPON)!xgAz-muC#{1)FogmKBW8!H(qZZeU!pVNG#R1%7aW}mQy5|c@_pz495$Y4z-TC9rE73Zm+p7u^+g5^G!*oD%UX^+gdqn8< zmRZC@!l72Ipic`$JZ|}_&lH-=gug3D6;($}R~)npt6WwMm+;F0VO#-V@BR_JBEU`f z{s7Ii&UBSVAovmK3i|B9_wh^bRS!d{WzMtLVPJR<2cj?1Uk>Z z#PU&eX)w|K=6S?SvQpemQoTrmiRslI`J-4NCrA%^t!1je5cj@wx**~A+sYWS58->C zccK(;hL*9-VrXfW)SvkWNHL%x>Cu8|JkMN9=A#FkryeNE zQVe=sKNn7^&dN%8NHyojfZUXVd?G9ybL1Fu5k5F}%nhQNjE^k1hiMq$0Ja-bsQjwr zSjpM29@bh$_ARt(|2tNP12;?s;q3l~ogN<2#irvs9CAv9_|TvmjuNYN-TA^_J;hb)oerR@iYz1Tfw$` z`&05lU7Uj%;PxM$YwLZU7NdHi%p%j@t+w2rkMBI>M2AK1v(;fIN-B(plcuNvH1hG{ zb;o$bV7%ni5H=?PDBm5}PS>%LG<*sI2r_?2@;+9tjmpn4pvh>UjRMJ4Tx> z44C@JDq2xqh(e=NZHwJj;)fk?TFSYRHmEySV)S)~cTs0{%1X-Ob~xyb)RWF!F?4LH zcIj>XOG`Y#b<&=$_W0A66--sm4_>$hM2*P5$pomBgWtRoRG0~){{+%$lM}cz_ydH? z?|669|B~9CE&(>LV{}iaUkkoYpP$BuyFxgJ9CS3@9dwQr;<8gz2?4yY-Gz6vvpg@h z&Y~Wq=XogiQ|+E}CO`U+Qx4RY3NO~5Tc!hAW>n@@udE`+qzu`yNFDmG+m+grL)M(T zL}rCr?CH65pLrR)>{7a#GyO40@xY3VT< zdtRoD?o6tvq1eZ$#V?0az^gdOpcqIrwgBJ1qBR|V!L>@3p5vwCy!>)GdSU69UshzK z4tlF{I%c6<_jr;|!~^~^BIDP?kjHt~n?gL+-sJd|E)}=!+eRVcWj~`dm*X*4d3?jf z&xGot1X`s~q0-d)^(0h%|+VU+V*e#*Rc!kA_caFv;>!GhU7U)bCka;Di*8C?< zW;d3Ecfz)l-kNAB@Ub(D^ChPl6~M^+n(pni()l$~>$B%(U zYeGH96B(n4>B#{~nLXHnV!C1q>yG@se%~M%Bk7%E5$ql6-!kogU9lhQhBigbQeAl9 zFvJdi;~SP9@0JYb=)I@92v(Qh=50FyP)d^Q75gRfzU29Mh1+ZhnusGEEic+0{LiR> z7$1LK%;klH|8uYNX1DtCrlsw+a0!J6&i$|<#bjHcVaAVvXAH;t9Y3oq0}`6<&#N(@ zukN0jT{?GQ;#9t=$TXm>fJ6ymk6ujIOX!!~%^w59E{V^%-Ep1{ri?vGIe{XcX+VQg z<7w%>t~vEl>^Tk*xEo0w==sx7?KEQmo$mGUSI?xM7StvwW{EwS=ytsp=qW7$XUEon zX3ZKnojATa@i9L&7k9Oru(rV2a*A93Gy_`bxUFb$g62ElofxEd5A4^PqPCXSz6#Fu z@B6OfRq@u?yA^glt4)s995~!}Eb#R{Fn2P>!{jm=sl#5OgEF0&#^7HvQcgjoW%88B z#4eS~t^uUu5?(zFinr}?t{Ez%!5v%#iRWdcRl8IX>KKJ$1r4^ecFeO4WM?j3fu||i zUkNGAw#wR-#HvR?Z*3J`^70PdVb%DE`K5W-WhE$j&CYQ*xp3F`1edcnSWFtJc)x^OQ01MJ?N*9^3$_trNpg z)n5Yjxu4*de}Ljz^c9oJrOUQY?x&y@+3>BE-VVU(^B+-S4Jh6HJZUPw z`;%H%!D%P?^c;Tps7xg-=)ANG5YUSKdYX`nXW#i4Pqn6uX`hAArDAC0BU#o9M7%Eb z&%g@iyIRhgfia_1biZEbz6^`|pEk>W6*X@Ok;1U)rsjkvn@`r8dh7f?e9~gT_ZoY4 z>uMvq&-Hv5mOc11;(=no+MwfsClhjtpyzV(qwChly7HLm2K`BpO<~>^9>kUrWGGM> zknqLFfcs*f5{$h#*K8WhpdP#bmHTbp-i2`vPn%u*jgX7RBzupw+bSpnhE%k#hUVqT|e>=20D^8bm~Aal!C({{#PFBQy5sO2JNRP}#;~ ztch9+W`5E}b+5$cOWxOr6{JA}1Qk@-#y|-0xbVi74wo(sgH?gOY(ayTmS2N*ba{>->Z#i*2vd8=Osyg(&k(yCHSKJ6)6YA<_ z(;uKLa*r(`SO5E2ZAIo+C^MuS2U6*<1A5gc?Q~f@5%dlHZ~=hTE6#&zdBGVV;64t+zXD_S?&UuxUSXA&Xe(1C8##DtSi-5hR*fDYng zRaMRp;rKc*kz#R+7kEaUk!*ZX%8tjAKf>>~ z+TYU*9XqOehPo8d9}bCG84x8rV(+f^avyj?TTy29><~jm1I*c10I6Jsk;xb?WgfjOI(C>2HJ{JXCalZ}r#}AtME} zpFiCO8whvAEl(tWil#gyXwCk?=`XL3#J%m_M$y9>O6oX9xGd6BVnG^-B>z_ zzvk%pMJR+S#q@;i`8b_8l~i4o_q)8<-xQ5q)?w9aH9HqcICul5^bF52EtLCX58XkX zZ(Vh@0F^XTOVm3i)4Ykz6~U$%#sqSDjxlEx^#oxKok>rCn8*Dq;w3ZO6EUXW)swg^ z%-hfOhTBz8VL{*#U#1Nvcj|nX>{}{s@2<<$HZN>Zs}ZD%tVmM9>`fmj$6*U!^ybp<2y8yi}uYwd+ z9{*~q^W_zw&4Q@I_Z%iki?!mr)rHNP6Jaf+ae9!PkHHpB)4(ds-jRgMQJU{Ul`I>= z@qd1JA@=@-t53I|5rrGZIfl=LlMOfsZm_yar4|uu3n`VF8CF%>TmH%=Ot3^-@WsoN z^E@#K#kj-FDtB?OY31Ad`hwy&3#9JN6loF;B|h_KuWXfjN6<>VTo}{Lv{gPd`-41* zng!LKbjg;egfie_n}o$~-n#bKJeBTt+g?xP%Q+Ph#D=`G@|tNjYn->5+IDJ967(UR zaOrqw!v2PGjoFjWSSPJsE5QHhvjPGFgL5|nWUa?)v_zdy^F}_dc|hhl|JlV z3JI)@xG%(CFe~-9)^3w`Z)TSOY&^$;}%oWYB)m) zQ2_NPb>O!B`=G<06*gH2yR9-&OPC2RM?lP#t6)_{Ze(~YW{>Ke`-J3y0I4(_qptp&{8UHO19}d+^wLb2ata@Ozsrzl*_g?~q=RdG z`q9q&1$|F*J(3q#|Z#Dd)%{1OdBm%%2o1qae_K$!|P3jifi z+!WJY5^nyrVtmL5f}&{lf^lz1!;TF*#I@(5rmNOKhTyDW(-&2k<%a{KTY{8T4ZprE z?w8ll$K0!&kyQk=tuo2UN;NY)?^6w_egfe!I|Exf%<(enB=NM&(ai#isTe$hz$ViN zLHT-105)n^43_^X)zQ};4ztTg9Mws&Po?b^tgSr#eg9J5`wunAzoFzG_&D!MXt%Wi zUBYH_o10qOLACEAJxwu*sZutUPz;d*o2PW*GeD!-kbY9P@#Fm@TcY^TI;C1$*pzF5 zdJcT#ROvNhW=GinvkVrR5E4Tk6`0lA`eD0q7BI9mvE#cB^UzibbnqwrY+Yp48$X*c z82BR6{Ysn`;^v^}cyG5*Wbx^7YAGrHa5-B;j$1=DrDHOtmTJO&0;bBKouJ`G#T{x= z4NDOB`}>vH>bZ^#KeKFu7=g%*Q0Ip=D;F0qhRH3cKkXl&6aBicpL8O2D$0DYShpS% zn+aCXzWFR!<^SQtn+1IhZKm7t50L#z1%{QT_*}+v6fS6+MthOem&x|EvGZ8fn*?A$ z_YB8|D`+m1U)}w6ecC;?5FQFYS8#kfzHy5m#uc`TSpF%dQA!75dAX?a@Y>A<;@ zE&{rvIE+Smz|ogZdH{Lu-@+}O6K-9+OJH)^Qaa7p0cn^%!gdYASFQj3KoL8GiL!jpK3HS^SCOu$eK+0!)Nz7H$E`FnEio4s0Jk zi2~zObR5(EMp1&m%#6TbEGa@@Zsh_M8|cGu4IV}j$^vwBT{@Y9oHKoQAquyTL=x6X zvhazHZhlm7VkqZRn@x=oxM|J#rplm2vw20z`a4%fUVkAsg(n5tZ%dS(*+7tLGDUA+ z{aZ088HK%|C?!S~%s@Oc>LQjXNA2%FLeg=nor`;|TgiVCe88x+EQ9dLY z(b|PooPAQiD7c7x9wl13>qLqXu$1RwwG!_t{mM=+t=uUlc#eQ)Kiz^pxUjYk3pGJy$V7o3Gss2sUdsp|XA4~SHAY*wgg{}EUiNXXSNzncgvHiICk`nGF=bu&BWX~hH*il zp((?&M5SG%Oi2MRK=1k|$;EHU??07|I01B-GDdkV;@rjo8LxYkcALG0ed$KHr|2p? zi8UWvz!o4qWNzJDM~Y4SI);58nRHfdq{m_v^w9V|}IEsDnsTO z)NY6C=Tj2hgnM`CfvI*5iwmh^?jF2bEi~V(xRGCCIz*CdoN0NBEP|*?u zJ7}7tdvi%$thqDlJPpoO)0C$k$9@CwGc^N0{5#+qe<7v*Wkvt$l5?i;Y?-I0c`E8- zrQ!9KTbB<4Bir_S$%Lz3*3M67k>L@Ut-Nl6C%6^^L4dIAgP(bl>o!F($YiduMs81R zSKo3wtCZGOp@fb0-M6)$YuYFYB`Zz7;ogYJJqfMwQh6*X4h?sCyVO|XN&!YuB&wm1 zYN~$H`<0{jvIKz|gG$_2U6s=pLg7hN;-b%^iT23!%?YlTLW^Y_et6V;{#O?P)ea0) zag1l%X@>D5dbx+vR81;x${(lsA&AoFH9OIk%!Wf9yXd>PJq!ZYX=0)M>*+(S^Wqe! zxLeU}Z-r9=TKx`2yoZGX(4x#V^Tm-=*{1DGBmqK8{R{zpSfZ85DQ~s{ZjkR#J_?zB z5RP-PG1^p-n9nP(bTbV^k=aSJ@YwR8t|{p>cG~&KCvq1!XvX}xiM7+!EnsCx2YGP1 z((-IbMCkLantI0>!OgOJf1v2NxNaBYCSI<|u7|I-SMH+w74kkb-r&irP3?jp9nSJ9 z#vzH7)TQNN7u;czXpn7*R?;*)3U5L1e*cTNLMl*Bd|3@RU)?qgHcrQ)4K|KJ9&i>8 zj86^1LiP}BlL@N|&nhW`@dBTLx}w4~(tu!nxT8#Ae0x(=?btpabXm z;!x5YjYs3eayLRd%g19AFd=5J!q0SJf#n!8hTS55+s^k3&D;FsroQe^0_rsDqZbup z%h81Li;%=d@>E5HSVA*S26y5K8YhJ_FYMzoJ-_Ot7&Iv7Vh@VwDzPATu702B-!rj) ztflp%aI-}3L5KtrU;UiFGBHrlh}Zke10lT`AMUq!t~M_@Cv+|OmJduayDJ*yN_Dt* z--+9I`wuNN1`HdTv-R_!J3LyeYB{xxDx6}Hzd`hl2N}G1CotEj^g&D&DMs7eF;poB zTKwjca~oHNSHp%>#%O_`sBUwCQ0slaTXU%*?D*#md&)F;%Ra)Nn7S!C8s(fExD=-H ztPncK!Y)s~PLOrfFVo%-4a_5)Lz+alg*q2>Gfh;7`L^-+uDv16}8xdB^0%>lIG?)C2nnWum3G_*r#lvTe?}UW>7*HLnGSjYA8geo0BNz=hp=* zOHjTlz^g|+%IlG0m|I3s2F4Z)Mj^}hU^*SRqBptU-V9{_;79!$hVW})LhKqS7+Q-ah>YSC_OG*@*QDJy!jrQO-=c^tON z?bg^Z3~kX9-8@AB7}lp`<=&g}&%=I;lbzS7;mq%|?(9Wk_S1IJ4g6XW1iT*vgz?{5 zx050*34dS+{p_86yln>)=)@Nh`V^v&DXBD=Zx@G0WBHg?1TmEHnTXKo50G<5OE~A< zssriO`&ggb%M*NrqwudCRIFO=fiQ4D@c0@2<9dp%zHyPdLJyFd=qyUJlB{Zy!&k5GBYrt zzYKl9B=|jjDc8^h>+Mx3rQpVvbEabzBEA>HO%gYfu>`|YAk06PmB)3N;r=Ed+m;6~&OW6u#{!}j$Nz%~ z#{52&95e+1ffCb;VXA+PlR+fxm3MTGjq)(w+PY+!o?x-HHr~+@Jij@W%BZXveNo{Z zrQ3Ebu7b%AVVX4{Pg(oG5+BJ2p#9r-sRfKi4@@}8GE-!K*G-kRt)eEUuMuP9c%<~2 zuUFg9A0lODiX`#Ed_AOQ(Ns5WQl>YDsJ(tT&vh}84uoQ;-9o3lo@a%z&S2~|3d%oB zl&uI6ac6Ec+Nb9~GeOuVbC8-X7?8#jQI2_CKP2sLPsy_N6dDf@?>+Jmuvq5^G~40! zhFxO4w%eI5dPza5TC66c)3#V-q|JpNOgMX?=;Uo&)#?W|z}V2OD1upA&+0mYF=7FZ zsc>2d1A+~Beky4HpPy?O5oB#W&GLG)MKd+=jV;r~CF0Oo>-tws<6zqei{L=Xq4%Mg z=(2EALSnbYy2^F)fW)0jGE>)Wv~CY4F*^g{gA@*Q-OgJoJ{;j;@h$%f< z6TKR=)wMFHWVRsmxPJM={QSkG4?hp^uQknX0x1DM%agcI`k@qzt1|vxVBN zPQBK?rrM$wW2YilE^N9d)5elT2-HNs(?GumDa;iasHH!YWS z&Zk%(MjjQDo1_LVu$Mmy)4i@&9OIr#sE|kfKhi1viw4!YITKaujDnC=v(?t%4W5Q(14d*sj^Jr zCUhmIb^U*UmRjgS`uCl`ej~b$9|P8%sD4#OFg>{@AUm1bvRT% zYlVya#VKbypOtrP_F=Yx5WuDu0cN!Fx7$X+5QB5hW`VCLLplSW`Wzd#a4ZmjRerc~ z4Zosxm3`4|@`B*9^!);Z9wlC+vqDngFH)rR(z1H+n-gA_hDx{sy?rC>u?*MdM!s_c ze@oee%yB(tQPT4_Nv>gob>@r|4$mQ>&Y#+qk1fT11k4ObF{sRiDVZbw0Ogm+V}A|I zLdq0n!Z|>D*-VjyhbFosh~Ajh#HbSWfbx_UWoL^eL^$C3tU~L6qD1OH*Pj2o*P!qC z`YuQMoe^7J$w2X^UQB24ezstB!)n1)=KTXH^=A!Z{+U59{e_WS^>)y_}=5u>+&jEL7}4BuR(Gn)P-ex^)>EqDNuvv2Of8$V7AXZtx%aUv;%yR zP8Jjh${wNGq?`}{tfYf z88rshMzx8D0+flr13b{59|dI%GF_;p$ZzVU4RJhpxt(|w4HO*uN^2+kb}vaM0^Sd! zuKT@fV3?RmY)&gg3Rrx+uDX5%2)LS4$??1!`EJoH{nk_YWln^tUklPb+tz|hx!7pN znHRJTz9XDvD{QO<-}%~+^MhY)N9i0;>Es=(suEdnzDn?YqBBW#B)H;*&w*v4LOGXW z55~^+n$FLcl{wPX-(PN0-gQ;?g3D{Vw}F?nWD5-oi=q!4OBsL-^pDu@_h#ag0T{+m z{ffa&(0Ux0llqO|J!kZY2{;*p3!AAcZYW5$egXZkEg|Wu&T3`RuhxH9OuK95)ApVT zbHUrab%~kJ9cZe>;oU&K)@Ns0gStfqI-b}zA@>`)_|OVO>5Yj*g=r&vx+IA9%-jr;N1dJS*;h;W|_DmV9qn)60T%b0tRR z`aB;l#W~||lIS(RH#YM%QZAHhp|>u7m}|pl;>b9tE2}w;E~DuD^61ufGkby;0XC996`oa+U?cXbN3mS#B^l*dRjqCsh_;X0=YrhNy0%H9@@$5wP1e-r6q7s`y5hOZgwdXFDdl2o-_yG|+RW zhy!*sq?+;I~o&x8Q#`~``3LRYVje8 zg7aoDsWM&A1f{ynkmHK|N{@doQUJlD<(eLo0ji|KMG=PS7!)8BxqKbX0?h5nt=LZv z?B#=EX>_+Y2&}iav70_Y*G;Yd7g!0@p3vbt!{8z(Pba_E81J|$<2|`fMK{7j&(xBF z9)U!_^VCtHe5ygv8>w`RqmI344Lx2j5_At*C)ajj((IGcr}0+H*-HsThwDsNgJ_78OwLad;c}~vAMBvUmMq(4 zCReOSCq{V!^`>iN=Omr)-qM>GpohfhM_ePSf=a4PEVS@wNJaXN^%lOx&t^=TU;&#O zUEoKXNZF7-uhV$vBrFnhc~ApnRFv!kltUN)BSiD>q#^&bKJY2Pzd;n0Ffg}A*tZ6J z$(`G8TxrRuPK#F@>ZWR+pj-^RuHlM*ch09#RXAi;yIqhB%;k8SQt9_ebJmLYldo)_ z=bzM(&N$V4-w?m573CI~dC?ucG^wMG?>7^xTAcb}3IfIk?B<`Pm;Yf!!2pN<7@$Jg zxqyRAt zzgu5XRpbg-GbUbgmSW5(>-012G1w5b|0v&214Wi;Wh6w(v zar$RN1uCz#AsHIk=7Oj}u<@zgz=|`Rl!>yDT;s0`mz}~KmXbNcG`Y2b*=PdTAg#qm zKob0Q`UAx$F1z&9$j6&sNJrzJq&D;(Tbd_zDcM@^e3!cov~NuO#c_U?{9LMODsh1ipY z`Maauy~bv9k_l*QKrNFTQF*D#&N{(u%L*CwhhP~CRgM>m+0AKe6 zm$RvB8pR2NW?K8NKCrG+AOdyzv96LJ;Uy@2`^HHes*5%tCCTtqhwl5)*uzYrLwee6 zdPn(R^Ddv6heXP$=pm#ubq(Gce5pFxkIHb(9#9unJhi%q`J-H}Umkh{Sv{6<=8k$r z1EAjZ=2-Yva{RYSUXw}D2E6!gJD~hEJA+#2Dl@~qW&X)P6tyDvptM6MZ7xfv?>!JV zl~Hat*?6D3x+ z=bv2gvWA&TPknE4abu*PR68pUyVI3y+O}DCa2^5q)Hi)0E}(V(U=WDh{+)8|?-<>` zuf9delc-y1%=5*m&*Ev%F}AzCm-pkUn=ZNNKWEp2bKG&v4oWg~RBTZ1;rqVt$(N9u z=}-KJL57rpwJua&qj@F=iMOhq^2oH0ST6*p6Fs#s;i-xZh$T%xo>1=$JfJ`)9`Y-r z5D{QcZGZ6$Q|V~Tqo1UoLODD^=`;dLG+GMn8CK_HtzwQ5iVvx1UCvM3@K)t?#&eT= z2`+Geafw>moXt++$x&V~zj~ABf|z#0=rS4>dRw^oCix@7RtGDJB8HjHClmiE0DL-4 zc-gG@zqMumuywXBaC|Pid8Iy_ zvDSndQ+7Y)I>+1m&5!isscR@BpKQ7;`#$~5-e!@+?U6P)DC15uHqN(&e0Kh_4w^aS z7G870`2%FFg@n%7TPurwhfZmbFtB5lh)W^D^wM=vi1z<35A$z*g}=(;DBG5_>8NGv zU3o;E7VT$CfNE0EId_;rfg`+X&6cA(%!n>t~Lyik= zzdFHJo3Pe(3xZId5@g)tXpE-fU2gc@z9lepHMqmz6UHH9Sb9^Y8$1_YH94m?dtt)S zkt#cAY7tWtpr!$2a$X-4^+3)>JV`;fkP-sv{;6c)OtW9jOXX^Xh9{uYMJfv7x^cx&T7Q@*BKo@#HpW=ro zT?s9;O~V~VCR0dUrOI_ z`!f1K`Im1l%aefoY$lsG))59 zi%f3vEByv8sV}%HJYeHQT(iTA%Uy&s8M}~rPiS#!r44Um9}v){3MNWo5F3(ai+^NO zo^2G1rYmh9a~L9Pk()#{cmhz^CN4h^*VdWc6#(i$Tpd^9QbbEGS z)uGAiOBvSJI79jx#xo(jg#&M5KPSHk>fk6$Bz~3Vc)f){|4ucLx3BKRk+Ra;z)MQ% zg@kHzAoQy#0U9z~5*P<90ec%`XQ!@hLM^XcQU^!!vF@RZsY3G#;Wa&96^uXUYqe!_ z(#LoX+R9$=99_55l>i=+zUKpcDfPMiZVv51u3xT+@!hDwrH(__3 z161-(J-qzK%Lxp_`vbB zt-;;-MRo{vmZECOlus@808k8vwbfJy=HrxvMcJBvCaC|NZT$)y4GlenQNl&Cnd7iappemSo22|MHdY2xFLE=*jVJ{x%5MJfN+Bc9)ZFlkyp$Dhg zHO}*-6JK=i7nHU=Vmo49ds<9VG9I@y{UQpmaY=CE<=uE@G;Bb7P|p@zk^?gOik8r2 zI3Z2i)NflivSB4|IE^c;NE(*0MNenD5|-*WCLHx`QD%M2utUC5?HMDuXkOI07>CluYh)@GQ;K6Kx>k|IJ3qF2E z@V0w~m(lXhFsWtv|aFwOo=w5*4BIYHR@c;Bc6fQJRk~7Ocb(g8OFUTL5*0xUFi23^owf;Q5Hoe8UJrX+ux^-3xG{!*!WA^EFUT` z%oe|yi@m5l))X*%lURsHGE&S!Gno+Sj3%Qq*6L|#8L>&Pn`V6?7e2Scacu7uTlwi&c_#-VuK>9d;G&w%6{iYICl{1TW zrL6Ebi&A?asnU1F($9tpfCATn3%Sl2Bsy8V#84{EY`u7UaK~i0Qxcw=C5rHS3V%tK z(x}EjQEO;?mZGhzNoSj{y4jrTw|A}hIlcfuTF)I5>9$5r?6>l(iyw;?A}5!LH7s_Z zjyKE4OYmPBarqsJE{Lg1aaw6q$vg+|90U2IpqB%2ro7n03=2Zufm;-H^kms@q+;H1 zr-YonKD15=JA!%oN>X*5PhVIjzZixmjps{Fyn66rxIp^bUXp#EVUqkL8qtYvd);HP z>rRw@BfcL58Xns#gDoZnj!C-m>fLzN^2& zEG$jXn^CybRTT3PEH2?KR^5~-g89{_vc?cI;EL@FP4;$b1K7I+#Bhh%{Kg@~M5I#f zZTN{Agw#;rcT?%__tgJpl>x4cIA~%^aF<3$d5wTOX4hO!;=@qa%rF(#7l?qAl-`;} zF28$16yN@Qn+MgJl3Us8P;Cqp0n&ivj#V@}_&NM|Fv}$ND6?`YVC{WwkZ{0OkK3(e zxii@>*0z{Og1q~lSY<+&uFo-|spQDf@?2Whk^MY&>YUEvfd`K!`XjJ@tu!wFImHXHt3orPp|-9G zLSZaL@DtVH@WC6-Lr(HR3Klcb$9c5+fwb!}=6oOf!>x9y0;l%H_5aZ%|r!ql0?YPbqqo@D2rGBfKmuGqx z_X*aK8PJ-F8Q+@Bp?7{%O1>jDQfrgq&k_zx`)uYZTZ_MRNLGx!19MmwVv#gGug+zL zXkUVk5|zP2c|sEPgPv@mn)2aBdauiz(}>_u3|4i?!X=GLQ~8@6)JAs+^RfZu3p~1v z*F-VjN~PbYr(9KFMHXRst7?Vl2Mf{+&04TGWjs|JDoPu8WP0P}PH*Cy8Ry|apBPTsTQ`=#6s$6{;e zA%t=_7<%WlIPXFUNM8 zxp`Nd*q%T~J3s>XLy|;!dNDas%AK29aqh7X-dwDXq2ue790T6WH)7VW=ZAv=Xr}pa z1+)YpzPM`cy+i#HR26}2BPyf`)#GiWhkM^%NH4Ili6#zH8e~_sONxq zk`tf<{u3SYZ?WBfexI@sOxKjNEmDw-vZEio(so?z#O7Iv83_1&d$)qj4MWK-dP-!6 zgvZ{vM6U>4Xum|FR~OZ}VcLOpiuKc0jb;$4%Rv)8T)x(n`HoOn1Kcgoc=Hbs z)?o*p#Jq0UX&%C0FMXY@y`9*?ENuU*cB3-mdpZ-tw&R#dlAPP9*XQMLQS8|S{buqx z89Ro$n{}@qIFmdgSKAqVLa1Tnm(bbgCXvAx}x<6p1*zK1Wn#Fhpr* z36Hf0&}H=fkT^4Z%TeFOYM+#p9lub7WlV%_;AZ5ge*oY~#h_3*+W*vv|EDbU_nk`h zAasK}`L+xvTP9ZqIp#aoJJD@-+X2X4wOS>nH2mbCJpb&`zOuNLW9sL%Tnrifyj}18 z1G&Ge9oi^E)q~agG>@f8=c6Gy>^^2t*tB5iNl{PeEwv+Wh{~f{e)5t~!d0}ySx~`b z&~#qYvcf-IWZ{UyU?@>ola8_y=NaAy?b{?xpJ$eWgoL7X*xg-_*SmsquL{Gz>mR(a^mOZS*Zc9eMBu@2E>F5)!Lw~~Rb zzz4MG>dmHr_$2(dW&gi|W821z5TjfT%U#1ONRoGo7nZ04jghS3TwcX`QXH zQ-rWnuusnCNgk{qhwHjgle}L}`@|)nEOXj9xvjkum^A1fUt(ejUG*|;z24d*lM@{# z{fvmAG+8%8ElUd8ucFRv;%2)uZrp5-cr_Gk@YVb$cj`3TxjW%EewUi)enmdx0pEKgy}I+;OT-q??GO_jXc@QW3%_KL)3ZvWu4_e2lVcfs*;n7 zmed?wcc?>3xTfhhuj(Y`cjqLu7+ssY3nYkiOik!x%jRmO7Rq-L3pITG=Wz%Ml#A&( zkg$2U%G-~t8%-~WWUZriBY&z~)kK?jp+so;KC{7L%ATn4EwB0fAz~V4;{PDFu(Wbx zro0q&+HEcGhfTzE)J&rIBo_PDPxcYK^5u{;`HzDxKc1W^z-uqtJhJ?R3jI-6O+SHi zs$g3`s2?<(v7|sgqdzn$xUenb?C6V*T$ zUhF&sz<|E&5C*3)}cw3Uu0DgH*8f@I6=B9eU z7Ir7`(>dWsKr6-JJ{Sd1N!iQ&mBhLPOh)nq0u2mtwx-kjZxpKnV?h|`(SIA5!TA4r z{ZmLC47dh{-xF(A|HrGp>f)l!fe{C`did~ zLSiqyMH2~@u8u52itGvW$r#JGXN`@d%A$ij{CrJRp?vj#4f>C%_FopC6%<{Rntbjl zQUFTkOVh~Ii^fy#Q|g9<`je)spVu#A2@RW@Te!@mw~j8O#m~fhR7ebTe0jCok#g)) zV4=9}d2H}Qa#Q~$UR?j4<`=%TBa(Gg){^4E;@zgfg-*dr8W z$1%n}Ecnw!jByBb))%|F(7}&J-_6j-RB$=VK{EQ8G1B`m?X`Q-x5nJ|%J|^aCDTt` z3$fbk zv@H*h$iqSaw38lIlo<748ORp|K4_%-S^eK~48>3THBGaRmW;fq@eS((-22>!-#t;; z3m2ZXmZ8NEOOt?3{;w;2|2Z1`zlj|G=g&?JLV{gewIy6JvDr!ovC3$jjo95Z$%cJ1 zE|Yuo%}zCZI?TRXrVT>Rd?Qi?J6?u-T-0}C+R*^*?~#7uSX#Yw`jjW^@QiYmpYuaG z^5R4`ZMv58uDi0%8%I7PsRXQ}9K8zM(*I%4O&2@pqwmw32nB&^;xCNu$17V#J`#WK zjy9NUPTR|3_#`c3P%`DCxX$}n^Nxt&sYneoDT&#uCJov>kLGoU;1@W@<`R6>F41PV zX0|9wsQL0X7+aaizJg5*fUC>;hocdksmL8u16g7BA&tdq^WF`qJ{GFx#NCS)ZecBs z&U}c&H3u|_e3s{PSmc=^hD*HFvuyL`7BoW!L>9}cQGJf$efz5OqchK02L>l=O6ibreTvg4PEg6%UQ;ilqt0O7h(zOm0%=WC zNjVwwo@cn%`W*qLMsFF%2+A#))*y4tV{b((WfhIp)uai`=a|0i=≤ zTzTXTdISYC(G8tK;Bu-$Sptxf|HUgVU;@(^s9s8U=i-3DX~Is>NPiXO$46`2qn#Mb zo>v^kL+gW%CNI!EPxUeM;4;C7utQ$=C7$d#T1l^x?TbiiQr8{)23B>+FPD%tv~FK7 z{dMh$+~A0qqOn(U^22jxjaC+dr%82ZHxY^3a<(9@uNxLg4S%}BRezEd`U7YOgV4+1 zKdjR=tIiMkaDf5qoVCPa3xFmj=Bv+vz?XfYpM0R*-{OEyZL!Z7ou672KF1DUKK@T; z;tLM{fBFpYh;in2PmcSWNGiXvj#1=@ww%b~E#L1Tsiwr%MbnkwasDc$kQz>F2|K<4 zF4$13s_B5(9D1y^;CnxXJ(k9qGe07Q?||2O>V5YO;*!p6cd53-D~p`8GRppuVV|G> z0SyfRd^uH+RVWdV7j87&l!tZ6mjE- z2yhoQ>id^{r|Y>p*HmiMqxu!*bhVm($g$I?k%B`nab1^a&kw9N^2OO^c7C5I-W%| zXtX<>_trzd)#$Wg!ygmZYxsqP@mzgpwucuJ=z6sUWTL;aCnL)Mks+_75DmUIs8QSQ z*Sy<=uj`SeAMS$Pm?d!hg_fK{n|2J1?C4vgDem%mC!uvdj`CBmJy#u@(5xRz1`o%l zKSgwuuqWj}euZL#En^`et~b<$rbK?(9){nE!^)1`;Wxjsd!v!7lc^(8yEUCy(?)LUX~&~D^}KQQ`uWS^3I(z8$?xh; zxwCl(;XGPa9!jy1D@WLLS-Lba~y5ZaEucQLu()I7F~ z?71>xZT=?%-prQI#s|ILerv|Hc<#X&l)YwzO8AZw+X z5$5#P8~V7-t-v;e#Z6A?Vu83N;Zpc$d_He0oNk37-o7fadWbwQ`C7j=YCgABPoq2| zN~LNW-O)X$sihkPlxF-&2>xrK`G0YpRwHNw1}ue04EA?vMgm`#cG~k7s&B8PpS@l$+t^HL^oy)Q1o9(dTd+(K z6OD?}RM)kB0YhM{Grq9U>87Yc5ie^oM##%`mk)BtD9dAZeP-%Tmy&OC$C4xO&D@4B zF6?$iqW4sDBpt3b4-#N))+JNH7Ctz|n8|j%wtFkVW>CnIT}jHwctn&MOdPmyhmj9| zt~EVOy^1+@4Oywh0Wa6t8o5t>+Qy z?vQqwkmjA8G1?8@KtZSc_s5i(st4a!CeXf*yu&OIcnzx}j~M3StxBA`TdYLD?FH{JpzBG+ zoEPBQ!3z#hx=Yj4I`QDk&bKO1XqGFYj8bA^X++jaJUg6Zg)Te@JNek6IWZusZ`X}M zM6gesE+PoFFI4OBEznEReHqnwIjjR&HAP?vz}JKipm_QdVP<>F3S)-*)my-?*Qdqf zj4PIworzUC3*Or0p~(cU9g&;hWWH13Y&wQqvS?{WJ>$0R1E|sN7iF1Bn2qD*Y!QRI zfk5S-^o)(dU7z3#mV6CluV8zOSl?TSy{@gm!9tYZhP>{}Tr9D5Tw(|YxN!GZbF#Z* zZ;dIzpIk7g*s2ajGkQeNw0dGP=1&LD%SR-dzGM3zNQ&%-N6y;Y!LPs1*!HEmHU6kr zBf3HXB`i+d3EZY@g56-<(@V#db0yjY)87p#tC6&T5%g_hCWMZH6+ZTTL7$sZhsZJ$kk{5YYH!lKCxiC6E~4&#iL zk89-y5oAq&Hfq8SV1Ic7`B8;(sy5IY|4aEs16oFn8-Wkv>I9bap|tDAJCv>}>T;W$ zv+SFQn!|C9O<)v6H==wmAP6?UU4c#$Uc&NQSCOT`hch3L7Cz=f>Apw3o?8{=MpyIY zUJ`|U;@0u}ci;L.layui-card-body { + height: 60px; +} + +.top-panel-number { + line-height: 60px; + font-size: 29px; + border-right: 1px solid #eceff9; +} + +.top-panel-tips { + padding-left: 8px; + padding-top: 16px; + line-height: 30px; + font-size: 12px; +} + +.pear-container { + background-color: whitesmoke; + margin: 10px; +} + +.card { + width: 100%; + height: 160px; + background-color: whitesmoke; + border-radius: 4px; +} + +.card .header .avatar { + width: 28px; + height: 28px; + margin: 20px; + border-radius: 50px; +} + +.card .header { + color: dimgray; +} + +.card .body { + color: gray; +} + +.card .body { + margin-left: 20px; + margin-right: 20px; +} + +.card .footer { + margin-left: 20px; + margin-right: 20px; + margin-top: 20px; + font-size: 13px; + color: gray; + position: absolute; +} + +.custom-tab .layui-tab-title { + border-bottom-width: 0px; + border-bottom-style: none; +} + +.custom-tab .layui-tab-title li { + margin-left: 10px; +} + +.list .list-item { + height: 31.8px; + line-height: 31.8px; + color: gray; + padding: 5px; + padding-left: 15px; + border-radius: 4px; + margin-top: 5.2px; +} + +.list .list-item:hover { + background-color: whitesmoke; +} + +.list .list-item .title { + font-size: 13px; + width: 100%; +} + +.list .list-item .footer { + position: absolute; + right: 30px; + font-size: 12px; +} + +.top-panel-tips i { + font-size: 33px; +} + +.layuiadmin-card-status { + padding: 0 10px 10px; +} + +.layuiadmin-card-status dd { + padding: 15px 0; + border-bottom: 1px solid #EEE; + display: -webkit-flex; + display: flex; +} + +.layuiadmin-card-status dd div.layui-status-img, +.layuiadmin-card-team .layui-team-img { + width: 32px; + height: 32px; + border-radius: 50%; + margin-right: 15px; +} + +.layuiadmin-card-status dd div.layui-status-img a { + width: 100%; + height: 100%; + display: inline-block; + text-align: center; + line-height: 32px; +} + +.layuiadmin-card-status dd div span { + color: #BBB; +} + +.layuiadmin-card-status dd div a { + color: #01AAED; +} + +.top-panel-tips svg { + margin-top: -12px; + width: 50px; + height: 50px; +} diff --git a/src/plugin/admin/public/demos/css/console2.css b/src/plugin/admin/public/demos/css/console2.css new file mode 100644 index 0000000..4aaa7e5 --- /dev/null +++ b/src/plugin/admin/public/demos/css/console2.css @@ -0,0 +1,121 @@ +.pear-container { + background-color: whitesmoke; + margin: 10px; +} + +.pear-card { + width: 100%; + height: 66px; + background-color: #F8F8F8; + display: inline-block; + border-radius: 5px; + text-align: center; + margin-bottom: 3px; +} + +.pear-card:hover, +.pear-card2:hover { + box-shadow: 2px 0 8px 0 lightgray !important; +} + +.pear-card2 { + width: 100%; + height: 90px; + background-color: #F8F8F8; + display: inline-block; + border-radius: 5px; + text-align: center; + margin-bottom: 3px; +} + +.pear-card2 i { + font-size: 30px; + height: 90px; + line-height: 90px; +} + +.pear-card i { + font-size: 30px; + height: 66px; + line-height: 66px; +} + +.layui-col-md3 { + text-align: center; +} + +.pear-card-title { + margin-top: 3px; +} + +.person img { + width: 90px; + height: 90px; + border-radius: 4px; + margin-top: 8px; + margin-left: 8px; +} + +.pear-card2 .count { + color: #51A351; + font-size: 30px; + margin-top: 12px; +} + +.pear-card2 .title { + color: gray; + font-size: 14px; + margin-top: 14px; +} + +.pear-card-status { + padding: 0 10px 10px; +} + +.pear-card-status li { + position: relative; + padding: 10px 0; + border-bottom: 1px solid #EEE; +} + +.pear-card-status li h3 { + padding-bottom: 5px; + font-weight: 700; +} + +.pear-card-status li p { + padding-bottom: 10px; + padding-top: 3px; +} + +.pear-card-status li>span { + color: #999; + height: 24px; + line-height: 24px; +} + +.pear-reply { + position: absolute; + right: 20px; + bottom: 12px; + height: 24px; + line-height: 24px; +} + +.person .title { + font-size: 17px; + font-weight: 600; + margin-left: 18px; + margin-top: 16px; + position: absolute; + display: inline-block; +} + +.person .desc { + font-size: 16px; + font-weight: 600; + margin-left: 115px; + margin-top: -30px; + position: absolute; + display: inline-block; +} diff --git a/src/plugin/admin/public/demos/css/department.css b/src/plugin/admin/public/demos/css/department.css new file mode 100644 index 0000000..d6898b7 --- /dev/null +++ b/src/plugin/admin/public/demos/css/department.css @@ -0,0 +1,6 @@ +.organizationTree { + width: 100% !important; + height: -webkit-calc(100vh - 130px); + height: -moz-calc(100vh - 130px); + height: calc(100vh - 130px); +} diff --git a/src/plugin/admin/public/demos/css/error.css b/src/plugin/admin/public/demos/css/error.css new file mode 100644 index 0000000..37d4c0e --- /dev/null +++ b/src/plugin/admin/public/demos/css/error.css @@ -0,0 +1,76 @@ +* { + padding: 0; + margin: 0; + font-size: 0.38rem; +} + +ul { + list-style: none; +} + +a { + text-decoration: none; + -webkit-tap-highlight-color: transparent +} + +.clearfix:after { + content: ''; + width: 0; + height: 0; + display: block; + clear: both; +} + +html { + height: 100%; + width: 100%; +} + +body { + font-size: 0.28rem; + height: 100%; + width: 100%; + display: flex; + flex-direction: column; + position: relative; + background-color: white !important; +} + +.content { + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 100%; + text-align: center; +} + +.content>img { + height: 300px; + max-width: 370px; + margin-right: 180px; +} + +.content>* { + display: inline-block; +} + +.content-r { + vertical-align: top; +} + +.content-r>h1 { + font-size: 72px; + color: #434e59; + margin-bottom: 24px; + font-weight: 600; +} + +.content-r>p { + font-size: 20px; + color: rgba(0, 0, 0, .45); + margin-bottom: 16px; +} + +button { + margin-top: 20px; +} diff --git a/src/plugin/admin/public/demos/css/icon.css b/src/plugin/admin/public/demos/css/icon.css new file mode 100644 index 0000000..cd1a6ce --- /dev/null +++ b/src/plugin/admin/public/demos/css/icon.css @@ -0,0 +1,531 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/plugin/admin/public/demos/css/login.css b/src/plugin/admin/public/demos/css/login.css new file mode 100644 index 0000000..938f05f --- /dev/null +++ b/src/plugin/admin/public/demos/css/login.css @@ -0,0 +1,99 @@ +.layui-form { + width: 320px !important; + margin: auto !important; + margin-top: 160px !important; +} + +.layui-form button { + width: 100% !important; + height: 44px !important; + line-height: 44px !important; + font-size: 16px !important; + background-color: #5FB878 !important; + font-weight: 550 !important; +} + +.layui-form-checked[lay-skin=primary] i { + border-color: #5FB878 !important; + background-color: #5FB878 !important; + color: #fff !important; +} + +.layui-tab-content { + margin-top: 15px !important; + padding-left: 0px !important; + padding-right: 0px !important; +} + +.layui-form-item { + margin-top: 20px !important; +} + +.layui-input { + height: 44px !important; + line-height: 44px !important; + padding-left: 15px !important; + border-radius: 3px !important; +} + +.layui-input:focus { + box-shadow: 0px 0px 2px 1px #5FB878 !important; +} + +.layui-form-danger:focus{ + box-shadow: 0px 0px 2px 1px #f56c6c !important; +} + +.logo { + width: 60px !important; + margin-top: 10px !important; + margin-bottom: 10px !important; + margin-left: 20px !important; +} + +.title { + font-size: 30px !important; + font-weight: 550 !important; + margin-left: 20px !important; + color: #5FB878 !important; + display: inline-block !important; + height: 60px !important; + line-height: 60px !important; + margin-top: 10px !important; + position: absolute !important; +} + +.desc { + width: 100% !important; + text-align: center !important; + color: gray !important; + height: 60px !important; + line-height: 60px !important; +} + +body { + background-repeat:no-repeat; + background-color: whitesmoke; + background-size: 100%; + height: 100%; + } + +.code { + float: left; + margin-right: 13px; + margin: 0px !important; + border: #e6e6e6 1px solid; + display: inline-block!important; +} + +.codeImage { + float: right; + height: 42px; + border: #e6e6e6 1px solid; +} + +@media (max-width:768px){ + body{ + background-position:center; + } +} diff --git a/src/plugin/admin/public/demos/css/person.css b/src/plugin/admin/public/demos/css/person.css new file mode 100644 index 0000000..53c787a --- /dev/null +++ b/src/plugin/admin/public/demos/css/person.css @@ -0,0 +1,80 @@ +.pear-container { + background-color: whitesmoke; + margin: 10px; +} +.layui-body { + padding: 25px; +} +.text-center { + text-align: center; +} +.user-info-head { + width: 110px; + height: 110px; + line-height: 110px; + position: relative; + display: inline-block; + border-radius: 50%; + overflow: hidden; + cursor: pointer; + margin: 0 auto; +} +.layui-line-dash { + border-bottom: 1px dashed #ccc; + margin: 15px 0; +} +.comment { + position: absolute; + bottom: 3px; + right: 10px; + font-size: 12px; + color: dimgray; +} +.content { + padding-left: 13px; + font-size: 13px; + color: dimgray; +} +.title { + padding-left: 13.5px; +} +.layui-tab-title { + border-bottom: none; +} +.fl-item { + height: 30px; + font-size: 13.5; +} +.dot { + width: 10px; + height: 10px; + border-radius: 50px; + background-color: gray; + display: inline-block; + margin-right: 10px; +} + +.list .list-item { + height: 32px; + line-height: 32px; + color: gray; + padding: 5px; + padding-left: 15px; + border-radius: 4px; + margin-top: 5.2px; +} + +.list .list-item:hover { + background-color: whitesmoke; +} + +.list .list-item .title { + font-size: 13px; + width: 100%; +} + +.list .list-item .footer { + position: absolute; + right: 30px; + font-size: 12px; +} diff --git a/src/plugin/admin/public/demos/css/result.css b/src/plugin/admin/public/demos/css/result.css new file mode 100644 index 0000000..d5ccaa3 --- /dev/null +++ b/src/plugin/admin/public/demos/css/result.css @@ -0,0 +1,39 @@ +.result { + text-align: center; + +} +.result .success svg { + color: #32C682; + text-align: center; + margin-top: 40px; + +} +.result .error svg { + color: #f56c6c; + text-align: center; + margin-top: 40px; + +} +.result .title { + margin-top: 25px; + +} +.result .desc { + margin-top: 25px; + width: 60%; + margin-left: 20%; + color: rgba(0, 0, 0, .45); +} +.result .content { + margin-top: 20px; + width: 80%; + border-radius: 10px; + background-color: whitesmoke; + height: 200px; + margin-left: 10%; +} +.result .action { + padding-top: 10px; + border-top: 1px whitesmoke solid; + margin-top: 25px; +} diff --git a/src/plugin/admin/public/demos/data/card.json b/src/plugin/admin/public/demos/data/card.json new file mode 100644 index 0000000..e238590 --- /dev/null +++ b/src/plugin/admin/public/demos/data/card.json @@ -0,0 +1,57 @@ +{ + "msg": "not data", + "count": 30, + "data": [{ + "id": "1", + "image": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", + "title": "Alipay", + "remark": "那是一种内在的东西, 他们到达不了,也无法触及的", + "time": "几秒前" + }, { + "id": "2", + "image": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", + "title": "Layui", + "remark": "生命就像一盒巧克力,结果往往出人意料", + "time": "几秒前" + }, { + "id": "3", + "image": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", + "title": "Angular", + "remark": "希望是一个好东西,也许是最好的,好东西是不会消亡的", + "time": "几秒前" + }, + { + "id": "4", + "image": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", + "title": "React", + "remark": "那是一种内在的东西, 他们到达不了,也无法触及的", + "time": "几秒前" + }, { + "id": "5", + "image": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", + "title": "Alipay", + "remark": "那是一种内在的东西, 他们到达不了,也无法触及的", + "time": "几秒前" + }, { + "id": "6", + "image": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", + "title": "Layui", + "remark": "生命就像一盒巧克力,结果往往出人意料", + "time": "几秒前" + }, { + "id": "7", + "image": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", + "title": "Angular", + "remark": "希望是一个好东西,也许是最好的,好东西是不会消亡的", + "time": "几秒前" + }, + { + "id": "8", + "image": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", + "title": "React", + "remark": "那是一种内在的东西, 他们到达不了,也无法触及的", + "time": "几秒前" + } + ], + "code": 0 +} diff --git a/src/plugin/admin/public/demos/data/dataMenu.json b/src/plugin/admin/public/demos/data/dataMenu.json new file mode 100644 index 0000000..18c5adb --- /dev/null +++ b/src/plugin/admin/public/demos/data/dataMenu.json @@ -0,0 +1,377 @@ +{ + "code": 0, + "msg": "ok", + "data": [{ + "id": 1, + "title": "工作空间", + "type": 0, + "icon": "layui-icon layui-icon-console", + "href": "", + "children": [{ + "id": 10, + "title": "控制后台", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/console/console1.html" + }, { + "id": 13, + "title": "数据分析", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/console/console2.html" + }, { + "id": 14, + "title": "百度一下", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "http://www.baidu.com" + }, { + "id": 15, + "title": "主题预览", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/system/theme.html" + }] + }, + { + "id": "component", + "title": "常用组件", + "icon": "layui-icon layui-icon-component", + "type": 0, + "href": "", + "children": [{ + "id": 201, + "title": "基础组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2011, + "title": "功能按钮", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/document/button.html" + }, { + "id": 2014, + "title": "表单集合", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/form.html" + }, { + "id": 2010, + "title": "字体图标", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/icon.html" + }, { + "id": 2012, + "title": "多选下拉", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/select.html" + }, { + "id": 2013, + "title": "动态标签", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/tag.html" + }] + }, { + "id": 203, + "title": "进阶组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2031, + "title": "数据表格", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/table.html" + }, { + "id": 2032, + "title": "分布表单", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/step.html" + }, { + "id": 2033, + "title": "树形表格", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/treetable.html" + }, { + "id": 2034, + "title": "树状结构", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/dtree.html" + }, { + "id": 2035, + "title": "文本编辑", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/tinymce.html" + }, { + "id": 2036, + "title": "卡片组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/card.html" + }] + }, { + "id": 202, + "title": "弹层组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2021, + "title": "抽屉组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/drawer.html" + }, { + "id": 2022, + "title": "消息通知", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/notice.html" + }, { + "id": 2024, + "title": "加载组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/loading.html" + }, { + "id": 2023, + "title": "弹层组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/popup.html" + }] + }, { + "id": 60331, + "title": "高级组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 60131, + "title": "多选项卡", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/tab.html" + }, { + "id": 60132, + "title": "数据菜单", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/menu.html" + }] + }, { + "id": 204, + "title": "其他组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2041, + "title": "哈希加密", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/hash.html" + }, + { + "id": 2042, + "title": "图标选择", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/iconPicker.html" + }, + { + "id": 2043, + "title": "省市级联", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/area.html" + }, + { + "id": 2044, + "title": "数字滚动", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/count.html" + }, + { + "id": 2045, + "title": "顶部返回", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/topBar.html" + } + ] + }] + }, + { + "id": "result", + "title": "结果页面", + "icon": "layui-icon layui-icon-auz", + "type": 0, + "href": "", + "children": [{ + "id": "success", + "title": "成功", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/result/success.html" + }, + { + "id": "failure", + "title": "失败", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/result/error.html" + } + ] + }, + { + "id": "error", + "title": "错误页面", + "icon": "layui-icon layui-icon-face-cry", + "type": 0, + "href": "", + "children": [{ + "id": 403, + "title": "403", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/error/403.html" + }, + { + "id": 404, + "title": "404", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/error/404.html" + }, + + { + "id": 500, + "title": "500", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/error/500.html" + } + + ] + }, + { + "id": "system", + "title": "系统管理", + "icon": "layui-icon layui-icon-set-fill", + "type": 0, + "href": "", + "children": [{ + "id": 601, + "title": "用户管理", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/system/user.html" + }, + { + "id": 602, + "title": "角色管理", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/role.html" + }, + + { + "id": 603, + "title": "权限管理", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/power.html" + }, + + { + "id": 604, + "title": "部门管理", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/deptment.html" + }, + { + "id": 605, + "title": "行为日志", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/log.html" + }, { + "id": 606, + "title": "数据字典", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/dict.html" + } + + ] + }, + { + "id": "common", + "title": "常用页面", + "icon": "layui-icon layui-icon-template-1", + "type": 0, + "href": "", + "children": [{ + "id": 701, + "title": "登录页面", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "login.html" + }, { + "id": 702, + "title": "空白页面", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/system/space.html" + }] + } + ] +} + diff --git a/src/plugin/admin/public/demos/data/dataTree2.json b/src/plugin/admin/public/demos/data/dataTree2.json new file mode 100644 index 0000000..86e8923 --- /dev/null +++ b/src/plugin/admin/public/demos/data/dataTree2.json @@ -0,0 +1,37 @@ +{ + "status": { + "code": 200, + "message": "操作成功" + }, + "data": [{ + "id": "001", + "title": "湖南省", + "checkArr": "0", + "parentId": "0" + }, + { + "id": "002", + "title": "湖北省", + "checkArr": "0", + "parentId": "0" + }, + { + "id": "003", + "title": "广东省", + "checkArr": "0", + "parentId": "0" + }, + { + "id": "004", + "title": "浙江省", + "checkArr": "0", + "parentId": "0" + }, + { + "id": "005", + "title": "福建省", + "checkArr": "0", + "parentId": "0" + } + ] +} diff --git a/src/plugin/admin/public/demos/data/dictData.json b/src/plugin/admin/public/demos/data/dictData.json new file mode 100644 index 0000000..db7ae11 --- /dev/null +++ b/src/plugin/admin/public/demos/data/dictData.json @@ -0,0 +1,36 @@ +{ + "code": 0, + "msg": null, + "count": 2, + "data": [{ + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": "男 : body", + "params": null, + "dataId": "1317401149287956480", + "dataLabel": "男", + "dataValue": "boy", + "typeCode": "user_sex", + "isDefault": null, + "enable": "0" + }, { + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": "女 : girl", + "params": null, + "dataId": "1317402976670711808", + "dataLabel": "女", + "dataValue": "girl", + "typeCode": "user_sex", + "isDefault": null, + "enable": "0" + }] +} diff --git a/src/plugin/admin/public/demos/data/dictType.json b/src/plugin/admin/public/demos/data/dictType.json new file mode 100644 index 0000000..3b9ab26 --- /dev/null +++ b/src/plugin/admin/public/demos/data/dictType.json @@ -0,0 +1,90 @@ +{ + "code": 0, + "msg": null, + "count": 6, + "data": [{ + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": null, + "params": null, + "id": "1304489072256876544", + "typeName": "用户状态", + "typeCode": "user_status", + "description": "用户状态", + "enable": "0" + }, { + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": null, + "params": null, + "id": "1317360314219495424", + "typeName": "登录类型", + "typeCode": "login", + "description": "登录类型", + "enable": "0" + }, { + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": null, + "params": null, + "id": "1317400519127334912", + "typeName": "用户类型", + "typeCode": "user_status", + "description": "用户类型", + "enable": "0" + }, { + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": null, + "params": null, + "id": "1317400823096934400", + "typeName": "配置类型", + "typeCode": "config_type", + "description": "配置类型", + "enable": "0" + }, { + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": null, + "params": null, + "id": "455184568505470976", + "typeName": "用户性别", + "typeCode": "user_sex", + "description": "用户性别", + "enable": "0" + }, { + "createTime": null, + "createBy": null, + "createName": null, + "updateTime": null, + "updateBy": null, + "updateName": null, + "remark": null, + "params": null, + "id": "455184935989415936", + "typeName": "全局状态", + "typeCode": "sys_status", + "description": "状态描述\n", + "enable": "0" + }] +} diff --git a/src/plugin/admin/public/demos/data/dtree.json b/src/plugin/admin/public/demos/data/dtree.json new file mode 100644 index 0000000..376d9b0 --- /dev/null +++ b/src/plugin/admin/public/demos/data/dtree.json @@ -0,0 +1,181 @@ +{ + "status": { + "code": 200, + "message": "操作成功" + }, + "data": [{ + "id": "001", + "title": "湖南省", + "parentId": "0", + "children": [{ + "id": "001001", + "title": "长沙市", + "last": true, + "parentId": "001" + }, + { + "id": "001002", + "title": "株洲市", + "last": true, + "parentId": "001" + }, + { + "id": "001003", + "title": "湘潭市", + "last": true, + "parentId": "001" + }, + { + "id": "001004", + "title": "衡阳市", + "last": true, + "parentId": "001" + }, + { + "id": "001005", + "title": "郴州市", + "last": true, + "parentId": "001" + } + ] + }, + { + "id": "002", + "title": "湖北省", + "parentId": "0", + "children": [{ + "id": "002001", + "title": "武汉市", + "last": true, + "parentId": "002" + }, + { + "id": "002002", + "title": "黄冈市", + "last": true, + "parentId": "002" + }, + { + "id": "002003", + "title": "潜江市", + "last": true, + "parentId": "002" + }, + { + "id": "002004", + "title": "荆州市", + "last": true, + "parentId": "002" + }, + { + "id": "002005", + "title": "襄阳市", + "last": true, + "parentId": "002" + } + ] + }, + { + "id": "003", + "title": "广东省", + "parentId": "0", + "children": [{ + "id": "003001", + "title": "广州市", + "last": false, + "parentId": "003", + "children": [{ + "id": "003001001", + "title": "天河区", + "last": true, + "parentId": "003001" + }, + { + "id": "003001002", + "title": "花都区", + "last": true, + "parentId": "003001" + } + ] + }, + { + "id": "003002", + "title": "深圳市", + "last": true, + "parentId": "003" + }, + { + "id": "003003", + "title": "中山市", + "last": true, + "parentId": "003" + }, + { + "id": "003004", + "title": "东莞市", + "last": true, + "parentId": "003" + }, + { + "id": "003005", + "title": "珠海市", + "last": true, + "parentId": "003" + }, + { + "id": "003006", + "title": "韶关市", + "last": true, + "parentId": "003" + } + ] + }, + { + "id": "004", + "title": "浙江省", + "parentId": "0", + "children": [{ + "id": "004001", + "title": "杭州市", + "last": true, + "parentId": "004" + }, + { + "id": "004002", + "title": "温州市", + "last": true, + "parentId": "004" + }, + { + "id": "004003", + "title": "绍兴市", + "last": true, + "parentId": "004" + }, + { + "id": "004004", + "title": "金华市", + "last": true, + "parentId": "004" + }, + { + "id": "004005", + "title": "义乌市", + "last": true, + "parentId": "004" + } + ] + }, + { + "id": "005", + "title": "福建省", + "parentId": "0", + "children": [{ + "id": "005001", + "title": "厦门市", + "last": true, + "parentId": "005" + }] + } + ] +} diff --git a/src/plugin/admin/public/demos/data/loginLog.json b/src/plugin/admin/public/demos/data/loginLog.json new file mode 100644 index 0000000..eb39552 --- /dev/null +++ b/src/plugin/admin/public/demos/data/loginLog.json @@ -0,0 +1,211 @@ +{ + "createTime": null, + "createBy": null, + "updateTime": null, + "updateBy": null, + "remark": null, + "code": 0, + "msg": null, + "count": 167, + "data": [{ + "id": "1305106851892822016", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:31:36.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305101593019940864", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:10:42.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305101247900024832", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:09:20.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305099674977304576", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:03:05.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305095186061197312", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T10:45:15.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305092027951611904", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T10:32:42.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305082862634008576", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T09:56:16.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305071134877679616", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T09:09:40.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305070481803575296", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T09:07:05.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305064691009060864", + "title": "登录", + "description": "登录成功", + "businessType": "OTHER", + "requestMethod": "POST", + "method": "/login", + "operateUrl": "/login", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "LOGIN", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T08:44:04.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }] +} diff --git a/src/plugin/admin/public/demos/data/menu.json b/src/plugin/admin/public/demos/data/menu.json new file mode 100644 index 0000000..3a20b6e --- /dev/null +++ b/src/plugin/admin/public/demos/data/menu.json @@ -0,0 +1,444 @@ +[{ + "id": 1, + "title": "工作空间", + "icon": "layui-icon layui-icon-console", + "type": 0, + "href": "", + "children": [{ + "id": 10, + "title": "控制后台", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/console/console1.html" + }, { + "id": 13, + "title": "数据分析", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/console/console2.html" + }, { + "id": 14, + "title": "百度一下", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "http://www.bing.com" + }, { + "id": 15, + "title": "主题预览", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/system/theme.html" + }, { + "id": 16, + "title": "酸爽翻倍", + "icon": "layui-icon layui-icon-console", + "type": 1, + "openType": "_iframe", + "href": "view/document/core.html" + }] + }, + { + "id": "component", + "title": "常用组件", + "icon": "layui-icon layui-icon-component", + "type": 0, + "href": "", + "children": [{ + "id": 201, + "title": "基础组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [ + { + "id": 2011, + "title": "功能按钮", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/document/button.html" + }, { + "id": 2014, + "title": "表单集合", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/form.html" + }, { + "id": 2010, + "title": "字体图标", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/icon.html" + }, { + "id": 2012, + "title": "多选下拉", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/select.html" + }, { + "id": 2013, + "title": "动态标签", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/tag.html" + }] + }, { + "id": 203, + "title": "进阶组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2031, + "title": "数据表格", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/table.html" + }, { + "id": 2032, + "title": "分布表单", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/step.html" + }, { + "id": 2033, + "title": "树形表格", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/treetable.html" + }, { + "id": 2034, + "title": "树状结构", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/dtree.html" + }, { + "id": 2035, + "title": "文本编辑", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/tinymce.html" + }, { + "id": 2036, + "title": "卡片组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/card.html" + }] + }, { + "id": 202, + "title": "弹层组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2021, + "title": "抽屉组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/drawer.html" + }, { + "id": 2022, + "title": "消息通知 (过时)", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/notice.html" + }, { + "id": 2025, + "title": "消息通知 (新增)", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/toast.html" + }, { + "id": 2024, + "title": "加载组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/loading.html" + }, { + "id": 2023, + "title": "弹层组件", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/popup.html" + }] + },{ + "id": 60331, + "title": "高级组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 60131, + "title": "多选项卡", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/tab.html" + },{ + "id": 60132, + "title": "数据菜单", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/menu.html" + }] + }, { + "id": 204, + "title": "其他组件", + "icon": "layui-icon layui-icon-console", + "type": 0, + "children": [{ + "id": 2041, + "title": "哈希加密", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/encrypt.html" + }, + { + "id": 2042, + "title": "图标选择", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/iconPicker.html" + }, + { + "id": 2043, + "title": "省市级联", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/area.html" + }, + { + "id": 2044, + "title": "数字滚动", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/count.html" + }, + { + "id": 2045, + "title": "顶部返回", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/document/topBar.html" + }, + { + "id": 2046, + "title": "水印组件", + "type": 1, + "openType": "_iframe", + "href": "view/document/watermark.html" + }, + { + "id": 2047, + "title": "全屏组件", + "type": 1, + "openType": "_iframe", + "href": "view/document/fullscreen.html" + }, + { + "id": 2048, + "title": "汽泡组件", + "type": 1, + "openType": "_iframe", + "href": "view/document/popover.html" + } + ] + }] + }, + { + "id": "result", + "title": "结果页面", + "icon": "layui-icon layui-icon-auz", + "type": 0, + "href": "", + "children": [{ + "id": "success", + "title": "成功", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/result/success.html" + }, + { + "id": "failure", + "title": "失败", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/result/error.html" + } + ] + }, + { + "id": "error", + "title": "错误页面", + "icon": "layui-icon layui-icon-face-cry", + "type": 0, + "href": "", + "children": [{ + "id": 403, + "title": "403", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/error/403.html" + }, + { + "id": 404, + "title": "404", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/error/404.html" + }, + + { + "id": 500, + "title": "500", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/error/500.html" + } + + ] + }, + { + "id": "system", + "title": "系统管理", + "icon": "layui-icon layui-icon-set-fill", + "type": 0, + "href": "", + "children": [{ + "id": 601, + "title": "用户管理", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/system/user.html" + }, + { + "id": 602, + "title": "角色管理", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/role.html" + }, + + { + "id": 603, + "title": "权限管理", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/power.html" + }, + + { + "id": 604, + "title": "部门管理", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/deptment.html" + }, + { + "id": 605, + "title": "行为日志", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/log.html" + }, { + "id": 606, + "title": "数据字典", + "icon": "layui-icon layui-icon-face-cry", + "type": 1, + "openType": "_iframe", + "href": "view/system/dict.html" + } + + ] + }, + { + "id": "common", + "title": "常用页面", + "icon": "layui-icon layui-icon-template-1", + "type": 0, + "href": "", + "children": [{ + "id": 701, + "title": "登录页面", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "login.html" + }, { + "id": 702, + "title": "空白页面", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/system/space.html" + }] + }, { + "id": "echarts", + "title": "数据图表", + "icon": "layui-icon layui-icon-chart", + "type": 0, + "href": "", + "children": [{ + "id": 12121, + "title": "折线图", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/echarts/line.html" + }, { + "id": 121212, + "title": "柱状图", + "icon": "layui-icon layui-icon-face-smile", + "type": 1, + "openType": "_iframe", + "href": "view/echarts/column.html" + }] + }, + { + "id": "code", + "title": "开发工具", + "icon": "layui-icon layui-icon-util", + "type": 0, + "href": "", + "children": [{ + "id": 801, + "title": "表单构建", + "icon": "layui-icon layui-icon-util", + "type": 1, + "openType": "_iframe", + "href": "component/code/index.html" + }] + } +] \ No newline at end of file diff --git a/src/plugin/admin/public/demos/data/message.json b/src/plugin/admin/public/demos/data/message.json new file mode 100644 index 0000000..7cf9263 --- /dev/null +++ b/src/plugin/admin/public/demos/data/message.json @@ -0,0 +1,90 @@ +[{ + "id": 1, + "title": "通知", + "children": [{ + "id": 11, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", + "title": "你收到了 14 份新周报", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, { + "id": 12, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png", + "title": "曲妮妮 已通过第三轮面试", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, + { + "id": 11, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png", + "title": "可以区分多种通知类型", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, { + "id": 12, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png", + "title": "左侧图标用于区分不同的类型", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, + { + "id": 11, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", + "title": "内容不要超过两行字", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }] + }, + { + "id": 2, + "title": "消息", + "children": [{ + "id": 11, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", + "title": "你收到了 14 份新周报", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, { + "id": 12, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png", + "title": "曲妮妮 已通过第三轮面试", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, + { + "id": 11, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png", + "title": "可以区分多种通知类型", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, { + "id": 12, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png", + "title": "左侧图标用于区分不同的类型", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }, + { + "id": 11, + "avatar":"https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", + "title": "内容不要超过两行字", + "context": "这是消息内容。", + "form": "就眠仪式", + "time": "刚刚" + }] + }, + { + "id": 3, + "title": "代办", + "children": [] + } +] diff --git a/src/plugin/admin/public/demos/data/operateLog.json b/src/plugin/admin/public/demos/data/operateLog.json new file mode 100644 index 0000000..79e5454 --- /dev/null +++ b/src/plugin/admin/public/demos/data/operateLog.json @@ -0,0 +1,211 @@ +{ + "createTime": null, + "createBy": null, + "updateTime": null, + "updateBy": null, + "remark": null, + "code": 0, + "msg": null, + "count": 178, + "data": [{ + "id": "1305106857240559616", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:31:37.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305101599714050048", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:10:44.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305101253352620032", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:09:21.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305099681512030208", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T11:03:06.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305095191291494400", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T10:45:16.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305092034448588800", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T10:32:43.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305082868002717696", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T09:56:18.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305071141362073600", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T09:09:42.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305070488145362944", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T09:07:06.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }, { + "id": "1305064697174687744", + "title": "主页", + "description": "返回 Index 主页视图", + "businessType": "ADD", + "requestMethod": "GET", + "method": "/index", + "operateUrl": "/index", + "operateAddress": "127.0.0.1", + "requestParam": null, + "requestBody": "", + "responseBody": null, + "success": true, + "loggingType": "OPERATE", + "errorMsg": null, + "systemOs": "Windows", + "createTime": "2020-09-13T08:44:05.000+0000", + "operateName": "admin", + "map": {}, + "browser": "谷歌浏览器" + }] +} diff --git a/src/plugin/admin/public/demos/data/organization.json b/src/plugin/admin/public/demos/data/organization.json new file mode 100644 index 0000000..ff1626b --- /dev/null +++ b/src/plugin/admin/public/demos/data/organization.json @@ -0,0 +1,41 @@ +{ + "code": 0, + "msg": "...", + "count": 3, + "data": [{ + "name": "软件部", + "userCount": 324, + "location": "二楼201", + "leader": "皮卡丘" + }, { + "name": "美工部", + "userCount": 98, + "location": "二楼101", + "leader": "皮卡丘" + }, { + "name": "设计部", + "userCount": 43, + "location": "六楼602", + "leader": "皮卡丘" + }, { + "name": "销售部", + "userCount": 12, + "location": "一楼131", + "leader": "皮卡丘" + }, { + "name": "产品部", + "userCount": 128, + "location": "四楼401", + "leader": "皮卡丘" + }, { + "name": "财务部", + "userCount": 23, + "location": "三楼105", + "leader": "皮卡丘" + }, { + "name": "人事部", + "userCount": 67, + "location": "二楼201", + "leader": "皮卡丘" + }] +} diff --git a/src/plugin/admin/public/demos/data/organizationtree.json b/src/plugin/admin/public/demos/data/organizationtree.json new file mode 100644 index 0000000..262594f --- /dev/null +++ b/src/plugin/admin/public/demos/data/organizationtree.json @@ -0,0 +1,143 @@ +{ + "status": { + "code": 200, + "message": "操作成功" + }, + "data": [{ + "id": "0", + "title": "济南总部", + "last": false, + "parentId": "9527", + "children": [{ + "id": "001", + "title": "杭州市", + "last": false, + "parentId": "0", + "children": [{ + "id": "001001", + "title": "软件部", + "last": true, + "parentId": "001" + }, + { + "id": "001002", + "title": "销售部", + "last": true, + "parentId": "001" + }, + { + "id": "001003", + "title": "财务部", + "last": true, + "parentId": "001" + }, + { + "id": "001004", + "title": "人事部", + "last": true, + "parentId": "001" + }, + { + "id": "001005", + "title": "行政部", + "last": true, + "parentId": "001" + } + ] + }, + { + "id": "002", + "title": "湖北省", + "last": false, + "parentId": "0", + "children": [{ + "id": "002001", + "title": "武汉市", + "last": true, + "parentId": "002" + }, + { + "id": "002002", + "title": "黄冈市", + "last": true, + "parentId": "002" + }, + { + "id": "002003", + "title": "潜江市", + "last": true, + "parentId": "002" + }, + { + "id": "002004", + "title": "荆州市", + "last": true, + "parentId": "002" + }, + { + "id": "002005", + "title": "襄阳市", + "last": true, + "parentId": "002" + } + ] + }, + { + "id": "003", + "title": "广东省", + "last": false, + "parentId": "0", + "children": [{ + "id": "003001", + "title": "广州市", + "last": false, + "parentId": "003", + "children": [{ + "id": "003001001", + "title": "天河区", + "last": true, + "parentId": "003001" + }, + { + "id": "003001002", + "title": "花都区", + "last": true, + "parentId": "003001" + } + ] + }, + { + "id": "003002", + "title": "深圳市", + "last": true, + "parentId": "003" + }, + { + "id": "003003", + "title": "中山市", + "last": true, + "parentId": "003" + }, + { + "id": "003004", + "title": "东莞市", + "last": true, + "parentId": "003" + }, + { + "id": "003005", + "title": "珠海市", + "last": true, + "parentId": "003" + }, + { + "id": "003006", + "title": "韶关市", + "last": true, + "parentId": "003" + } + ] + } + ] + }] +} \ No newline at end of file diff --git a/src/plugin/admin/public/demos/data/power.json b/src/plugin/admin/public/demos/data/power.json new file mode 100644 index 0000000..db7ace1 --- /dev/null +++ b/src/plugin/admin/public/demos/data/power.json @@ -0,0 +1,185 @@ +{ + "code": 0, + "msg": "...", + "count": null, + "data": [{ + "powerId": "1", + "powerName": "系统管理", + "powerType": "0", + "powerCode": "", + "powerUrl": "", + "openType": null, + "parentId": "0", + "icon": "layui-icon-set-fill", + "sort": 1, + "enable": 1, + "checkArr": "0" + }, { + "powerId": "2", + "powerName": "用户管理", + "powerType": "1", + "powerCode": "sys:user:main", + "powerUrl": "/system/user/main", + "openType": null, + "parentId": "1", + "icon": "layui-icon-username", + "sort": null, + "enable": 1, + "checkArr": "0" + }, { + "powerId": "3", + "powerName": "角色管理", + "powerType": "1", + "powerCode": "sys:role:main", + "powerUrl": "/system/role/main", + "openType": null, + "parentId": "1", + "icon": "layui-icon-user", + "sort": null, + "enable": 1, + "checkArr": "0" + }, { + "powerId": "4", + "powerName": "权限管理", + "powerType": "1", + "powerCode": "sys:power:main", + "powerUrl": "/system/power/main", + "openType": null, + "parentId": "1", + "icon": "layui-icon-vercode", + "sort": null, + "checkArr": "0" + }, { + "powerId": "442359447487123456", + "powerName": "角色列表", + "powerType": "2", + "powerCode": "sys:role:data", + "powerUrl": "", + "openType": null, + "parentId": "3", + "icon": "layui-icon-rate", + "sort": 1, + "checkArr": "0" + }, { + "powerId": "442417411065516032", + "powerName": "敏捷开发", + "powerType": "0", + "powerCode": "", + "powerUrl": "", + "openType": null, + "parentId": "0", + "icon": "layui-icon-senior", + "sort": 2, + "checkArr": "0" + }, { + "powerId": "442418188639145984", + "powerName": "模板管理", + "powerType": "1", + "powerCode": "exp:template:main", + "powerUrl": "/system/user/main", + "openType": null, + "parentId": "442417411065516032", + "icon": "layui-icon-template-1", + "sort": null, + "checkArr": "0" + }, { + "powerId": "442520236248403968", + "powerName": "数据监控", + "powerType": "1", + "powerCode": "/druid/index.html", + "powerUrl": "/druid/index.html", + "openType": null, + "parentId": "694203021537574912", + "icon": "layui-icon-chart", + "sort": 1, + "checkArr": "0" + }, { + "powerId": "442650387514789888", + "powerName": "定时任务", + "powerType": "0", + "powerCode": "", + "powerUrl": "", + "openType": null, + "parentId": "0", + "icon": "layui-icon-log", + "sort": 5, + "checkArr": "0" + }, { + "powerId": "442650770626711552", + "powerName": "任务管理", + "powerType": "1", + "powerCode": "qrt:task:main", + "powerUrl": "/qrt/task/main", + "openType": null, + "parentId": "442650387514789888", + "icon": "layui-icon-chat", + "sort": 1, + "checkArr": "0" + }, { + "powerId": "442651158935375872", + "powerName": "任务日志", + "powerType": "1", + "powerCode": "qrt:log:main", + "powerUrl": "/qrt/log/main", + "openType": null, + "parentId": "442650387514789888", + "icon": "layui-icon-file", + "sort": 2, + "checkArr": "0" + }, { + "powerId": "442722702474743808", + "powerName": "数据字典", + "powerType": "1", + "powerCode": "system:dictType:main", + "powerUrl": "/system/dictType/main", + "openType": null, + "parentId": "1", + "icon": "layui-icon-form", + "sort": 1, + "checkArr": "0" + }, { + "powerId": "5", + "powerName": "工作流程", + "powerType": "0", + "powerCode": "", + "powerUrl": "", + "openType": null, + "parentId": "0", + "icon": "layui-icon-util", + "sort": 3, + "checkArr": "0" + }, { + "powerId": "6", + "powerName": "模型管理", + "powerType": "1", + "powerCode": null, + "powerUrl": null, + "openType": null, + "parentId": "5", + "icon": "layui-icon layui-icon-edit", + "sort": null, + "checkArr": "0" + }, { + "powerId": "694203021537574912", + "powerName": "系统监控", + "powerType": "0", + "powerCode": "", + "powerUrl": "", + "openType": null, + "parentId": "0", + "icon": "layui-icon-console", + "sort": 4, + "checkArr": "0" + }, { + "powerId": "694203311615639552", + "powerName": "接口文档", + "powerType": "1", + "powerCode": "", + "powerUrl": "/swagger-ui.html", + "openType": null, + "parentId": "694203021537574912", + "icon": "layui-icon-chart", + "sort": 1, + "checkArr": "0" + }] +} diff --git a/src/plugin/admin/public/demos/data/role.json b/src/plugin/admin/public/demos/data/role.json new file mode 100644 index 0000000..42bd064 --- /dev/null +++ b/src/plugin/admin/public/demos/data/role.json @@ -0,0 +1,42 @@ +{ + "code": 0, + "msg": "...", + "count": 3, + "data": [{ + "createTime": null, + "createBy": null, + "updateTime": null, + "updateBy": null, + "remark": null, + "roleId": "1", + "roleName": "超级管理员", + "roleCode": "admin", + "enable": "1", + "details": "超级管理员", + "checked": false + }, { + "createTime": null, + "createBy": null, + "updateTime": null, + "updateBy": null, + "remark": null, + "roleId": "2", + "roleName": "普通管理员", + "roleCode": "manager", + "enable": "0", + "details": "普通管理员", + "checked": false + }, { + "createTime": null, + "createBy": null, + "updateTime": null, + "updateBy": null, + "remark": null, + "roleId": "3", + "roleName": "普通用户", + "roleCode": "pearson", + "enable": "0", + "details": "普通用户", + "checked": false + }] +} diff --git a/src/plugin/admin/public/demos/data/table.json b/src/plugin/admin/public/demos/data/table.json new file mode 100644 index 0000000..8f14886 --- /dev/null +++ b/src/plugin/admin/public/demos/data/table.json @@ -0,0 +1,132 @@ +{ + "code": 0, + "msg": "...", + "count": 3, + "data": [{ + "userId": "1", + "username": "admin", + "password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG", + "salt": null, + "status": null, + "realName": "超级'管'理员", + "email": "854085'4@'qq.com", + "avatar": null, + "sex": "1", + "phone": "15543526531", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "2", + "username": "854085467", + "password": null, + "salt": null, + "status": null, + "realName": "就\"眠\"仪式", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "3", + "username": "970796069", + "password": null, + "salt": null, + "status": null, + "realName": "王二麻子", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "4", + "username": "admin", + "password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG", + "salt": null, + "status": null, + "realName": "超级管理员", + "email": "8540854@qq.com", + "avatar": null, + "sex": "1", + "phone": "15543526531", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "5", + "username": "854085467", + "password": null, + "salt": null, + "status": null, + "realName": "就眠仪式", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "6", + "username": "970796069", + "password": null, + "salt": null, + "status": null, + "realName": "王二麻子", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "7", + "username": "admin", + "password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG", + "salt": null, + "status": null, + "realName": "超级管理员", + "email": "8540854@qq.com", + "avatar": null, + "sex": "1", + "phone": "15543526531", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "8", + "username": "854085467", + "password": null, + "salt": null, + "status": null, + "realName": "就眠仪式", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "9", + "username": "970796069", + "password": null, + "salt": null, + "status": null, + "realName": "王二麻子", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }] +} diff --git a/src/plugin/admin/public/demos/data/user.json b/src/plugin/admin/public/demos/data/user.json new file mode 100644 index 0000000..2e927ac --- /dev/null +++ b/src/plugin/admin/public/demos/data/user.json @@ -0,0 +1,118 @@ +{ + "code": 0, + "msg": "...", + "count": 3, + "data": [{ + "userId": "1", + "username": "admin", + "password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG", + "salt": null, + "status": null, + "realName": "超级管理员", + "email": "8540854@qq.com", + "avatar": null, + "sex": "1", + "phone": "15543526531", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "442488661347536896", + "username": "854085467", + "password": null, + "salt": null, + "status": null, + "realName": "就眠仪式", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "0", + "login": "1", + "roleIds": null + }, { + "userId": "442492965651353600", + "username": "970796069", + "password": null, + "salt": null, + "status": null, + "realName": "王二麻子", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "1", + "username": "admin", + "password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG", + "salt": null, + "status": null, + "realName": "超级管理员", + "email": "8540854@qq.com", + "avatar": null, + "sex": "1", + "phone": "15543526531", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "442488661347536896", + "username": "854085467", + "password": null, + "salt": null, + "status": null, + "realName": "就眠仪式", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "442492965651353600", + "username": "970796069", + "password": null, + "salt": null, + "status": null, + "realName": "王二麻子", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "1", + "username": "admin", + "password": "$2a$10$1K7E1.IYCrsoZVCb6utOo.5jENtfOzhdKWhc49t2lk.UQd7Oam4FG", + "salt": null, + "status": null, + "realName": "超级管理员", + "email": "8540854@qq.com", + "avatar": null, + "sex": "1", + "phone": "15543526531", + "enable": "1", + "login": "1", + "roleIds": null + }, { + "userId": "442488661347536896", + "username": "854085467", + "password": null, + "salt": null, + "status": null, + "realName": "就眠仪式", + "email": null, + "avatar": null, + "sex": "1", + "phone": "1555324324234", + "enable": "1", + "login": "1", + "roleIds": null + }] +} diff --git a/src/plugin/admin/public/demos/demo/index.html b/src/plugin/admin/public/demos/demo/index.html new file mode 100644 index 0000000..5525c9b --- /dev/null +++ b/src/plugin/admin/public/demos/demo/index.html @@ -0,0 +1,66 @@ + + + + + + + + + +
+
+
+ +
+ + + + + diff --git a/src/plugin/admin/public/demos/document/area.html b/src/plugin/admin/public/demos/document/area.html new file mode 100644 index 0000000..87165f1 --- /dev/null +++ b/src/plugin/admin/public/demos/document/area.html @@ -0,0 +1,143 @@ + + + + + 区域选择 + + + +
+
+
+
开发环境
+
+ Area 省市级联 选择组件 +
+
+
+
+
+
+

显示代码

+
+
+							    <link rel="stylesheet" href="component/pear/css/pear.css" />
+							    并
+							    <script src="component/layui/layui.js"></script>
+						        并
+							    <script src="component/pear/pear.js"></script>
+							
+
+
+
+
+
+
+
+ 基本使用 +
+
+
+
+
网点地址
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+ 基本使用 +
+
+
+
+
网点地址
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+
+
+

显示代码

+
+
+							layui.use(['area'], function () {
+							    var area = layui.area;
+								 
+							    area.render({
+							        elem: '#area-picker',
+							        change: function (res) {
+							            console.log(res);
+							        }
+							    });
+							});
+						
+
+
+
+
+
+ + + + + + diff --git a/src/plugin/admin/public/demos/document/button.html b/src/plugin/admin/public/demos/document/button.html new file mode 100644 index 0000000..311e7b2 --- /dev/null +++ b/src/plugin/admin/public/demos/document/button.html @@ -0,0 +1,305 @@ + + + + + 按钮组件 + + + +
+
+
+
+ 开发环境 +
+
+ Pear Button 参考 Element UI 样式 ,提供 Button 服务 +
+
+
+
+
+
+

显示代码

+
+
+								<link rel="stylesheet" href="component/pear/css/pear.css" />
+								或
+								<link rel="stylesheet" href="component/pear/css/pear-module/button.css" />
+							
+
+
+
+
+
+
+
+ 简单使用 +
+
+    +    +
+
+    +    +    +
+
+
+
+
+
+

显示代码

+
+
+								
+								
+															
+								
+								
+							
+
+
+
+
+
+
+
+ 简约样式 +
+
+    +    +    +    +
+
+
+
+
+
+

显示代码

+
+
+								
+								
+															
+								
+								
+							
+
+
+
+
+
+
+
+ 按钮大小 +
+
+    +    +    +    +
+
+    +    +    +    +
+
+
+
+
+
+

显示代码

+
+
+								  
+								  
+								  
+								  
+							
+
+
+
+
+
+
+
+
+
+ 按钮组 +
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+
+
+
+

显示代码

+
+
+								
+ + + +
+
+
+
+
+
+
+
+
+ Load 自动 +
+
+ +
+
+
+
+
+
+

显示代码

+
+
+								layui.use(["button"], function() {
+								    var button = layui.button;
+								    
+									button.load({
+								        elem:'[load]',
+								        time: 600,
+								        done: function(){
+									        popup.success("加载完成");
+								        }
+								    })
+								})
+							
+
+
+
+
+
+
+
+ Load 手动 +
+
+ + + + +
+
+
+
+
+
+

显示代码

+
+
+								layui.use(["button"], function() {
+								    var button = layui.button;
+								    
+									var dom = button.load({
+								        elem:'[load]',
+								    })
+									
+								    dom.stop(function() {
+								        popup.failure("已停止");
+								    });
+								})
+							
+
+
+
+
+
+
+
+ 本页跳转 +
+
+ +
+
+
+
+
+
+

显示代码

+
+
+								layui.use(["jquery"], function() {
+								    var $ = layui.jquery;
+								    
+								    $("[to]").click(function(){
+								        top.layui.frame.changePageByElement("content","http://www.baidu.com","百度一下",true)
+								    })
+								})
+							
+
+
+
+
+
+ + + + + diff --git a/src/plugin/admin/public/demos/document/card.html b/src/plugin/admin/public/demos/document/card.html new file mode 100644 index 0000000..08ff0fb --- /dev/null +++ b/src/plugin/admin/public/demos/document/card.html @@ -0,0 +1,78 @@ + + + + + 数据卡片 + + + +
+
+
+
+ +
+ +
+ +
+ +
+
+ + + +
+
+
+
+
+
+ + + + + diff --git a/src/plugin/admin/public/demos/document/core.html b/src/plugin/admin/public/demos/document/core.html new file mode 100644 index 0000000..1c81d15 --- /dev/null +++ b/src/plugin/admin/public/demos/document/core.html @@ -0,0 +1,219 @@ + + + + + 数据卡片 + + + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
方法描述参数备注
admin.collapseSide侧边收缩无模式限制
admin.refreshThis刷新当前无模式限制
admin.refresh刷新指定id: 编号仅限 TAB 模式
admin.addTab新增卡片id:编号,title:标题,url:路径仅限 TAB 模式
admin.changeTabTitle修改标题id:编号,title:标题仅限 TAB 模式
admin.closeTab关闭卡片id:编号仅限 TAB 模式
admin.closeCurrentTab关闭当前仅限 TAB 模式
admin.closeAllTab关闭所有仅限 TAB 模式
admin.closeOtherTab关闭其他仅限 TAB 模式
admin.changeIframe切换页面id:编号,title:标题,url:路径仅限 IFRAME 模式
admin.jump兼容切换id:编号,title:标题,url:路径无模式限制
admin.fullScreen全屏模式无模式限制
+
+
+ + + + + diff --git a/src/plugin/admin/public/demos/document/count.html b/src/plugin/admin/public/demos/document/count.html new file mode 100644 index 0000000..39f93de --- /dev/null +++ b/src/plugin/admin/public/demos/document/count.html @@ -0,0 +1,124 @@ + + + + + 数字滚动 + + + +
+
+
+
+ 开发环境 +
+
+ Pear Count 数据滚动特效 +
+
+
+
+
+
+

显示代码

+
+
+								<script src="component/layui/layui.js"></script>
+								 并
+								<script src="component/pear/pear.js"></script>
+							
+
+
+
+
+
+
+
+ 简单使用 +
+
+

0

+
+
+
+
+
+
+

显示代码

+
+
+								layui.use(['count'], function() {
+								    var count = layui.count;
+									
+								    count.up("number1", {
+								        time: 8000,
+								        num: 4540.34,
+								        regulator: 100
+								    })
+								})
+							
+
+
+
+
+
+
+
+ 保留小数 +
+
+

0

+
+
+
+
+
+
+

显示代码

+
+
+							layui.use(['count'], function() {
+							    var count = layui.count;
+								
+							    count.up("number2", {
+							        time: 8000,
+							        num: 4540.34,
+							        bit: 2,
+							        regulator: 100
+							    })
+							})
+						
+
+
+
+
+
+ + + + + + + + diff --git a/src/plugin/admin/public/demos/document/drawer.html b/src/plugin/admin/public/demos/document/drawer.html new file mode 100644 index 0000000..a97e4d0 --- /dev/null +++ b/src/plugin/admin/public/demos/document/drawer.html @@ -0,0 +1,597 @@ + + + + + 抽屉组件 + + + + +
+
+
+
开发环境
+
+ Drawer 在 弹出层 UI 上带来不一样的体验. +
+
+
+
+
+
+

显示代码

+
+
+								<script src="component/layui/layui.js"></script>
+								 并
+								<script src="component/pear/pear.js"></script>
+							
+
+
+
+
+
+
+
抽屉
+
+ + + + +
+
+
+
+
+
+

显示代码

+
+
+								layui.use(['drawer'], function() {
+									var drawer = layui.drawer;
+
+								    drawer.open({
+								        direction: "right",
+								        dom: ".layer-top",
+								        distance: "30%"
+								    });
+								})
+							
+
+
+
+
+
+
+
进阶
+
+ +
+
+
+
+
+
+

显示代码

+
+
+								var dom;
+
+								$(".drawer-close-mask").click(function() {
+								    dom = drawer.open({
+								        direction: "right",
+								        dom: ".layer-close-mask",
+								        distance: "30%",
+								        maskClose: false
+								    });
+								})
+
+								$("#btnClose").click(function() {
+								    dom.close();
+								})
+
+							
+
+
+
+
+
+
+
扩展
+
+ +
+
+
+
+
+
+

显示代码

+
+
+								layui.use(['drawer'], function() {
+									var drawer = layui.drawer;
+
+								    $(".drawer-auto-close").click(function() {
+								        dom = drawer.open({
+								            direction: "right",
+								            dom: ".layer-auto-close",
+								            distance: "30%",
+								            maskClose: false,
+								            time: 1000
+								        });
+								    })
+								})
+							
+
+
+
+
+
+
+
扩展
+
+ +
+
+
+
+
+
+

显示代码

+
+
+								layui.use(['drawer'], function() {
+									var drawer = layui.drawer;
+
+								    $(".drawer-auto-close").click(function() {
+								        dom = drawer.open({
+								            direction: "right",
+								            dom: ".layer-auto-close",
+								            distance: "30%",
+								            success:function(){
+								                layer.msg("触发回调函数");
+								            }
+								        });
+								    })
+								})
+							
+
+
+
+
+ +
+
+
扩展
+
+
+ +
+
+
+
+
+
+
+

显示代码

+
+
+									layui.use(['drawer'], function() {
+									  var drawer = layui.drawer;
+									    $("#targetDemo").click(function () {
+									      drawer.open({
+									      // 指定挂载节点
+									      target: "#targetEl"
+									      direction: "right",
+									      dom: ".layer-right",
+									      distance: "50%",
+									      });
+									})
+							
+
+
+
+
+ +
+
+
基于 layer 的抽屉扩展
+
+

兼容原版 drawer 所有参数,要使用 layer 扩展,设置 legacy 选项为 false 即可

+ + + + + + + + +
+ +
+
指定容器内打开,需使用 layer 捕获层模式,并设置目标容器 style="overflow: hidden; + position: relative;"
+
+ 使用 url 参数指定抽屉代码片段地址,会使用 ajax 请求将代码片段拼接到抽屉中,和原来的页面在同一个页面上, 传值更方便。注意片段和原页面不能出现相同的 ID。 +
+
+
+
+
+
+
+

显示代码

+
+
+											$("#layerDrawerLeft").click(function(){
+											  drawer.open({
+											    legacy: false,
+											    offset: 'l',
+											    area: "30%",
+											    content: "left内容",
+											  })
+											})
+											$("#layerDrawerRight").click(function () {
+											  drawer.open({
+											    legacy: false,
+											    offset: 'r',
+											    area: "30%",
+											    content: "right内容",
+											  })
+											})
+											$("#layerDrawerTop").click(function () {
+											  drawer.open({
+											    legacy: false,
+										      offset: "t",
+											    content: "top内容",
+											  })
+											})
+											$("#layerDrawerBottom").click(function () {
+											  drawer.open({
+											    legacy: false,
+											    offset: "b",
+											    content: "bottom内容",
+											  })
+											})
+
+											$("#layerDrawer").click(function () {
+											  var index = drawer.open({
+											    legacy: false,
+											    title: ['标题', 'font-size:16px;color:#2d8cf0'],
+											    maxmin: true,
+											    offset: "r",
+											    area: "30%",
+											    content: "抽屉内容",
+											    btn:"关闭",
+											    yes:function(index,layero){
+											      drawer.close(index);
+											      console.log(index,layero);
+											    },
+											    btnAlign: "l",
+											    closeBtn: 1,
+											  })
+											})
+
+											$("#layerDrawerParent").click(function () {
+
+											  var index = parent.layui.drawer.open({
+												    legacy: false,
+												    title: ['标题', 'font-size:16px;color:#2d8cf0'],
+												    maxmin: true,
+												    offset: "r",
+												    area: "30%",
+												    content: "抽屉内容",
+												    btn:"关闭",
+												    yes:function(index,layero){
+												      drawer.close(index);
+												      console.log(index,layero);
+												    },
+												    btnAlign: "l",
+												    closeBtn: 1,
+												})
+											})
+
+											$("#layertargetDemo").click(function () {
+											    drawer.open({
+											    legacy: false,
+											    target: "#layertargetEl",
+											    direction: "right",
+											    dom: ".layer-right",
+											    distance: "50%",
+											    });
+											})
+
+											$("#layerDrawerIframe").click(function () {
+											  drawer.open({
+											  legacy: false,
+											  title: ['用户管理', 'font-size:16px;color:#2d8cf0'],
+											  offset: 'r',
+											  area: "80%",
+											   maxmin: true,
+											   closeBtn: 1,
+											   iframe: window.location.origin + "/view/document/table.html"
+											  })
+											})
+
+											$("#layerDrawerURL").click(function () {
+											   drawer.open({
+										     legacy: false,
+										     title: ['用户管理', 'font-size:16px;color:#2d8cf0'],
+											   offset: 'r',
+											   area: "80%",
+											   maxmin: true,
+											   closeBtn: 1,
+											   url: window.location.origin + "/view/document/drawerFragment.html"
+											   })
+											})
+							
+
+
+
+
+
+ + + + + + + + + + + + + + + + diff --git a/src/plugin/admin/public/demos/document/drawerFragment.html b/src/plugin/admin/public/demos/document/drawerFragment.html new file mode 100644 index 0000000..0630bb8 --- /dev/null +++ b/src/plugin/admin/public/demos/document/drawerFragment.html @@ -0,0 +1,385 @@ + +
+
+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + + + + diff --git a/src/plugin/admin/public/demos/document/dtree.html b/src/plugin/admin/public/demos/document/dtree.html new file mode 100644 index 0000000..2560b2f --- /dev/null +++ b/src/plugin/admin/public/demos/document/dtree.html @@ -0,0 +1,165 @@ + + + + + 树形结构 + + + +
+
+
+
开发环境
+
Dtree 提供 树状态 的数据结构展示
+
+
+
+
+
+

显示代码

+
+
+								<link href="component/pear/css/pear.css" rel="stylesheet" />
+								 并
+								<script src="component/layui/layui.js"></script>
+								 并
+								<script src="component/pear/pear.js"></script>
+							
+
+
+
+
+
+
+
+ 嵌套数据格式 +
+
+
    +
    +
    +
    +
    +
    +
    +

    显示代码

    +
    +
    +								layui.use(['dtree'], function () {
    +								    dtree = layui.dtree;
    +								 
    +								    dtree.render({
    +								        elem: "#demoTree",
    +								        initLevel: "1",
    +								        method: 'get',
    +								        url: "admin/data/dtree.json"
    +								    });
    +								});
    +							
    +
    +
    +
    +
    +
    +
    +
    + 嵌套数据格式 +
    +
    +
      +
      +
      +
      +
      +
      +
      +

      显示代码

      +
      +
      +								layui.use(['dtree'], function () {
      +								    dtree = layui.dtree;
      +								 
      +								    dtree.render({
      +								        elem: "#demoTree",
      +								        initLevel: "1",
      +								        method: 'get',
      +								        url: "admin/data/dtree.json",
      +								        dataFormat: "list", 
      +								        checkbar: true
      +								    });
      +								});
      +							
      +
      +
      +
      +
      +
      +
      +
      + 下拉树 +
      +
      +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['dtree'], function () {
        +								    dtree = layui.dtree;
        +								 
        +								    dtree.render({
        +								        elem: "#demoTree2",
        +								        initLevel: "1",
        +								        method: 'get',
        +								        url: "admin/data/dtree.json",
        +								        select: true
        +								    });
        +								});
        +							
        +
        +
        +
        +
        +
        + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/document/encrypt.html b/src/plugin/admin/public/demos/document/encrypt.html new file mode 100644 index 0000000..e6054f3 --- /dev/null +++ b/src/plugin/admin/public/demos/document/encrypt.html @@ -0,0 +1,160 @@ + + + + + 哈希加密 + + + +
        +
        +
        +
        + 开发环境 +
        +
        + Pear encrypt 为前端开发 提供 加密服务 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        加密操作
        +
        +
        +
        + +
        +
        + +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        加密结果
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['encrypt'], function() {
        +									var encrypt = layui.encrypt;
        +								
        +								    encrypt.md5( str );
        +									
        +								    encrypt.sha1( str );
        +									
        +								    encrypt.sha256( str );
        +								})
        +							
        +
        +
        +
        +
        +
        +
        +
        API 文档
        +
        +
        + encrypt.md5( str ) -- MD5加密 +
        +
        + encrypt.sha1( str ) -- SHA1加密 +
        +
        + encrypt.sha256( str ) -- SHA256加密 +
        +
        + encrypt.sha512( str ) -- SHA512加密 +
        +
        + encrypt.rmd160( str ) -- RMD160加密 +
        +
        + encrypt.crc32( str ) -- CRC32加密 +
        +
        + encrypt.Base64Encode( str ) -- BASE64加密 +
        +
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/form.html b/src/plugin/admin/public/demos/document/form.html new file mode 100644 index 0000000..0ce7861 --- /dev/null +++ b/src/plugin/admin/public/demos/document/form.html @@ -0,0 +1,180 @@ + + + + + + 表单页面 + + + +
        +
        +
        +
        开发环境
        +
        + Pear 基于 Form 的基础上扩展样式 +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link rel="stylesheet" href="component/pear/css/pear.css" />
        +								 或
        +								<link rel="stylesheet" href="component/pear/css/pear-module/form.css" />
        +							
        +
        +
        +
        +
        +
        输入框
        +
        +
        + +
        +
        + +
        +
        + +
        +
        +
        +
        +
        下拉选择框
        +
        +
        + +
        +
        + +
        +
        + +
        +
        + +
        +
        + +
        +
        +
        +
        +
        复选框
        +
        +
        + + + + +
        +
        +
        +
        +
        +
        +
        扩展样式
        +
        +
        + +
        +
        + +
        +
        + +
        + +
        +
        +
        +
        文本域
        +
        +
        + +
        +
        +
        +
        +
        开关
        +
        +
        +    +    +    +    +
        +
        +
        +
        +
        单选框
        +
        +
        + + + +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/fullscreen.html b/src/plugin/admin/public/demos/document/fullscreen.html new file mode 100644 index 0000000..adade74 --- /dev/null +++ b/src/plugin/admin/public/demos/document/fullscreen.html @@ -0,0 +1,126 @@ + + + + + 全屏组件 + + + + +
        +
        +
        +
        开发环境
        +
        + fullscreen 用于控制页面或元素全屏 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +                <link rel="stylesheet" href="component/pear/css/pear.css" />
        +                 并
        +                <script src="component/layui/layui.js"></script>
        +                 并
        +                <script src="component/pear/pear.js"></script>
        +            
        +
        +
        +
        +
        +
        +
        +
        全屏控制
        +
        + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +				layui.use(['fullscreen'], function() {
        +    var fullscreen = layui.fullscreen;
        +     fullscreen.fullScreen();
        +	    fullscreen.fullClose();
        +	    fullscreen.fullScreen("#fulltarget");
        +	    fullscreen.isFullscreen();
        +
        +			})
        +			
        +
        +
        +
        +
        +
        +
        +
        指定容器全屏
        +
        +
        + + +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/icon.html b/src/plugin/admin/public/demos/document/icon.html new file mode 100644 index 0000000..de00094 --- /dev/null +++ b/src/plugin/admin/public/demos/document/icon.html @@ -0,0 +1,2195 @@ + + + + + 图标列表 + + + + + + + + + + +
        + +
        +
        +
          + +
        • + +
          加载
          +
          &#xe6f0;
          +
        • + +
        • + +
          download
          +
          &#xe68d;
          +
        • + +
        • + +
          electronics
          +
          &#xe68e;
          +
        • + +
        • + +
          drag
          +
          &#xe68f;
          +
        • + +
        • + +
          elipsis
          +
          &#xe690;
          +
        • + +
        • + +
          export
          +
          &#xe691;
          +
        • + +
        • + +
          explain
          +
          &#xe692;
          +
        • + +
        • + +
          edit
          +
          &#xe693;
          +
        • + +
        • + +
          eye-close
          +
          &#xe694;
          +
        • + +
        • + +
          email
          +
          &#xe695;
          +
        • + +
        • + +
          error
          +
          &#xe696;
          +
        • + +
        • + +
          favorite
          +
          &#xe697;
          +
        • + +
        • + +
          file-common
          +
          &#xe698;
          +
        • + +
        • + +
          file-delete
          +
          &#xe699;
          +
        • + +
        • + +
          file-add
          +
          &#xe69a;
          +
        • + +
        • + +
          film
          +
          &#xe69b;
          +
        • + +
        • + +
          fabulous
          +
          &#xe69c;
          +
        • + +
        • + +
          file
          +
          &#xe69d;
          +
        • + +
        • + +
          folder-close
          +
          &#xe69e;
          +
        • + +
        • + +
          filter
          +
          &#xe69f;
          +
        • + +
        • + +
          good
          +
          &#xe6a0;
          +
        • + +
        • + +
          hide
          +
          &#xe6a1;
          +
        • + +
        • + +
          home
          +
          &#xe6a2;
          +
        • + +
        • + +
          history
          +
          &#xe6a3;
          +
        • + +
        • + +
          file-open
          +
          &#xe6a4;
          +
        • + +
        • + +
          forward
          +
          &#xe6a5;
          +
        • + +
        • + +
          import
          +
          &#xe6a6;
          +
        • + +
        • + +
          image-text
          +
          &#xe6a7;
          +
        • + +
        • + +
          keyboard-26
          +
          &#xe6a8;
          +
        • + +
        • + +
          keyboard-9
          +
          &#xe6a9;
          +
        • + +
        • + +
          link
          +
          &#xe6aa;
          +
        • + +
        • + +
          layout
          +
          &#xe6ab;
          +
        • + +
        • + +
          fullscreen-shrink
          +
          &#xe6ac;
          +
        • + +
        • + +
          layers
          +
          &#xe6ad;
          +
        • + +
        • + +
          lock
          +
          &#xe6ae;
          +
        • + +
        • + +
          fullscreen-expand
          +
          &#xe6af;
          +
        • + +
        • + +
          map
          +
          &#xe6b0;
          +
        • + +
        • + +
          meh
          +
          &#xe6b1;
          +
        • + +
        • + +
          menu
          +
          &#xe6b2;
          +
        • + +
        • + +
          loading
          +
          &#xe6b3;
          +
        • + +
        • + +
          help
          +
          &#xe6b4;
          +
        • + +
        • + +
          minus-circle
          +
          &#xe6b5;
          +
        • + +
        • + +
          modular
          +
          &#xe6b6;
          +
        • + +
        • + +
          notification
          +
          &#xe6b7;
          +
        • + +
        • + +
          mic
          +
          &#xe6b8;
          +
        • + +
        • + +
          more
          +
          &#xe6b9;
          +
        • + +
        • + +
          pad
          +
          &#xe6ba;
          +
        • + +
        • + +
          operation
          +
          &#xe6bb;
          +
        • + +
        • + +
          play
          +
          &#xe6bc;
          +
        • + +
        • + +
          print
          +
          &#xe6bd;
          +
        • + +
        • + +
          mobile-phone
          +
          &#xe6be;
          +
        • + +
        • + +
          minus
          +
          &#xe6bf;
          +
        • + +
        • + +
          navigation
          +
          &#xe6c0;
          +
        • + +
        • + +
          pdf
          +
          &#xe6c1;
          +
        • + +
        • + +
          prompt
          +
          &#xe6c2;
          +
        • + +
        • + +
          move
          +
          &#xe6c3;
          +
        • + +
        • + +
          refresh
          +
          &#xe6c4;
          +
        • + +
        • + +
          run-up
          +
          &#xe6c5;
          +
        • + +
        • + +
          picture
          +
          &#xe6c6;
          +
        • + +
        • + +
          run-in
          +
          &#xe6c7;
          +
        • + +
        • + +
          pin
          +
          &#xe6c8;
          +
        • + +
        • + +
          save
          +
          &#xe6c9;
          +
        • + +
        • + +
          search
          +
          &#xe6ca;
          +
        • + +
        • + +
          share
          +
          &#xe6cb;
          +
        • + +
        • + +
          scanning
          +
          &#xe6cc;
          +
        • + +
        • + +
          security
          +
          &#xe6cd;
          +
        • + +
        • + +
          sign-out
          +
          &#xe6ce;
          +
        • + +
        • + +
          select
          +
          &#xe6cf;
          +
        • + +
        • + +
          stop
          +
          &#xe6d0;
          +
        • + +
        • + +
          success
          +
          &#xe6d1;
          +
        • + +
        • + +
          smile
          +
          &#xe6d2;
          +
        • + +
        • + +
          switch
          +
          &#xe6d3;
          +
        • + +
        • + +
          setting
          +
          &#xe6d4;
          +
        • + +
        • + +
          survey
          +
          &#xe6d5;
          +
        • + +
        • + +
          task
          +
          &#xe6d6;
          +
        • + +
        • + +
          skip
          +
          &#xe6d7;
          +
        • + +
        • + +
          text
          +
          &#xe6d8;
          +
        • + +
        • + +
          time
          +
          &#xe6d9;
          +
        • + +
        • + +
          telephone-out
          +
          &#xe6da;
          +
        • + +
        • + +
          toggle-left
          +
          &#xe6db;
          +
        • + +
        • + +
          toggle-right
          +
          &#xe6dc;
          +
        • + +
        • + +
          telephone
          +
          &#xe6dd;
          +
        • + +
        • + +
          top
          +
          &#xe6de;
          +
        • + +
        • + +
          unlock
          +
          &#xe6df;
          +
        • + +
        • + +
          user
          +
          &#xe6e0;
          +
        • + +
        • + +
          upload
          +
          &#xe6e1;
          +
        • + +
        • + +
          work
          +
          &#xe6e2;
          +
        • + +
        • + +
          training
          +
          &#xe6e3;
          +
        • + +
        • + +
          warning
          +
          &#xe6e4;
          +
        • + +
        • + +
          zoom-in
          +
          &#xe6e5;
          +
        • + +
        • + +
          zoom-out
          +
          &#xe6e6;
          +
        • + +
        • + +
          add-bold
          +
          &#xe6e7;
          +
        • + +
        • + +
          arrow-left-bold
          +
          &#xe6e8;
          +
        • + +
        • + +
          arrow-up-bold
          +
          &#xe6e9;
          +
        • + +
        • + +
          close-bold
          +
          &#xe6ea;
          +
        • + +
        • + +
          arrow-down-bold
          +
          &#xe6eb;
          +
        • + +
        • + +
          minus-bold
          +
          &#xe6ec;
          +
        • + +
        • + +
          arrow-right-bold
          +
          &#xe6ed;
          +
        • + +
        • + +
          select-bold
          +
          &#xe6ee;
          +
        • + +
        • + +
          column-3
          +
          &#xe663;
          +
        • + +
        • + +
          column-4
          +
          &#xe664;
          +
        • + +
        • + +
          add
          +
          &#xe665;
          +
        • + +
        • + +
          add-circle
          +
          &#xe666;
          +
        • + +
        • + +
          adjust
          +
          &#xe667;
          +
        • + +
        • + +
          arrow-up-circle
          +
          &#xe668;
          +
        • + +
        • + +
          arrow-right-circle
          +
          &#xe669;
          +
        • + +
        • + +
          arrow-down
          +
          &#xe66a;
          +
        • + +
        • + +
          ashbin
          +
          &#xe66b;
          +
        • + +
        • + +
          arrow-right
          +
          &#xe66c;
          +
        • + +
        • + +
          browse
          +
          &#xe66d;
          +
        • + +
        • + +
          bottom
          +
          &#xe66e;
          +
        • + +
        • + +
          back
          +
          &#xe66f;
          +
        • + +
        • + +
          bad
          +
          &#xe670;
          +
        • + +
        • + +
          arrow-double-left
          +
          &#xe671;
          +
        • + +
        • + +
          arrow-left-circle
          +
          &#xe672;
          +
        • + +
        • + +
          arrow-double-right
          +
          &#xe673;
          +
        • + +
        • + +
          caps-lock
          +
          &#xe674;
          +
        • + +
        • + +
          camera
          +
          &#xe675;
          +
        • + +
        • + +
          chart-bar
          +
          &#xe676;
          +
        • + +
        • + +
          attachment
          +
          &#xe677;
          +
        • + +
        • + +
          code
          +
          &#xe678;
          +
        • + +
        • + +
          close
          +
          &#xe679;
          +
        • + +
        • + +
          check-item
          +
          &#xe67a;
          +
        • + +
        • + +
          calendar
          +
          &#xe67b;
          +
        • + +
        • + +
          comment
          +
          &#xe67c;
          +
        • + +
        • + +
          column-vertical
          +
          &#xe67d;
          +
        • + +
        • + +
          column-horizontal
          +
          &#xe67e;
          +
        • + +
        • + +
          complete
          +
          &#xe67f;
          +
        • + +
        • + +
          chart-pie
          +
          &#xe680;
          +
        • + +
        • + +
          cry
          +
          &#xe681;
          +
        • + +
        • + +
          customer-service
          +
          &#xe682;
          +
        • + +
        • + +
          delete
          +
          &#xe683;
          +
        • + +
        • + +
          direction-down
          +
          &#xe684;
          +
        • + +
        • + +
          copy
          +
          &#xe685;
          +
        • + +
        • + +
          cut
          +
          &#xe686;
          +
        • + +
        • + +
          data-view
          +
          &#xe687;
          +
        • + +
        • + +
          direction-down-circle
          +
          &#xe688;
          +
        • + +
        • + +
          direction-right
          +
          &#xe689;
          +
        • + +
        • + +
          direction-up
          +
          &#xe68a;
          +
        • + +
        • + +
          discount
          +
          &#xe68b;
          +
        • + +
        • + +
          direction-left
          +
          &#xe68c;
          +
        • +
        +
        +
        +
          + +
        • + +
          + 加载 +
          +
          .pear-icon-load +
          +
        • + +
        • + +
          + download +
          +
          .pear-icon-download +
          +
        • + +
        • + +
          + electronics +
          +
          .pear-icon-electronics +
          +
        • + +
        • + +
          + drag +
          +
          .pear-icon-drag +
          +
        • + +
        • + +
          + elipsis +
          +
          .pear-icon-elipsis +
          +
        • + +
        • + +
          + export +
          +
          .pear-icon-export +
          +
        • + +
        • + +
          + explain +
          +
          .pear-icon-explain +
          +
        • + +
        • + +
          + edit +
          +
          .pear-icon-edit +
          +
        • + +
        • + +
          + eye-close +
          +
          .pear-icon-eye-close +
          +
        • + +
        • + +
          + email +
          +
          .pear-icon-email +
          +
        • + +
        • + +
          + error +
          +
          .pear-icon-error +
          +
        • + +
        • + +
          + favorite +
          +
          .pear-icon-favorite +
          +
        • + +
        • + +
          + file-common +
          +
          .pear-icon-file-common +
          +
        • + +
        • + +
          + file-delete +
          +
          .pear-icon-file-delete +
          +
        • + +
        • + +
          + file-add +
          +
          .pear-icon-file-add +
          +
        • + +
        • + +
          + film +
          +
          .pear-icon-film +
          +
        • + +
        • + +
          + fabulous +
          +
          .pear-icon-fabulous +
          +
        • + +
        • + +
          + file +
          +
          .pear-icon-file +
          +
        • + +
        • + +
          + folder-close +
          +
          .pear-icon-folder-close +
          +
        • + +
        • + +
          + filter +
          +
          .pear-icon-filter +
          +
        • + +
        • + +
          + good +
          +
          .pear-icon-good +
          +
        • + +
        • + +
          + hide +
          +
          .pear-icon-hide +
          +
        • + +
        • + +
          + home +
          +
          .pear-icon-home +
          +
        • + +
        • + +
          + history +
          +
          .pear-icon-history +
          +
        • + +
        • + +
          + file-open +
          +
          .pear-icon-file-open +
          +
        • + +
        • + +
          + forward +
          +
          .pear-icon-forward +
          +
        • + +
        • + +
          + import +
          +
          .pear-icon-import +
          +
        • + +
        • + +
          + image-text +
          +
          .pear-icon-image-text +
          +
        • + +
        • + +
          + keyboard-26 +
          +
          .pear-icon-keyboard-26 +
          +
        • + +
        • + +
          + keyboard-9 +
          +
          .pear-icon-keyboard-9 +
          +
        • + +
        • + +
          + link +
          +
          .pear-icon-link +
          +
        • + +
        • + +
          + layout +
          +
          .pear-icon-layout +
          +
        • + +
        • + +
          + fullscreen-shrink +
          +
          .pear-icon-fullscreen-shrink +
          +
        • + +
        • + +
          + layers +
          +
          .pear-icon-layers +
          +
        • + +
        • + +
          + lock +
          +
          .pear-icon-lock +
          +
        • + +
        • + +
          + fullscreen-expand +
          +
          .pear-icon-fullscreen-expand +
          +
        • + +
        • + +
          + map +
          +
          .pear-icon-map +
          +
        • + +
        • + +
          + meh +
          +
          .pear-icon-meh +
          +
        • + +
        • + +
          + menu +
          +
          .pear-icon-menu +
          +
        • + +
        • + +
          + loading +
          +
          .pear-icon-loading +
          +
        • + +
        • + +
          + help +
          +
          .pear-icon-help +
          +
        • + +
        • + +
          + minus-circle +
          +
          .pear-icon-minus-circle +
          +
        • + +
        • + +
          + modular +
          +
          .pear-icon-modular +
          +
        • + +
        • + +
          + notification +
          +
          .pear-icon-notification +
          +
        • + +
        • + +
          + mic +
          +
          .pear-icon-mic +
          +
        • + +
        • + +
          + more +
          +
          .pear-icon-more +
          +
        • + +
        • + +
          + pad +
          +
          .pear-icon-pad +
          +
        • + +
        • + +
          + operation +
          +
          .pear-icon-operation +
          +
        • + +
        • + +
          + play +
          +
          .pear-icon-play +
          +
        • + +
        • + +
          + print +
          +
          .pear-icon-print +
          +
        • + +
        • + +
          + mobile-phone +
          +
          .pear-icon-mobile-phone +
          +
        • + +
        • + +
          + minus +
          +
          .pear-icon-minus +
          +
        • + +
        • + +
          + navigation +
          +
          .pear-icon-navigation +
          +
        • + +
        • + +
          + pdf +
          +
          .pear-icon-pdf +
          +
        • + +
        • + +
          + prompt +
          +
          .pear-icon-prompt +
          +
        • + +
        • + +
          + move +
          +
          .pear-icon-move +
          +
        • + +
        • + +
          + refresh +
          +
          .pear-icon-refresh +
          +
        • + +
        • + +
          + run-up +
          +
          .pear-icon-run-up +
          +
        • + +
        • + +
          + picture +
          +
          .pear-icon-picture +
          +
        • + +
        • + +
          + run-in +
          +
          .pear-icon-run-in +
          +
        • + +
        • + +
          + pin +
          +
          .pear-icon-pin +
          +
        • + +
        • + +
          + save +
          +
          .pear-icon-save +
          +
        • + +
        • + +
          + search +
          +
          .pear-icon-search +
          +
        • + +
        • + +
          + share +
          +
          .pear-icon-share +
          +
        • + +
        • + +
          + scanning +
          +
          .pear-icon-scanning +
          +
        • + +
        • + +
          + security +
          +
          .pear-icon-security +
          +
        • + +
        • + +
          + sign-out +
          +
          .pear-icon-sign-out +
          +
        • + +
        • + +
          + select +
          +
          .pear-icon-select +
          +
        • + +
        • + +
          + stop +
          +
          .pear-icon-stop +
          +
        • + +
        • + +
          + success +
          +
          .pear-icon-success +
          +
        • + +
        • + +
          + smile +
          +
          .pear-icon-smile +
          +
        • + +
        • + +
          + switch +
          +
          .pear-icon-switch +
          +
        • + +
        • + +
          + setting +
          +
          .pear-icon-setting +
          +
        • + +
        • + +
          + survey +
          +
          .pear-icon-survey +
          +
        • + +
        • + +
          + task +
          +
          .pear-icon-task +
          +
        • + +
        • + +
          + skip +
          +
          .pear-icon-skip +
          +
        • + +
        • + +
          + text +
          +
          .pear-icon-text +
          +
        • + +
        • + +
          + time +
          +
          .pear-icon-time +
          +
        • + +
        • + +
          + telephone-out +
          +
          .pear-icon-telephone-out +
          +
        • + +
        • + +
          + toggle-left +
          +
          .pear-icon-toggle-left +
          +
        • + +
        • + +
          + toggle-right +
          +
          .pear-icon-toggle-right +
          +
        • + +
        • + +
          + telephone +
          +
          .pear-icon-telephone +
          +
        • + +
        • + +
          + top +
          +
          .pear-icon-top +
          +
        • + +
        • + +
          + unlock +
          +
          .pear-icon-unlock +
          +
        • + +
        • + +
          + user +
          +
          .pear-icon-user +
          +
        • + +
        • + +
          + upload +
          +
          .pear-icon-upload +
          +
        • + +
        • + +
          + work +
          +
          .pear-icon-work +
          +
        • + +
        • + +
          + training +
          +
          .pear-icon-training +
          +
        • + +
        • + +
          + warning +
          +
          .pear-icon-warning +
          +
        • + +
        • + +
          + zoom-in +
          +
          .pear-icon-zoom-in +
          +
        • + +
        • + +
          + zoom-out +
          +
          .pear-icon-zoom-out +
          +
        • + +
        • + +
          + add-bold +
          +
          .pear-icon-add-bold +
          +
        • + +
        • + +
          + arrow-left-bold +
          +
          .pear-icon-arrow-left-bold +
          +
        • + +
        • + +
          + arrow-up-bold +
          +
          .pear-icon-arrow-up-bold +
          +
        • + +
        • + +
          + close-bold +
          +
          .pear-icon-close-bold +
          +
        • + +
        • + +
          + arrow-down-bold +
          +
          .pear-icon-arrow-down-bold +
          +
        • + +
        • + +
          + minus-bold +
          +
          .pear-icon-minus-bold +
          +
        • + +
        • + +
          + arrow-right-bold +
          +
          .pear-icon-arrow-right-bold +
          +
        • + +
        • + +
          + select-bold +
          +
          .pear-icon-select-bold +
          +
        • + +
        • + +
          + column-3 +
          +
          .pear-icon-3column +
          +
        • + +
        • + +
          + column-4 +
          +
          .pear-icon-column-4 +
          +
        • + +
        • + +
          + add +
          +
          .pear-icon-add +
          +
        • + +
        • + +
          + add-circle +
          +
          .pear-icon-add-circle +
          +
        • + +
        • + +
          + adjust +
          +
          .pear-icon-adjust +
          +
        • + +
        • + +
          + arrow-up-circle +
          +
          .pear-icon-arrow-up-circle +
          +
        • + +
        • + +
          + arrow-right-circle +
          +
          .pear-icon-arrow-right-circle +
          +
        • + +
        • + +
          + arrow-down +
          +
          .pear-icon-arrow-down +
          +
        • + +
        • + +
          + ashbin +
          +
          .pear-icon-ashbin +
          +
        • + +
        • + +
          + arrow-right +
          +
          .pear-icon-arrow-right +
          +
        • + +
        • + +
          + browse +
          +
          .pear-icon-browse +
          +
        • + +
        • + +
          + bottom +
          +
          .pear-icon-bottom +
          +
        • + +
        • + +
          + back +
          +
          .pear-icon-back +
          +
        • + +
        • + +
          + bad +
          +
          .pear-icon-bad +
          +
        • + +
        • + +
          + arrow-double-left +
          +
          .pear-icon-arrow-double-left +
          +
        • + +
        • + +
          + arrow-left-circle +
          +
          .pear-icon-arrow-left-circle +
          +
        • + +
        • + +
          + arrow-double-right +
          +
          .pear-icon-arrow-double-right +
          +
        • + +
        • + +
          + caps-lock +
          +
          .pear-icon-caps-lock +
          +
        • + +
        • + +
          + camera +
          +
          .pear-icon-camera +
          +
        • + +
        • + +
          + chart-bar +
          +
          .pear-icon-chart-bar +
          +
        • + +
        • + +
          + attachment +
          +
          .pear-icon-attachment +
          +
        • + +
        • + +
          + code +
          +
          .pear-icon-code +
          +
        • + +
        • + +
          + close +
          +
          .pear-icon-close +
          +
        • + +
        • + +
          + check-item +
          +
          .pear-icon-check-item +
          +
        • + +
        • + +
          + calendar +
          +
          .pear-icon-calendar +
          +
        • + +
        • + +
          + comment +
          +
          .pear-icon-comment +
          +
        • + +
        • + +
          + column-vertical +
          +
          .pear-icon-column-vertical +
          +
        • + +
        • + +
          + column-horizontal +
          +
          .pear-icon-column-horizontal +
          +
        • + +
        • + +
          + complete +
          +
          .pear-icon-complete +
          +
        • + +
        • + +
          + chart-pie +
          +
          .pear-icon-chart-pie +
          +
        • + +
        • + +
          + cry +
          +
          .pear-icon-cry +
          +
        • + +
        • + +
          + customer-service +
          +
          .pear-icon-customer-service +
          +
        • + +
        • + +
          + delete +
          +
          .pear-icon-delete +
          +
        • + +
        • + +
          + direction-down +
          +
          .pear-icon-direction-down +
          +
        • + +
        • + +
          + copy +
          +
          .pear-icon-copy +
          +
        • + +
        • + +
          + cut +
          +
          .pear-icon-cut +
          +
        • + +
        • + +
          + data-view +
          +
          .pear-icon-data-view +
          +
        • + +
        • + +
          + direction-down-circle +
          +
          .pear-icon-direction-down-circle +
          +
        • + +
        • + +
          + direction-right +
          +
          .pear-icon-direction-right +
          +
        • + +
        • + +
          + direction-up +
          +
          .pear-icon-direction-up +
          +
        • + +
        • + +
          + discount +
          +
          .pear-icon-discount +
          +
        • + +
        • + +
          + direction-left +
          +
          .pear-icon-direction-left +
          +
        • + +
        + +
        +
        + + +
        + +
        +
        + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/document/iconPicker.html b/src/plugin/admin/public/demos/document/iconPicker.html new file mode 100644 index 0000000..2c7e926 --- /dev/null +++ b/src/plugin/admin/public/demos/document/iconPicker.html @@ -0,0 +1,244 @@ + + + + + + + Document + + + +
        +
        +
        +
        开发环境
        +
        + IconPicker 提供图标选择功能 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link rel="stylesheet" href="component/pear/css/pear.css" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        + 默认图标 +
        +
        +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['iconPicker'], function() {
        +								    var iconPicker = layui.iconPicker;
        +								
        +								    iconPicker.render({
        +								        elem: '#iconPicker',
        +								        type: 'fontClass',
        +								        search: true,
        +								        page: true,
        +								        limit: 16,
        +								        click: function(data) {
        +								           console.log(data);
        +								        },
        +								        success: function(d) {
        +								            console.log(d);
        +								        }
        +								    });
        +									
        +								});
        +							
        +
        +
        +
        +
        +
        +
        +
        默认选中
        +
        +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['iconPicker'], function() {
        +								    var iconPicker = layui.iconPicker;
        +								
        +								    iconPicker.render({
        +								        elem: '#iconPicker2',
        +								        type: 'fontClass',
        +								        search: true,
        +								        page: true,
        +								        limit: 16,
        +								        click: function(data) {
        +								           console.log(data);
        +								        },
        +								        success: function(d) {
        +								            console.log(d);
        +								        }
        +								    });
        +									
        +								});
        +							
        +
        +
        +
        +
        +
        +
        +
        不分页
        +
        +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['iconPicker'], function() {
        +								    var iconPicker = layui.iconPicker;
        +								
        +								    iconPicker.render({
        +								        elem: '#iconPicker',
        +								        type: 'fontClass',
        +								        search: true,
        +								        page: false,
        +								        limit: 16,
        +								        click: function(data) {
        +								           console.log(data);
        +								        },
        +								        success: function(d) {
        +								            console.log(d);
        +								        }
        +								    });
        +									
        +								});
        +							
        +
        +
        +
        +
        +
        + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/document/loading.html b/src/plugin/admin/public/demos/document/loading.html new file mode 100644 index 0000000..9140e9d --- /dev/null +++ b/src/plugin/admin/public/demos/document/loading.html @@ -0,0 +1,174 @@ + + + + + 加载组件 + + + + +
        +
        加载组件
        +
        +
        + loading.Load(1,message); +
        +
        + loading.Load(2,message); +
        +
        + loading.Load(3,message); +
        +
        + loading.Load(4,message); +
        +
        + loading.Load(5,message); +
        +
        + loading.remove(time); +
        +
        +
        + + + + + +
        +
        + +
        +
        加载组件
        +
        + + + + + + + + +
        + +
        +
        + +
        + +
        + + + + + + diff --git a/src/plugin/admin/public/demos/document/menu.html b/src/plugin/admin/public/demos/document/menu.html new file mode 100644 index 0000000..49e9272 --- /dev/null +++ b/src/plugin/admin/public/demos/document/menu.html @@ -0,0 +1,115 @@ + + + + + 数据菜单 + + + +
        +
        +
        +
        开发环境
        +
        + Menu 数据菜单对普通菜单的深度封装 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link rel="stylesheet" href="component/pear/css/pear.css" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        实例
        +
        + +
        +
        +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        +								var sideMenu = menu.render({
        +								    elem: 'sideMenu',
        +								    async: true,
        +								    theme: "light-theme",
        +								    height: '300px',
        +								    control: false, 
        +								    defaultMenu: 0,
        +								    accordion: true,
        +								    url: "../../demos/data/menu.json",
        +								    parseData: false,
        +								    done: function() {
        +								        layer.msg("加载完成")
        +								    }
        +								});
        +								
        +								sideMenu.click(function(dom, data) {
        +								    
        +									layer.msg("菜单点击 : " + JSON.stringify(data));
        +								})
        +						
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/notice.html b/src/plugin/admin/public/demos/document/notice.html new file mode 100644 index 0000000..81c4200 --- /dev/null +++ b/src/plugin/admin/public/demos/document/notice.html @@ -0,0 +1,148 @@ + + + + + + + 通知组件 + + + +
        +
        +
        +
        +
        开发环境
        +
        + Notice 用于 消息通知 场景 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									<link rel="stylesheet" href="component/pear/css/pear.css" />
        +									 或
        +									<link rel="stylesheet" href="component/pear/css/pear-module/notice.css" />
        +									 并
        +									<script src="component/layui/layui.js"></script>
        +									 并
        +									<script src="component/pear/pear.js"></script>
        +								
        +
        +
        +
        +
        +
        +
        +
        消息提醒
        +
        +
        + notice.success("成功消息") +
        +
        + notice.error("危险消息") +
        +
        + notice.warning("警告消息") +
        +
        + notice.info("通用消息") +
        +
        +
        + + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['notice', 'jquery', 'layer', 'code'], function() {
        +									    var notice = layui.notice;
        +										                         
        +									    notice.success("成功消息")
        +									    notice.error("危险消息")
        +									    notice.warning("警告消息")
        +									    notice.info("通用消息")
        +									})
        +								
        +
        +
        +
        +
        +
        +
        +
        + 消息移除 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['notice', 'jquery', 'layer', 'code'], function() {
        +									    var notice = layui.notice;
        +										                         
        +									    notice.clear();
        +									})
        +								
        +
        +
        +
        +
        +
        +
        + + + + + + diff --git a/src/plugin/admin/public/demos/document/popover.html b/src/plugin/admin/public/demos/document/popover.html new file mode 100644 index 0000000..bb192fb --- /dev/null +++ b/src/plugin/admin/public/demos/document/popover.html @@ -0,0 +1,227 @@ + + + + + + + 汽泡组件 + + + +
        +
        +
        +
        +
        开发环境
        +
        + popover 用于 汽泡显示 场景 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +                            <link rel="stylesheet" href="component/pear/css/pear.css" />
        +                             并
        +                            <script src="component/layui/layui.js"></script>
        +                             并
        +                            <script src="component/pear/pear.js"></script>
        +                        
        +
        +
        +
        +
        +
        +
        +
        汽泡控制
        +
        + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['popover', 'jquery', 'layer', 'code'], function() {
        +									   var popover = layui.popover;
        +    popover.show('#el1');
        +    popover.hide('#el1'); //或 $('#el1').webuiPopover('hide');
        +
        +
        +									})
        +								
        +
        +
        +
        +
        +
        +
        +
        + 不同方式 +
        +
        + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['toast', 'jquery', 'layer', 'code'], function() {
        +									    var popover = layui.popover;
        +    popover.create('#el1',{title:' hello popover-manual',content:'这里显示内容',trigger:'manual',placement:'auto',
        +        animation:'pop',
        +        closeable:true,
        +        delay: {
        +            //show and hide delay time of the popover, works only when trigger is 'hover',the value can be number or object
        +            show: null,
        +            hide: 100
        +        },
        +        opacity:0.98,
        +        type:'html',//content type, values:'html','iframe','async'
        +    });
        +
        +									})
        +								
        +
        +
        +
        +
        +
        +
        +
        + 隐藏 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['popover', 'jquery', 'layer', 'code'], function() {
        +									    var popover = layui.popover;
        +									    popover.hideAll();
        +									})
        +								
        +
        +
        +
        +
        +
        +
        + + + + + + diff --git a/src/plugin/admin/public/demos/document/popup.html b/src/plugin/admin/public/demos/document/popup.html new file mode 100644 index 0000000..d996023 --- /dev/null +++ b/src/plugin/admin/public/demos/document/popup.html @@ -0,0 +1,127 @@ + + + + + 封装弹窗 + + + +
        +
        +
        +
        开发环境
        +
        + Popup 基于 Layer 的 二次封装, 提供简洁高效的 API 调用 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link rel="stylesheet" href="component/pear/css/pear.css" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        提示消息
        +
        + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['popup'], function() {
        +								    var popup = layui.popup;
        +								  
        +								    popup.success("成功消息")
        +								    popup.failure("失败消息")
        +								    popup.warning("警告消息")
        +								})
        +							
        +
        +
        +
        +
        +
        +
        +
        回调函数
        +
        + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['popup'], function() {
        +								    var popup = layui.popup;
        +								  
        +								    popup.success("成功消息",callback)
        +								    popup.failure("失败消息",callback)
        +								    popup.warning("警告消息",callback)
        +								})
        +							
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/select.html b/src/plugin/admin/public/demos/document/select.html new file mode 100644 index 0000000..e22feb6 --- /dev/null +++ b/src/plugin/admin/public/demos/document/select.html @@ -0,0 +1,218 @@ + + + + + 多选组件 + + + +
        +
        +
        +
        + 开发环境 +
        +
        + Select 应用于 多选 场景 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link href="component/pear/css/pear.css" rel="stylesheet" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        + 默认主题 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +      								
        +      							
        +
        +
        +
        +
        +
        +
        +
        + 绿色主题 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        +							
        +
        +
        +
        +
        +
        +
        +
        + 通用主题 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        +							
        +
        +
        +
        +
        +
        +
        +
        + 警告主题 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        +							
        +
        +
        +
        +
        +
        +
        +
        + 危险主题 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        +							
        +
        +
        +
        +
        +
        + + + + + + diff --git a/src/plugin/admin/public/demos/document/step.html b/src/plugin/admin/public/demos/document/step.html new file mode 100644 index 0000000..f1647c4 --- /dev/null +++ b/src/plugin/admin/public/demos/document/step.html @@ -0,0 +1,256 @@ + + + + + 分布表单 + + + +
        +
        +
        +
        开发环境
        +
        Step 步骤表单
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link rel="stylesheet" href="component/pear/css/pear.css" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +		                        layui.use(['form', 'step','element'], function() {
        +		                            var $ = layui.$,
        +		                            form = layui.form,
        +		                            step = layui.step;
        +		                            
        +		                            step.render({
        +		                                elem: '#stepForm',
        +		                                filter: 'stepForm',
        +		                                width: '100%',
        +		                                stepWidth: '600px',
        +		                                height: '500px',
        +		                                stepItems: [{
        +		                                    title: '填写'
        +		                                }, {
        +		                                    title: '确认'
        +		                                }, {
        +		                                    title: '完成'
        +		                                }]
        +		                            });
        +		                         
        +		                            form.on('submit(formStep)', function(data) {
        +		                                step.next('#stepForm');
        +		                                return false;
        +		                            });
        +		                         
        +		                            form.on('submit(formStep2)', function(data) {
        +		                                step.next('#stepForm');
        +		                                return false;
        +		                            });
        +		                         
        +		                            $('.pre').click(function() {
        +		                                step.pre('#stepForm');
        +		                                return false;
        +		                            });
        +		                         
        +		                            $('.next').click(function() {
        +		                                step.next('#stepForm');
        +		                                return false;
        +		                            });
        +		                        })
        +							
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/tab.html b/src/plugin/admin/public/demos/document/tab.html new file mode 100644 index 0000000..f6fcd05 --- /dev/null +++ b/src/plugin/admin/public/demos/document/tab.html @@ -0,0 +1,152 @@ + + + + + 多选项卡 + + + +
        +
        +
        +
        开发环境
        +
        + Tab.js 是一个多视图组件,你可在任何地方内嵌它,并执行常用操作,Admin 正式使用该组件进行路由切换 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +							    <link rel="stylesheet" href="component/pear/css/pear.css" />
        +							    并
        +							    <script src="component/layui/layui.js"></script>
        +							    并
        +							    <script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        + 常用操作 +
        +
        + + + +
        +
        +
        +
        +
        +
        + 基本使用 +
        +
        + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        +								tab.render({
        +								    elem: 'contents',
        +								    roll: false,
        +								    tool: false,
        +								    width: '100%',
        +								    height: '480px',
        +								    index: 0,
        +								    tabMax: 30,
        +								    closeEvent: function(id) {
        +										
        +								        // do something
        +								    },
        +								    data: [{
        +								        id: "1",
        +								        title: "首页",
        +								        url: "http://www.baidu.com",
        +								        close: false
        +								    },{
        +								        id: "2",
        +								        title: "百度一下",
        +								        url: "http://www.baidu.com",
        +								        close: false
        +								    }]
        +								});
        +								
        +								
        +						
        +
        +
        +
        +
        +
        + + + + + + diff --git a/src/plugin/admin/public/demos/document/tabContent.html b/src/plugin/admin/public/demos/document/tabContent.html new file mode 100644 index 0000000..d01129b --- /dev/null +++ b/src/plugin/admin/public/demos/document/tabContent.html @@ -0,0 +1,38 @@ + + + + + 多选项卡内容 + + + +
        +
        +
        + + +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/table.html b/src/plugin/admin/public/demos/document/table.html new file mode 100644 index 0000000..8785c32 --- /dev/null +++ b/src/plugin/admin/public/demos/document/table.html @@ -0,0 +1,412 @@ + + + + + + 数据表格 + + + + + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + + +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + + + + + + + + + + + + +
        +
        +
        +

        上侧弹层内容...

        +
        +
        + + + + + + + diff --git a/src/plugin/admin/public/demos/document/tag.html b/src/plugin/admin/public/demos/document/tag.html new file mode 100644 index 0000000..e6478bb --- /dev/null +++ b/src/plugin/admin/public/demos/document/tag.html @@ -0,0 +1,265 @@ + + + + + 标签组件 + + + + + + +
        +
        +
        +
        开发环境
        +
        + Tag 标签组件 +
        +
        +
        + +
        +
        +
        +

        显示代码

        +
        +
        +								<link rel="stylesheet" href="component/pear/css/pear.css" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        主题风格
        +
        +
        + + + + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +							
        + + + + +
        +
        +
        +
        +
        +
        +
        +
        +
        动态操作
        +
        +
        + + + + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								tag.add('demo', {text: '新选项',id: 12})
        +								 
        +								tag.delete('demo', '44');
        +							
        +
        +
        +
        +
        +
        +
        +
        圆角风格
        +
        +
        + + + + + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        + + + + + +
        +
        +
        +
        +
        +
        +
        +
        +
        删除功能
        +
        +
        + + + + + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								
        + + + + +
        + + tag.on('delete(demo)', function(data) { + console.log('删除'); + console.log(this); + console.log(data.index); + console.log(data.elem); + console.log(data.othis); + }); +
        +
        +
        +
        +
        +
        +
        +
        新建功能
        +
        +
        + + + + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +							
        + + + + +
        + + tag.on('add(demo)', function(data) { + console.log('新建'); + console.log(this); + console.log(data.index); + console.log(data.elem); + }); +
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/tinymce.html b/src/plugin/admin/public/demos/document/tinymce.html new file mode 100644 index 0000000..9ba01e5 --- /dev/null +++ b/src/plugin/admin/public/demos/document/tinymce.html @@ -0,0 +1,93 @@ + + + + + + 文本编辑 + + + +
        +
        +
        +
        + 开发环境 +
        +
        + Tinymce 文本编辑器 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								<link href="component/pear/css/pear.css" rel="stylesheet" />
        +								 并
        +								<script src="component/layui/layui.js"></script>
        +								 并
        +								<script src="component/pear/pear.js"></script>
        +							
        +
        +
        +
        +
        +
        +
        +
        富文本编辑器
        +
        + +
        + +
        +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['tinymce'], function() {
        +								    var tinymce = layui.tinymce
        +								
        +								    var edit = tinymce.render({
        +								        elem: "#edit",
        +								        height: 400
        +								    });
        +									
        +								    edit.getContent()
        +								});
        +							
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/document/toast.html b/src/plugin/admin/public/demos/document/toast.html new file mode 100644 index 0000000..eb276cd --- /dev/null +++ b/src/plugin/admin/public/demos/document/toast.html @@ -0,0 +1,291 @@ + + + + + + + 通知组件 + + + +
        +
        +
        +
        +
        开发环境
        +
        + toast 用于 消息通知 场景 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									<link rel="stylesheet" href="component/pear/css/pear.css" />
        +									 或
        +									<link rel="stylesheet" href="component/pear/css/pear-module/toast.css" />
        +									 并
        +									<script src="component/layui/layui.js"></script>
        +									 并
        +									<script src="component/pear/pear.js"></script>
        +								
        +
        +
        +
        +
        +
        +
        +
        消息提醒
        +
        +
        + toast.success({title:"成功消息",message:"消息描述"}) +
        +
        + toast.error({title:"危险消息",message:"消息描述"}) +
        +
        + toast.warning({title:"警告消息",message:"消息描述"}) +
        +
        + toast.info({title:"通知消息",message:"消息描述"}) +
        +
        +
        + + + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['toast', 'jquery', 'layer', 'code'], function() {
        +									    var toast = layui.toast;
        +										                         
        +									    toast.success({title: 'Caution',message: 'You forgot important data',position: 'topRight'});
        +									    
        +										toast.info({title: 'Caution',message: 'You forgot important data',position: 'topRight'});
        +									    
        +										toast.warning({title: 'Caution',message: 'You forgot important data',position: 'topRight'});
        +									    
        +										toast.error({title: 'Caution',message: 'You forgot important data',position: 'topRight'});
        +									    
        +										toast.question({title: 'Caution',message: 'You forgot important data',position: 'topRight'});
        +									})
        +								
        +
        +
        +
        +
        +
        +
        +
        + 不同位置 +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['toast', 'jquery', 'layer', 'code'], function() {
        +									    var toast = layui.toast;
        +										                         
        +									    $(".toast-top-left-btn").click(function(){
        +									        toast.success({title: 'Caution',message: 'You forgot important data',position: 'topLeft'});
        +									    })
        +									    $(".toast-top-center-btn").click(function(){
        +									        toast.success({title: 'Caution',message: 'You forgot important data',position: 'topCenter'});
        +									    })
        +									    $(".toast-top-right-btn").click(function(){
        +									        toast.success({title: 'Caution',message: 'You forgot important data',position: 'topRight'});
        +									    })
        +									    $(".toast-bottom-left-btn").click(function(){
        +									        toast.success({title: 'Caution',message: 'You forgot important data',position: 'bottomLeft'});
        +									    })
        +									    $(".toast-bottom-center-btn").click(function(){
        +									        toast.success({title: 'Caution',message: 'You forgot important data',position: 'bottomCenter'});
        +									    })
        +									    $(".toast-bottom-right-btn").click(function(){
        +									        toast.success({title: 'Caution',message: 'You forgot important data',position: 'bottomRight'});
        +									    })
        +									})
        +								
        +
        +
        +
        +
        +
        +
        +
        + 消息移除 +
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +									layui.use(['toast', 'jquery', 'layer', 'code'], function() {
        +									    var toast = layui.toast;
        +										                         
        +									    toast.destroy();
        +									})
        +								
        +
        +
        +
        +
        +
        +
        + + + + + + diff --git a/src/plugin/admin/public/demos/document/topBar.html b/src/plugin/admin/public/demos/document/topBar.html new file mode 100644 index 0000000..b1a4cf0 --- /dev/null +++ b/src/plugin/admin/public/demos/document/topBar.html @@ -0,0 +1,279 @@ + + + + + 回到顶部 + + + + + + + +
        +
        + +
        +
        动态
        +
        +
        +
        +
        +
        +

        七彩枫叶 在 Pear Admin 专区 回答问题

        + 几秒前 +
        +
        +
        +
        +
        +

        简 在 Pear Admin 专区 进行了 提问

        + 2天前 +
        +
        +
        +
        +
        +

        恒宇少年 将 Pear Admin 更新至 2.3.0 版本

        + 7天前 +
        +
        +
        +
        +
        +

        如花 在 Pear Admin 社区 发布了 建议

        + 7天前 +
        +
        +
        +
        +
        +

        就眠仪式 在 Pear Admin 社区 发布了 建议

        + 8天前 +
        +
        +
        +
        +
        +

        贤心 在 Pear Admin 专区 进行了 提问

        + 8天前 +
        +
        +
        +
        +
        +

        七彩枫叶 在 Pear Admin 专区 回答问题

        + 几秒前 +
        +
        +
        +
        +
        +

        简 在 Pear Admin 专区 进行了 提问

        + 2天前 +
        +
        +
        +
        +
        +

        恒宇少年 将 Pear Admin 更新至 2.3.0 版本

        + 7天前 +
        +
        +
        +
        +
        +

        如花 在 Pear Admin 社区 发布了 建议

        + 7天前 +
        +
        +
        +
        +
        +

        就眠仪式 在 Pear Admin 社区 发布了 建议

        + 8天前 +
        +
        +
        +
        +
        +

        贤心 在 Pear Admin 专区 进行了 提问

        + 8天前 +
        +
        +
        +
        +
        +

        七彩枫叶 在 Pear Admin 专区 回答问题

        + 几秒前 +
        +
        +
        +
        +
        +

        简 在 Pear Admin 专区 进行了 提问

        + 2天前 +
        +
        +
        +
        +
        +

        恒宇少年 将 Pear Admin 更新至 2.3.0 版本

        + 7天前 +
        +
        +
        +
        +
        +

        如花 在 Pear Admin 社区 发布了 建议

        + 7天前 +
        +
        +
        +
        +
        +

        就眠仪式 在 Pear Admin 社区 发布了 建议

        + 8天前 +
        +
        +
        +
        +
        +

        贤心 在 Pear Admin 专区 进行了 提问

        + 8天前 +
        +
        +
        +
        +
        +

        七彩枫叶 在 Pear Admin 专区 回答问题

        + 几秒前 +
        +
        +
        +
        +
        +

        简 在 Pear Admin 专区 进行了 提问

        + 2天前 +
        +
        +
        +
        +
        +

        恒宇少年 将 Pear Admin 更新至 2.3.0 版本

        + 7天前 +
        +
        +
        +
        +
        +

        如花 在 Pear Admin 社区 发布了 建议

        + 7天前 +
        +
        +
        +
        +
        +

        就眠仪式 在 Pear Admin 社区 发布了 建议

        + 8天前 +
        +
        +
        +
        +
        +

        次等水货 在 Pear Admin 专区 进行了 提问

        + 8天前 +
        +
        +
        +
        +
        +

        七彩枫叶 在 Pear Admin 专区 回答问题

        + 几秒前 +
        +
        +
        +
        +
        +

        简 在 Pear Admin 专区 进行了 提问

        + 2天前 +
        +
        +
        +
        +
        +

        恒宇少年 将 Pear Admin 更新至 2.3.0 版本

        + 7天前 +
        +
        +
        +
        +
        +

        如花 在 Pear Admin 社区 发布了 建议

        + 7天前 +
        +
        +
        +
        +
        +

        就眠仪式 在 Pear Admin 社区 发布了 建议

        + 8天前 +
        +
        +
        +
        +
        +

        微笑刺客 在 Pear Admin 专区 进行了 提问

        + 8天前 +
        +
        +
        +
        +
        +
        + +
        + + + + + + + diff --git a/src/plugin/admin/public/demos/document/treetable.html b/src/plugin/admin/public/demos/document/treetable.html new file mode 100644 index 0000000..3fdbd05 --- /dev/null +++ b/src/plugin/admin/public/demos/document/treetable.html @@ -0,0 +1,235 @@ + + + + + 树形表格 + + + +
        +
        +
        +
        + +
        + +
        + + +
        +
        +
        +
        + +
        +
        +
        +
        +
        + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/document/watermark.html b/src/plugin/admin/public/demos/document/watermark.html new file mode 100644 index 0000000..a4562e0 --- /dev/null +++ b/src/plugin/admin/public/demos/document/watermark.html @@ -0,0 +1,161 @@ + + + + + 水印组件 + + + +
        +
        +
        +
        开发环境
        +
        + watermark 用于水印叠加 +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +                        <link rel="stylesheet" href="component/pear/css/pear.css" />
        +                         并
        +                        <script src="component/layui/layui.js"></script>
        +                         并
        +                        <script src="component/pear/pear.js"></script>
        +                    
        +
        +
        +
        +
        +
        +
        +
        水印创建
        +
        + + + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['watermark'], function() {
        +								    var watermark = layui.watermark;
        +
        +    var mark_node=new watermark({
        +        content: "单行水印"
        +    });
        +
        +    new watermark({
        +        content: "多行水印1
        多行水印2", + height:40 + }); + + new watermark({ + content: "指定容器上", + appendTo:'#water_div', + }); + + }) +
        +
        +
        +
        +
        +
        +
        +
        指定容器水印
        +
        +
        + +
        +
        +
        +
        +
        +
        +
        移除水印
        +
        + +
        +
        +
        +
        +
        +
        +

        显示代码

        +
        +
        +								layui.use(['watermark'], function() {
        +								    var popup = layui.popup;
        +                                    mark_node.destroy();
        +								})
        +							
        +
        +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/echarts/column.html b/src/plugin/admin/public/demos/echarts/column.html new file mode 100644 index 0000000..44bcb27 --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/column.html @@ -0,0 +1,47 @@ + + + + + 条状图表 + + + + +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + + + + + + + diff --git a/src/plugin/admin/public/demos/echarts/line.html b/src/plugin/admin/public/demos/echarts/line.html new file mode 100644 index 0000000..1b5c9cc --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/line.html @@ -0,0 +1,47 @@ + + + + + 折线图表 + + + + +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + + + + + + + diff --git a/src/plugin/admin/public/demos/echarts/script/column1.js b/src/plugin/admin/public/demos/echarts/script/column1.js new file mode 100644 index 0000000..db5e817 --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/column1.js @@ -0,0 +1,137 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + var column1 = echarts.init(document.getElementById('column1'),null, { + width: 600, + height: 400 + }); +option = { + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'shadow' , + color: '#fff', + fontSize: '26' + } + }, + legend: { + top:'5%', + right:'10%', + data: ['猕猴桃', '香蕉'], + fontSize:12, + color:'#808080', + icon:'rect' + }, + grid: { + top:60, + left:50, + bottom:60, + right:60 + }, + xAxis: [{ + type: 'category', + axisTick:{ + show:false + }, + axisLine:{ + show:false + }, + axisLabel:{ + color:'#4D4D4D', + fontSize:14, + margin:21, + fontWeight:'bold' + }, + data: ['第一周', '第二周', '第三周', '第四周'], + + }], + yAxis: [{ + name:'单位:万', + nameTextStyle:{ + color:'#808080', + fontSize:12, + padding:[0, 0, 0, -5] + }, + max: function(value) { + if(value.max<5){ + return 5 + }else{ + return value.max + } + }, + type: 'value', + axisLine:{ + show:false + }, + axisLabel:{ + color:'#808080', + fontSize:12, + margin:5 + }, + splitLine:{ + show:false + }, + axisTick:{ + show:false + } + }], + series: [ + { + name: '猕猴桃', + type: 'bar', + label:{ + show:true, + position:'top', + fontSize:14, + color:'#3DC3F0', + fontWeight:'bold' + }, + barMaxWidth:60, + color: { + type: 'linear', + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [{ + offset: 0, color: '#3DC3F0' // 0% 处的颜色 + }, { + offset: 1, color: '#CCF2FF' // 100% 处的颜色 + }] + }, + data: [60, 110, 180, 100] + }, + { + name: '香蕉', + type: 'bar', + label:{ + show:true, + position:'top', + fontSize:14, + color:'#3D8BF0', + fontWeight:'bold' + }, + barMaxWidth:60, + color: { + type: 'linear', + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [{ + offset: 0, color: '#3D8BF0' // 0% 处的颜色 + }, { + offset: 1, color: '#CCE2FF' // 100% 处的颜色 + }] + }, + data: [90, 130, 170, 130] + } + ] +}; + + column1.setOption(option); + + window.onresize = function() { + column1.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/column2.js b/src/plugin/admin/public/demos/echarts/script/column2.js new file mode 100644 index 0000000..6393cce --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/column2.js @@ -0,0 +1,73 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + var column2 = echarts.init(document.getElementById('column2'),null, { + width: 600, + height: 400 + }); + + var data = [1000, 600, 500, 300]; + option = { + backgroundColor: '#ffffff', + title: { + text: 'ETC交易成功率', + left: 'center', + top: 2, + fontSize: 20 + }, + color: ['#fed46b','#2194ff', ], + tooltip: { + trigger: 'axis', + axisPointer: { // 坐标轴指示器,坐标轴触发有效 + type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' + } + }, + grid: { + left: '3%', + right: '4%', + bottom: '10%', + containLabel: true + }, + legend: { + left: 'center', + bottom: '2%', + data: ['去年', '今年', ] + }, + xAxis: [{ + type: 'category', + data: ['09-22', '09-22', '09-22', '09-22', '09-22', '09-22', '09-22'], + axisTick: { + alignWithLabel: true + } + }], + yAxis: [{ + type: 'value' + }], + barMaxWidth: '30', + label:{ + show:true, + position:'top', + formatter:function(params){ + return params.value+'%' + } + }, + series: [ + + { + name: '去年', + type: 'bar', + data: [90, 52, 90, 80, 90, 70, 90] + }, + { + name: '今年', + type: 'bar', + data: [10, 52, 90, 70, 90, 70, 90] + }, + ] + }; + column2.setOption(option); + + window.onresize = function() { + column2.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/column3.js b/src/plugin/admin/public/demos/echarts/script/column3.js new file mode 100644 index 0000000..897e495 --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/column3.js @@ -0,0 +1,120 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + var column3 = echarts.init(document.getElementById('column3'),null, { + width: 600, + height: 400 + }); + + const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] + +option = { + backgroundColor: '#fff', + tooltip: { + trigger: "axis", + padding: [8, 10], + backgroundColor: 'rgba(255,255,255,0.5)', + axisPointer: { + type: "shadow", + color: "#fff" + } + }, + legend: { + data: ['新开会员', '激活会员', '关闭会员'], + align: 'left', + right: 0, + + color: "#333", + fontSize: 14, + fontWeight: 200, + + itemWidth: 14, + itemHeight: 14, + itemGap: 35 + }, + grid: { + left: '0', + right: '0', + bottom: '8%', + top: '15%', + containLabel: true + }, + label: { + show: true, + position: 'top', + color: '#333', + fontSize: 14, + fontWeight: 700 + }, + xAxis: [{ + type: 'category', + offset: 10, + data: ['团队1', '团队2', '团队3', '团队4'], + axisLine: { + show: false + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + color: "#333", + fontSize: 16, + fontWeight: 200 + + }, + }], + yAxis: [{ + type: 'value', + axisLabel: { + show: false + }, + axisTick: { + show: false + }, + axisLine: { + show: false + }, + splitLine: { + show: false + } + }], + series: [{ + name: '新开会员', + type: 'bar', + data: [20, 34, 18, 14, 16], + barWidth: 22, //柱子宽度 + barGap: 1, //柱子之间间距 + itemStyle: { + color: '#0071c8', + opacity: 1, + } + }, { + name: '激活会员', + type: 'bar', + data: [10, 24, 5, 24, 16], + barWidth: 22, + barGap: 1, + itemStyle: { + color: '#fdc508', + opacity: 1, + } + }, { + name: '关闭会员', + type: 'bar', + data: [7, 24, 18, 20, 6], + barWidth: 22, + barGap: 1, + itemStyle: { + color: '#dfeafc', + opacity: 1, + } + }] +}; + + column3.setOption(option); + + window.onresize = function() { + column3.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/column4.js b/src/plugin/admin/public/demos/echarts/script/column4.js new file mode 100644 index 0000000..6cd871f --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/column4.js @@ -0,0 +1,84 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + var column4 = echarts.init(document.getElementById('column4'),null, { + width: 600, + height: 400 + }); + option = { + backgroundColor:'#fff', + title:{ + text:"描边柱状图", + top:10, + left:15, + color:"#35598d", + fontSize:16, + fontWeight:'normal' + }, + tooltip: { + trigger: 'axis', + formatter:'{b}:{c}', + }, + grid: { + left: '5%', + right: '6%', + bottom: '3%', + top: '20%', + containLabel: true + }, + xAxis :{ + type : 'category', + data : ['策略1','策略2','策略3','策略4','策略5','策略6','策略7','策略8','策略9'], + axisLabel:{ //坐标轴字体颜色 + color: '#9eaaba' + }, + axisLine:{ + lineStyle:{ + color:"#e5e5e5" + } + }, + axisTick:{ //y轴刻度线 + show:false + }, + splitLine:{ //网格 + show: false, + } + }, + yAxis :{ + type : 'value', + axisLabel:{ //坐标轴字体颜色 + color: '#9eaaba' + }, + axisLine:{ + show:false, + }, + axisTick:{ //y轴刻度线 + show:false + }, + splitLine:{ //网格 + show: true, + lineStyle:{ + color:'#dadde4', + type:"dashed" //坐标网线类型 + } + } + }, + series:{ + name:'', + type:'bar', + barWidth : '40%', //柱子宽度 + itemStyle:{ //柱子颜色 + borderWidth: 2, + borderColor: 'rgb(79, 116, 223)', + color:'rgba(79, 116, 223, .3)', + }, + data:[320, 332, 301, 334, 390, 330, 320, 230, 156] + } + }; + + column4.setOption(option); + + window.onresize = function() { + column4.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/line1.js b/src/plugin/admin/public/demos/echarts/script/line1.js new file mode 100644 index 0000000..1a0ce7b --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/line1.js @@ -0,0 +1,236 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + var line2 = echarts.init(document.getElementById('line2'),null, { + width: 600, + height: 400 + }); + + const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] + option = { + backgroundColor: '#fff', + title: { + text: '全国6月销售统计', + fontSize: 12, + fontWeight: 400, + left: 'center', + top: '5%' + }, + legend: { + icon: 'circle', + top: '5%', + right: '5%', + itemWidth: 6, + itemGap: 20, + color: '#556677' + }, + tooltip: { + trigger: 'axis', + axisPointer: { + label: { + show: true, + backgroundColor: '#fff', + color: '#556677', + borderColor: 'rgba(0,0,0,0)', + shadowColor: 'rgba(0,0,0,0)', + shadowOffsetY: 0 + }, + lineStyle: { + width: 0 + } + }, + backgroundColor: '#fff', + color: '#5c6c7c', + padding: [10, 10], + extraCssText: 'box-shadow: 1px 0 2px 0 rgba(163,163,163,0.5)' + }, + grid: { + top: '15%' + }, + xAxis: [{ + type: 'category', + data: ['北京', '上海', '广州', '深圳', '香港', '澳门', '台湾'], + axisLine: { + lineStyle: { + color: '#DCE2E8' + } + }, + axisTick: { + show: false + }, + axisLabel: { + interval: 0, + color: '#556677', + // 默认x轴字体大小 + fontSize: 12, + // margin:文字到x轴的距离 + margin: 15 + }, + axisPointer: { + label: { + // padding: [11, 5, 7], + padding: [0, 0, 10, 0], + + // 这里的margin和axisLabel的margin要一致! + margin: 15, + // 移入时的字体大小 + fontSize: 12, + backgroundColor: { + type: 'linear', + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [{ + offset: 0, + color: '#fff' // 0% 处的颜色 + }, { + // offset: 0.9, + offset: 0.86, + + color: '#fff' // 0% 处的颜色 + }, { + offset: 0.86, + color: '#33c0cd' // 0% 处的颜色 + }, { + offset: 1, + color: '#33c0cd' // 100% 处的颜色 + }], + global: false // 缺省为 false + } + } + }, + boundaryGap: false + }], + yAxis: [{ + type: 'value', + axisTick: { + show: false + }, + axisLine: { + show: true, + lineStyle: { + color: '#DCE2E8' + } + }, + axisLabel: { + color: '#556677', + }, + splitLine: { + show: false + } + }, { + type: 'value', + position: 'right', + axisTick: { + show: false + }, + axisLabel: { + color: '#556677', + formatter: '{value}' + }, + axisLine: { + show: true, + lineStyle: { + color: '#DCE2E8' + } + }, + splitLine: { + show: false + } + }], + series: [{ + name: 'Adidas', + type: 'line', + data: [10, 10, 30, 12, 15, 3, 7], + symbolSize: 1, + symbol: 'circle', + smooth: true, + yAxisIndex: 0, + showSymbol: true, + lineStyle: { + width: 5, + color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: '#9effff' + }, + { + offset: 1, + color: '#9E87FF' + } + ]), + shadowColor: 'rgba(158,135,255, 0.3)', + shadowBlur: 10, + shadowOffsetY: 20 + }, + itemStyle: { + color: colorList[0], + borderColor: colorList[0] + } + }, { + name: 'Nike', + type: 'line', + data: [5, 12, 11, 14, 25, 16, 10], + symbolSize: 1, + symbol: 'circle', + smooth: true, + yAxisIndex: 0, + showSymbol: true, + lineStyle: { + width: 5, + color: new echarts.graphic.LinearGradient(1, 1, 0, 0, [{ + offset: 0, + color: '#73DD39' + }, + { + offset: 1, + color: '#73DDFF' + } + ]), + shadowColor: 'rgba(115,221,255, 0.3)', + shadowBlur: 10, + shadowOffsetY: 20 + }, + itemStyle: { + color: colorList[1], + borderColor: colorList[1] + } + }, + { + name: '老北京布鞋', + type: 'line', + data: [150, 120, 170, 140, 500, 160, 110], + symbolSize: 1, + yAxisIndex: 1, + symbol: 'circle', + smooth: true, + showSymbol: true, + lineStyle: { + width: 5, + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{ + offset: 0, + color: '#fe9a' + }, + { + offset: 1, + color: '#fe9a8b' + } + ]), + shadowColor: 'rgba(254,154,139, 0.3)', + shadowBlur: 10, + shadowOffsetY: 20 + }, + itemStyle: { + color: colorList[2], + borderColor: colorList[2] + } + } + ] + }; + + line2.setOption(option); + + window.onresize = function() { + line2.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/line2.js b/src/plugin/admin/public/demos/echarts/script/line2.js new file mode 100644 index 0000000..c0bb531 --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/line2.js @@ -0,0 +1,148 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + var line1 = echarts.init(document.getElementById('line1'),null, { + width: 600, + height: 400 + }); + + const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] + option = { + + backgroundColor: '#fff', + tooltip: { + show: false + }, + grid: { + top: '10%', + bottom: '6%', + left: '6%', + right: '6%', + containLabel: true + }, + xAxis: [{ + type: 'category', + boundaryGap: false, + axisLine: { + show: false + }, + axisTick: { + show: false + }, + axisLabel: { + margin: 10, + fontSize: 14, + color: 'rgba(#999)' + }, + splitLine: { + show: true, + lineStyle: { + color: '#939ab6', + opacity: .15 + } + }, + data: ['10:00', '10:10', '10:10', '10:30', '10:40', '10:50'] + },], + yAxis: [{ + type: 'value', + offset: 15, + max: 100, + min: 0, + axisTick: { + show: false + }, + axisLine: { + show: false + }, + axisLabel: { + margin: 10, + fontSize: 14, + color: '#999' + + }, + splitLine: { + show: false + } + + }], + series: [{ + name: '2', + type: 'line', + z: 3, + showSymbol: false, + smoothMonotone: 'x', + lineStyle: { + width: 3, + color: { + type: 'linear', + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [{ + offset: 0, color: 'rgba(59,102,246)' // 0% 处的颜色 + }, { + offset: 1, color: 'rgba(118,237,252)' // 100% 处的颜色 + }] + }, + shadowBlur: 4, + shadowColor: 'rgba(69,126,247,.2)', + shadowOffsetY: 4 + }, + areaStyle: { + color: { + type: 'linear', + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [{ + offset: 0, color: 'rgba(227,233,250,.9)' // 0% 处的颜色 + }, { + offset: 1, color: 'rgba(248,251,252,.3)' // 100% 处的颜色 + }] + } + }, + smooth: true, + data: [20, 56, 17, 40, 68, 42] + },{ + name: '1', + type: 'line', + showSymbol: false, + smoothMonotone: 'x', + + lineStyle: { + width: 3, + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgba(255,84,108)' + }, { + offset: 1, + color: 'rgba(252,140,118)' + }], false), + shadowBlur: 4, + shadowColor: 'rgba(253,121,128,.2)', + shadowOffsetY: 4 + }, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ + offset: 0, + color: 'rgba(255,84,108,.15)' + }, { + offset: 1, + color: 'rgba(252,140,118,0)' + }], false), + }, + smooth: true, + data: [20, 71, 8, 50, 57, 32] + } + ] + + }; + + line1.setOption(option); + + window.onresize = function() { + line1.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/line3.js b/src/plugin/admin/public/demos/echarts/script/line3.js new file mode 100644 index 0000000..12bfbc7 --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/line3.js @@ -0,0 +1,102 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + + var line3 = echarts.init(document.getElementById('line3'),null, { + width: 600, + height: 400 + }); + + const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] + + option = { + backgroundColor: '#fff', + title: { + text: "告警数", + left: "18px", + top: "0", + color: "#999", + fontSize: 12, + fontWeight: '400' + }, + color: ['#73A0FA', '#73DEB3', '#FFB761'], + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'cross', + crossStyle: { + color: '#999' + }, + lineStyle: { + type: 'dashed' + } + } + }, + grid: { + left: '25', + right: '25', + bottom: '24', + top: '75', + containLabel: true + }, + legend: { + data: ['上周', '本周'], + orient: 'horizontal', + icon: "rect", + show: true, + left: 20, + top: 25, + }, + xAxis: { + type: 'category', + data: ['爱立信端局', '中兴端局', '爱立信HSS', '中兴HSS', '华为HSS', '华为智能网', '中兴VIMS'], + splitLine: { + show: false + }, + axisTick: { + show: false + }, + axisLine: { + show: false + }, + }, + yAxis: { + type: 'value', + axisLabel: { + color: '#999', + fontSize: 12 + }, + splitLine: { + show: true, + lineStyle: { + color: '#F3F4F4' + } + }, + axisTick: { + show: false + }, + axisLine: { + show: false + }, + }, + series: [{ + name: '上周', + type: 'line', + smooth: true, + data: [1800, 1000, 2000, 1000, 500, 100, 1200] + }, + { + name: '本周', + type: 'line', + smooth: true, + data: [1700, 999, 1100, 899, 199, 99, 1000] + } + ] + }; + + line3.setOption(option); + + window.onresize = function() { + line3.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/echarts/script/line4.js b/src/plugin/admin/public/demos/echarts/script/line4.js new file mode 100644 index 0000000..19e9f79 --- /dev/null +++ b/src/plugin/admin/public/demos/echarts/script/line4.js @@ -0,0 +1,167 @@ +layui.use(['echarts'], function() { + let echarts = layui.echarts; + + var line4 = echarts.init(document.getElementById('line4'),null, { + width: 600, + height: 400 + }); + + const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF'] + option = { + title: { + text: '用电量' + }, + tooltip: { + trigger: 'axis' + }, + legend: { + data: ['2018', '2019'] + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + toolbox: { + feature: { + saveAsImage: {} + } + }, + xAxis: { + type: 'category', + boundaryGap: false,//坐标轴两边留白 + data: ['12201', '12202', '12203','12204','12301','12302','12303','12304','12401', '12402', '12403','12404'], + axisLabel: { //坐标轴刻度标签的相关设置。 + interval: 0,//设置为 1,表示『隔一个标签显示一个标签』 + // margin:15, + + color: '#1B253A', + fontStyle: 'normal', + fontFamily: '微软雅黑', + fontSize: 12, + + formatter:function(params) { + var newParamsName = ""; + var paramsNameNumber = params.length; + var provideNumber = 4; //一行显示几个字 + var rowNumber = Math.ceil(paramsNameNumber / provideNumber); + if (paramsNameNumber > provideNumber) { + for (var p = 0; p < rowNumber; p++) { + var tempStr = ""; + var start = p * provideNumber; + var end = start + provideNumber; + if (p == rowNumber - 1) { + tempStr = params.substring(start, paramsNameNumber); + } else { + tempStr = params.substring(start, end) + "\n"; + } + newParamsName += tempStr; + } + + } else { + newParamsName = params; + } + return newParamsName + }, + //rotate:50, + }, + axisTick:{//坐标轴刻度相关设置。 + show: false, + }, + axisLine:{//坐标轴轴线相关设置 + lineStyle:{ + color:'#E5E9ED', + // opacity:0.2 + } + }, + splitLine: { //坐标轴在 grid 区域中的分隔线。 + show: true, + lineStyle: { + color: '#E5E9ED', + // opacity:0.1 + } + } + }, + yAxis: [ + { + type: 'value', + splitNumber: 5, + axisLabel: { + + color: '#a8aab0', + fontStyle: 'normal', + fontFamily: '微软雅黑', + fontSize: 12 + + }, + axisLine:{ + show: false + }, + axisTick:{ + show: false + }, + splitLine: { + show: true, + lineStyle: { + color: '#E5E9ED', + // opacity:0.1 + } + } + + } + ], + series: [ + { + name: '2018', + type: 'line', + itemStyle: { + color:'#3A84FF', + lineStyle: { + color: "#3A84FF", + width:1 + }, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: 'rgba(58,132,255,0)' + }, { + offset: 1, + color: 'rgba(58,132,255,0.35)' + }]), + } + }, + data: [ 1, 2, 3, 3, 5, 6, 5, 3, 6, 5, 5, 4] + }, + { + name: '2019', + type: 'line', + itemStyle: { + color:'rgba(255,80,124,1)', + lineStyle: { + color: "rgba(255,80,124,1)", + width:1 + }, + areaStyle: { + color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: 'rgba(255,80,124,0)' + }, { + offset: 1, + color: 'rgba(255,80,124,0.35)' + }]), + } + }, + data: [9, 5,7,8,6,7,8,7,7,6,8,6] + } + ] + }; + + + line4.setOption(option); + + window.onresize = function() { + line4.resize(); + } + +}) diff --git a/src/plugin/admin/public/demos/error/403.html b/src/plugin/admin/public/demos/error/403.html new file mode 100644 index 0000000..3c6db3b --- /dev/null +++ b/src/plugin/admin/public/demos/error/403.html @@ -0,0 +1,21 @@ + + + + + + + + + +
        + +
        +

        403

        +

        抱歉,你无权访问该页面

        + +
        +
        + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/error/404.html b/src/plugin/admin/public/demos/error/404.html new file mode 100644 index 0000000..9311a45 --- /dev/null +++ b/src/plugin/admin/public/demos/error/404.html @@ -0,0 +1,21 @@ + + + + + + + + + +
        + +
        +

        404

        +

        抱歉,你访问的页面不存在或仍在开发中

        + +
        +
        + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/error/500.html b/src/plugin/admin/public/demos/error/500.html new file mode 100644 index 0000000..75e8782 --- /dev/null +++ b/src/plugin/admin/public/demos/error/500.html @@ -0,0 +1,21 @@ + + + + + + + + + +
        + +
        +

        500

        +

        抱歉,服务器出错了

        + +
        +
        + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/result/error.html b/src/plugin/admin/public/demos/result/error.html new file mode 100644 index 0000000..e478048 --- /dev/null +++ b/src/plugin/admin/public/demos/result/error.html @@ -0,0 +1,45 @@ + + + + + 失败 + + + + +
        +
        +
        +
        + +
        +

        提交失败

        +

        + 请核对并修改以下信息后,再重新提交。如果仅是简单操作,使用 Message 全局提示反馈即可。 + 本文字区域可以展示简单的补充说明,如果有类似展示 + “单据”的需求,下面这个灰色区域可以呈现比较复杂的内容。 +

        +
        + +
        +
        + +     + +
        +
        +
        +
        + + + + + diff --git a/src/plugin/admin/public/demos/result/success.html b/src/plugin/admin/public/demos/result/success.html new file mode 100644 index 0000000..1010cbe --- /dev/null +++ b/src/plugin/admin/public/demos/result/success.html @@ -0,0 +1,37 @@ + + + + + 成功 + + + + +
        +
        +
        +
        + +
        +

        提交成功

        +

        + 提交结果页用于反馈一系列操作任务的处理结果, + 如果仅是简单操作,使用 Message 全局提示反馈即可。 + 本文字区域可以展示简单的补充说明,如果有类似展示 + “单据”的需求,下面这个灰色区域可以呈现比较复杂的内容。 +

        +
        + +
        +
        + +     + +
        +
        +
        +
        + + + + diff --git a/src/plugin/admin/public/demos/system/deptment.html b/src/plugin/admin/public/demos/system/deptment.html new file mode 100644 index 0000000..7d4cc95 --- /dev/null +++ b/src/plugin/admin/public/demos/system/deptment.html @@ -0,0 +1,289 @@ + + + + + 部门管理 + + + + +
        +
        +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + +
        + +
        +
        +
        + + +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + diff --git a/src/plugin/admin/public/demos/system/dict.html b/src/plugin/admin/public/demos/system/dict.html new file mode 100644 index 0000000..e08ee15 --- /dev/null +++ b/src/plugin/admin/public/demos/system/dict.html @@ -0,0 +1,341 @@ + + + + + 数据字典 + + + +
          +
          +
          +
          +
          +
          + +
          + +
          + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + + + + + +
          +
          +
          +
          +
          + + + + + + + + + + + + + + + + + diff --git a/src/plugin/admin/public/demos/system/log.html b/src/plugin/admin/public/demos/system/log.html new file mode 100644 index 0000000..100b5ed --- /dev/null +++ b/src/plugin/admin/public/demos/system/log.html @@ -0,0 +1,101 @@ + + + + + 行为日志 + + + +
          +
          +
          +
            +
          • 登录日志
          • +
          • 操作日志
          • +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/system/operate.html b/src/plugin/admin/public/demos/system/operate.html new file mode 100644 index 0000000..fec1c87 --- /dev/null +++ b/src/plugin/admin/public/demos/system/operate.html @@ -0,0 +1,107 @@ + + + + + 表单页面 + + + +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + + +
          +
          +
          +
          +
          +
          + + +
          +
          +
          + + + + + diff --git a/src/plugin/admin/public/demos/system/operate/add.html b/src/plugin/admin/public/demos/system/operate/add.html new file mode 100644 index 0000000..82ecdf3 --- /dev/null +++ b/src/plugin/admin/public/demos/system/operate/add.html @@ -0,0 +1,109 @@ + + + + + 新增页面 + + + +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + + +
          +
          +
          +
          +
          +
          + + +
          +
          +
          + + + + + + diff --git a/src/plugin/admin/public/demos/system/operate/edit.html b/src/plugin/admin/public/demos/system/operate/edit.html new file mode 100644 index 0000000..82dbce8 --- /dev/null +++ b/src/plugin/admin/public/demos/system/operate/edit.html @@ -0,0 +1,109 @@ + + + + + 修改页面 + + + +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + + +
          +
          +
          +
          +
          +
          + + +
          +
          +
          + + + + + + diff --git a/src/plugin/admin/public/demos/system/operate/profile.html b/src/plugin/admin/public/demos/system/operate/profile.html new file mode 100644 index 0000000..6041005 --- /dev/null +++ b/src/plugin/admin/public/demos/system/operate/profile.html @@ -0,0 +1,108 @@ + + + + + 头像上传 + + + +
          +
          +
          + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + +
          +
          建议:图片的尺寸宽高比为1:1,大小在5m以内。
          +
          +
          + + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/system/person.html b/src/plugin/admin/public/demos/system/person.html new file mode 100644 index 0000000..a40abc4 --- /dev/null +++ b/src/plugin/admin/public/demos/system/person.html @@ -0,0 +1,183 @@ + + + + + 个人资料 + + + + +
          +
          +
          +
          +
          + +

          就眠仪式

          +

          China , 中国

          +
          +
          +
          + 今日事 ,今日毕 +
          +
          + +
          +
          + 归档 +
          +
          +
            +
          • 优化代码格式2020-06-04 11:28
          • +
          • 新增消息组件2020-06-01 04:23
          • +
          • 移动端兼容2020-05-22 21:38
          • +
          • 系统布局优化2020-05-15 14:26
          • +
          • 兼容多系统菜单模式2020-05-13 16:32
          • +
          • 兼容多标签页切换2019-12-9 14:58
          • +
          • 扩展下拉组件2019-12-7 9:06
          • +
          • 扩展卡片样式2019-12-1 10:26
          • +
          +
          +
          +
          +
          +
          +
          + 我的文章 +
          +
          +
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          + +
          +
          +
          为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
          +
          + “Git的精髓在于让所有人的贡献无缝合并。而GitHub的天才之处,在于理解了Git的精髓。”来一句我们程序员们接地气的话:分享是一种快乐~ +
          +
          2020-06-12        评论 5 点赞 12 转发 4
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + diff --git a/src/plugin/admin/public/demos/system/power.html b/src/plugin/admin/public/demos/system/power.html new file mode 100644 index 0000000..65ff2ee --- /dev/null +++ b/src/plugin/admin/public/demos/system/power.html @@ -0,0 +1,242 @@ + + + + + 权限管理 + + + +
          +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/system/profile.html b/src/plugin/admin/public/demos/system/profile.html new file mode 100644 index 0000000..6041005 --- /dev/null +++ b/src/plugin/admin/public/demos/system/profile.html @@ -0,0 +1,108 @@ + + + + + 头像上传 + + + +
          +
          +
          + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + +
          +
          建议:图片的尺寸宽高比为1:1,大小在5m以内。
          +
          +
          + + + + + + \ No newline at end of file diff --git a/src/plugin/admin/public/demos/system/role.html b/src/plugin/admin/public/demos/system/role.html new file mode 100644 index 0000000..ec3d42b --- /dev/null +++ b/src/plugin/admin/public/demos/system/role.html @@ -0,0 +1,226 @@ + + + + + 角色管理 + + + +
          +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + diff --git a/src/plugin/admin/public/demos/system/space.html b/src/plugin/admin/public/demos/system/space.html new file mode 100644 index 0000000..8ab19e3 --- /dev/null +++ b/src/plugin/admin/public/demos/system/space.html @@ -0,0 +1,27 @@ + + + + + 空白页面 + + + + +
          +
          +
          +

          Space Page

          +
          +
          + + + + diff --git a/src/plugin/admin/public/demos/system/theme.html b/src/plugin/admin/public/demos/system/theme.html new file mode 100644 index 0000000..b5ef672 --- /dev/null +++ b/src/plugin/admin/public/demos/system/theme.html @@ -0,0 +1,300 @@ + + + + + 主题预览 + + + +
          +
          按钮
          +
          + + +
          +
          +
          +
          输入框
          +
          +
          +
          + +
          +
          +
          +
          +
          +
          复选框
          +
          +
          + + + + + + +
          +
          +
          +
          +
          开关
          +
          +
          +    +    +    +    +
          +
          +
          +
          +
          单选框
          +
          +
          + + + +
          +
          +
          +
          +
          下拉
          +
          + +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + + +
          +
          选项卡
          +
          +
          +
            +
          • 网站设置
          • +
          • 用户管理
          • +
          • 权限分配
          • +
          • 商品管理
          • +
          • 订单管理
          • +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          进度条
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          分页
          +
          +
          +
          +
          +
          +
          辅助元素
          +
          +
          快乐的时候不敢尽兴,频繁警戒自己保持清醒.
          +
          路上没有灯火的时候,就点亮自己的头颅.
          +
          +
          +
          +
          +
          +
            +
          • + +
            +

            8月18日

            +

            + layui 2.0 的一切准备工作似乎都已到位。发布之弦,一触即发。 +

            +
            +
          • +
          • + +
            +

            8月16日

            +

            杜甫的思想核心是儒家的仁政思想,他有“致君尧舜上,再使风俗淳”的宏伟抱负。个人最爱的名篇有:

            +
            +
          • +
          • + +
            +

            8月15日

            +

            + 中国人民抗日战争胜利72周年 +

            +
            +
          • +
          +
          +
          +
          +
          日期选择
          +
          + +
          +
          + + + + + + + + diff --git a/src/plugin/admin/public/demos/system/user.html b/src/plugin/admin/public/demos/system/user.html new file mode 100644 index 0000000..3acd98d --- /dev/null +++ b/src/plugin/admin/public/demos/system/user.html @@ -0,0 +1,298 @@ + + + + + 用户管理 + + + +
          +
          +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + +
          + +
          +
          +
          + + +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + + + + + + + diff --git a/src/plugin/admin/webman-admin.sql b/src/plugin/admin/webman-admin.sql index 5aeb3aa..ae58188 100644 --- a/src/plugin/admin/webman-admin.sql +++ b/src/plugin/admin/webman-admin.sql @@ -61,7 +61,7 @@ CREATE TABLE `wa_options` ( LOCK TABLES `wa_options` WRITE; /*!40000 ALTER TABLE `wa_options` DISABLE KEYS */; -INSERT INTO `wa_options` VALUES (2,'table_form_schema_wa_users','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"enable_sort\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false},\"username\":{\"field\":\"username\",\"_field_id\":\"1\",\"comment\":\"用户名\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"nickname\":{\"field\":\"nickname\",\"_field_id\":\"2\",\"comment\":\"昵称\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"password\":{\"field\":\"password\",\"_field_id\":\"3\",\"comment\":\"密码\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"sex\":{\"field\":\"sex\",\"_field_id\":\"4\",\"comment\":\"性别\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/dict\\/get\\/sex\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"avatar\":{\"field\":\"avatar\",\"_field_id\":\"5\",\"comment\":\"头像\",\"control\":\"uploadImage\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/avatar\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"email\":{\"field\":\"email\",\"_field_id\":\"6\",\"comment\":\"邮箱\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"mobile\":{\"field\":\"mobile\",\"_field_id\":\"7\",\"comment\":\"手机\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"level\":{\"field\":\"level\",\"_field_id\":\"8\",\"comment\":\"等级\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"birthday\":{\"field\":\"birthday\",\"_field_id\":\"9\",\"comment\":\"生日\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"between\",\"list_show\":false,\"enable_sort\":false},\"money\":{\"field\":\"money\",\"_field_id\":\"10\",\"comment\":\"余额\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"score\":{\"field\":\"score\",\"_field_id\":\"11\",\"comment\":\"积分\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"last_time\":{\"field\":\"last_time\",\"_field_id\":\"12\",\"comment\":\"登录时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"between\",\"list_show\":false,\"enable_sort\":false},\"last_ip\":{\"field\":\"last_ip\",\"_field_id\":\"13\",\"comment\":\"登录ip\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"join_time\":{\"field\":\"join_time\",\"_field_id\":\"14\",\"comment\":\"注册时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"between\",\"list_show\":false,\"enable_sort\":false},\"join_ip\":{\"field\":\"join_ip\",\"_field_id\":\"15\",\"comment\":\"注册ip\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"token\":{\"field\":\"token\",\"_field_id\":\"16\",\"comment\":\"token\",\"control\":\"input\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"17\",\"comment\":\"创建时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"18\",\"comment\":\"更新时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"role\":{\"field\":\"role\",\"_field_id\":\"19\",\"comment\":\"角色\",\"control\":\"inputNumber\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"status\":{\"field\":\"status\",\"_field_id\":\"20\",\"comment\":\"禁用\",\"control\":\"switch\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-04 15:13:01'),(3,'table_form_schema_wa_roles','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"角色名\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"rules\":{\"field\":\"rules\",\"_field_id\":\"2\",\"comment\":\"权限\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"3\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"4\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 14:17:45'),(4,'table_form_schema_wa_rules','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"title\":{\"field\":\"title\",\"_field_id\":\"1\",\"comment\":\"标题\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"icon\":{\"field\":\"icon\",\"_field_id\":\"2\",\"comment\":\"图标\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"key\":{\"field\":\"key\",\"_field_id\":\"3\",\"comment\":\"标识\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"pid\":{\"field\":\"pid\",\"_field_id\":\"4\",\"comment\":\"上级菜单\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"5\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"6\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"href\":{\"field\":\"href\",\"_field_id\":\"7\",\"comment\":\"url\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"type\":{\"field\":\"type\",\"_field_id\":\"8\",\"comment\":\"类型\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"weight\":{\"field\":\"weight\",\"_field_id\":\"9\",\"comment\":\"排序\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 14:17:37'),(5,'table_form_schema_wa_admins','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"ID\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"username\":{\"field\":\"username\",\"_field_id\":\"1\",\"comment\":\"用户名\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"nickname\":{\"field\":\"nickname\",\"_field_id\":\"2\",\"comment\":\"昵称\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"password\":{\"field\":\"password\",\"_field_id\":\"3\",\"comment\":\"密码\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"avatar\":{\"field\":\"avatar\",\"_field_id\":\"4\",\"comment\":\"头像\",\"control\":\"uploadImage\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/avatar\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"email\":{\"field\":\"email\",\"_field_id\":\"5\",\"comment\":\"邮箱\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"mobile\":{\"field\":\"mobile\",\"_field_id\":\"6\",\"comment\":\"手机\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"7\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"searchable\":true,\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"8\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"roles\":{\"field\":\"roles\",\"_field_id\":\"9\",\"comment\":\"角色\",\"control\":\"treeSelectMulti\",\"control_args\":\"url:\\/app\\/admin\\/admin-role\\/select?format=select\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-01 11:58:41'),(5,'table_form_schema_wa_options','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"键\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"value\":{\"field\":\"value\",\"_field_id\":\"2\",\"comment\":\"值\",\"control\":\"textArea\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"3\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"4\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-06 14:49:36'),(6,'table_form_schema_wa_uploads','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"enable_sort\":true,\"search_type\":\"normal\",\"form_show\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"名称\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"url\":{\"field\":\"url\",\"_field_id\":\"2\",\"comment\":\"文件\",\"control\":\"upload\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/file\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"admin_id\":{\"field\":\"admin_id\",\"_field_id\":\"3\",\"comment\":\"管理员\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/admin\\/select?format=select\",\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"file_size\":{\"field\":\"file_size\",\"_field_id\":\"4\",\"comment\":\"文件大小\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"mime_type\":{\"field\":\"mime_type\",\"_field_id\":\"5\",\"comment\":\"mime类型\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_width\":{\"field\":\"image_width\",\"_field_id\":\"6\",\"comment\":\"图片宽度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_height\":{\"field\":\"image_height\",\"_field_id\":\"7\",\"comment\":\"图片高度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"ext\":{\"field\":\"ext\",\"_field_id\":\"8\",\"comment\":\"扩展名\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"storage\":{\"field\":\"storage\",\"_field_id\":\"9\",\"comment\":\"存储位置\",\"control\":\"input\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"10\",\"comment\":\"上传时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"searchable\":true,\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"category\":{\"field\":\"category\",\"_field_id\":\"11\",\"comment\":\"类别\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/dict\\/get\\/upload\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"12\",\"comment\":\"更新时间\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 14:17:25'),(1,'system_config','{\n \"logo\": {\n \"title\": \"Webman Admin\",\n \"image\": \"/app/admin/admin/images/logo.png\"\n },\n \"menu\": {\n \"data\": \"/app/admin/rule/get\",\n \"method\": \"GET\",\n \"accordion\": true,\n \"collapse\": false,\n \"control\": false,\n \"controlWidth\": 500,\n \"select\": \"0\",\n \"async\": true\n },\n \"tab\": {\n \"enable\": true,\n \"keepState\": true,\n \"session\": true,\n \"preload\": false,\n \"max\": \"30\",\n \"index\": {\n \"id\": \"1\",\n \"href\": \"/app/admin/table/index\",\n \"title\": \"首页\"\n }\n },\n \"theme\": {\n \"defaultColor\": \"1\",\n \"defaultMenu\": \"light-theme\",\n \"defaultHeader\": \"light-theme\",\n \"allowCustom\": true,\n \"banner\": false\n },\n \"colors\": [\n {\n \"id\": \"1\",\n \"color\": \"#36b368\",\n \"second\": \"#f0f9eb\"\n },\n {\n \"id\": \"2\",\n \"color\": \"#2d8cf0\",\n \"second\": \"#ecf5ff\"\n },\n {\n \"id\": \"3\",\n \"color\": \"#f6ad55\",\n \"second\": \"#fdf6ec\"\n },\n {\n \"id\": \"4\",\n \"color\": \"#f56c6c\",\n \"second\": \"#fef0f0\"\n },\n {\n \"id\": \"5\",\n \"color\": \"#3963bc\",\n \"second\": \"#ecf5ff\"\n }\n ],\n \"other\": {\n \"keepLoad\": \"500\",\n \"autoHead\": false,\n \"footer\": false\n },\n \"header\": {\n \"message\": false\n }\n}','2022-12-05 14:49:01','2022-12-07 14:12:29'),(8,'dict_sex','[{\"value\":\"0\",\"name\":\"女\"},{\"value\":\"1\",\"name\":\"男\"}]','2022-12-04 15:04:40','2022-12-04 15:04:40'),(9,'dict_status','[{\"value\":\"0\",\"name\":\"正常\"},{\"value\":\"1\",\"name\":\"禁用\"}]','2022-12-04 15:05:09','2022-12-04 15:05:09'),(10,'dict_upload','[{\"value\":\"1\",\"name\":\"分类1\"},{\"value\":\"2\",\"name\":\"分类2\"},{\"value\":\"3\",\"name\":\"分类3\"}]','2022-12-04 16:24:13','2022-12-04 16:24:13'),(7,'table_form_schema_wa_uploads','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"enable_sort\":true,\"search_type\":\"normal\",\"form_show\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"名称\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"url\":{\"field\":\"url\",\"_field_id\":\"2\",\"comment\":\"文件\",\"control\":\"upload\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/file\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"admin_id\":{\"field\":\"admin_id\",\"_field_id\":\"3\",\"comment\":\"管理员\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/admin\\/select?format=select\",\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"file_size\":{\"field\":\"file_size\",\"_field_id\":\"5\",\"comment\":\"文件大小\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"mime_type\":{\"field\":\"mime_type\",\"_field_id\":\"6\",\"comment\":\"mime类型\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_width\":{\"field\":\"image_width\",\"_field_id\":\"7\",\"comment\":\"图片宽度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_height\":{\"field\":\"image_height\",\"_field_id\":\"8\",\"comment\":\"图片高度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"ext\":{\"field\":\"ext\",\"_field_id\":\"9\",\"comment\":\"扩展名\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"storage\":{\"field\":\"storage\",\"_field_id\":\"10\",\"comment\":\"存储位置\",\"control\":\"input\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"11\",\"comment\":\"上传时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"searchable\":true,\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"category\":{\"field\":\"category\",\"_field_id\":\"12\",\"comment\":\"类别\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/dict\\/get\\/upload\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"13\",\"comment\":\"更新时间\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 13:12:02'); +INSERT INTO `wa_options` VALUES (2,'table_form_schema_wa_users','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"enable_sort\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false},\"username\":{\"field\":\"username\",\"_field_id\":\"1\",\"comment\":\"用户名\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"nickname\":{\"field\":\"nickname\",\"_field_id\":\"2\",\"comment\":\"昵称\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"password\":{\"field\":\"password\",\"_field_id\":\"3\",\"comment\":\"密码\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"sex\":{\"field\":\"sex\",\"_field_id\":\"4\",\"comment\":\"性别\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/dict\\/get\\/sex\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"avatar\":{\"field\":\"avatar\",\"_field_id\":\"5\",\"comment\":\"头像\",\"control\":\"uploadImage\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/avatar\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"email\":{\"field\":\"email\",\"_field_id\":\"6\",\"comment\":\"邮箱\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"mobile\":{\"field\":\"mobile\",\"_field_id\":\"7\",\"comment\":\"手机\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"level\":{\"field\":\"level\",\"_field_id\":\"8\",\"comment\":\"等级\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"birthday\":{\"field\":\"birthday\",\"_field_id\":\"9\",\"comment\":\"生日\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"between\",\"list_show\":false,\"enable_sort\":false},\"money\":{\"field\":\"money\",\"_field_id\":\"10\",\"comment\":\"余额\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"score\":{\"field\":\"score\",\"_field_id\":\"11\",\"comment\":\"积分\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"last_time\":{\"field\":\"last_time\",\"_field_id\":\"12\",\"comment\":\"登录时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"between\",\"list_show\":false,\"enable_sort\":false},\"last_ip\":{\"field\":\"last_ip\",\"_field_id\":\"13\",\"comment\":\"登录ip\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"join_time\":{\"field\":\"join_time\",\"_field_id\":\"14\",\"comment\":\"注册时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"between\",\"list_show\":false,\"enable_sort\":false},\"join_ip\":{\"field\":\"join_ip\",\"_field_id\":\"15\",\"comment\":\"注册ip\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false},\"token\":{\"field\":\"token\",\"_field_id\":\"16\",\"comment\":\"token\",\"control\":\"input\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"17\",\"comment\":\"创建时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"18\",\"comment\":\"更新时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"role\":{\"field\":\"role\",\"_field_id\":\"19\",\"comment\":\"角色\",\"control\":\"inputNumber\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"status\":{\"field\":\"status\",\"_field_id\":\"20\",\"comment\":\"禁用\",\"control\":\"switch\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-04 15:13:01'),(3,'table_form_schema_wa_roles','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"角色名\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"rules\":{\"field\":\"rules\",\"_field_id\":\"2\",\"comment\":\"权限\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"3\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"4\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 14:17:45'),(4,'table_form_schema_wa_rules','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"title\":{\"field\":\"title\",\"_field_id\":\"1\",\"comment\":\"标题\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"icon\":{\"field\":\"icon\",\"_field_id\":\"2\",\"comment\":\"图标\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"key\":{\"field\":\"key\",\"_field_id\":\"3\",\"comment\":\"标识\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"pid\":{\"field\":\"pid\",\"_field_id\":\"4\",\"comment\":\"上级菜单\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"5\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"6\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"href\":{\"field\":\"href\",\"_field_id\":\"7\",\"comment\":\"url\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"type\":{\"field\":\"type\",\"_field_id\":\"8\",\"comment\":\"类型\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"weight\":{\"field\":\"weight\",\"_field_id\":\"9\",\"comment\":\"排序\",\"control\":\"inputNumber\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 14:17:37'),(5,'table_form_schema_wa_admins','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"ID\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"username\":{\"field\":\"username\",\"_field_id\":\"1\",\"comment\":\"用户名\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"nickname\":{\"field\":\"nickname\",\"_field_id\":\"2\",\"comment\":\"昵称\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"password\":{\"field\":\"password\",\"_field_id\":\"3\",\"comment\":\"密码\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"search_type\":\"normal\",\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"avatar\":{\"field\":\"avatar\",\"_field_id\":\"4\",\"comment\":\"头像\",\"control\":\"uploadImage\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/avatar\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"email\":{\"field\":\"email\",\"_field_id\":\"5\",\"comment\":\"邮箱\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"mobile\":{\"field\":\"mobile\",\"_field_id\":\"6\",\"comment\":\"手机\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"7\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"searchable\":true,\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"8\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"roles\":{\"field\":\"roles\",\"_field_id\":\"9\",\"comment\":\"角色\",\"control\":\"treeSelectMulti\",\"control_args\":\"url:\\/app\\/admin\\/admin-role\\/select?format=select\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-01 11:58:41'),(6,'table_form_schema_wa_options','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"键\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"value\":{\"field\":\"value\",\"_field_id\":\"2\",\"comment\":\"值\",\"control\":\"textArea\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"3\",\"comment\":\"创建时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"4\",\"comment\":\"更新时间\",\"control\":\"datePicker\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-06 14:49:36'),(7,'table_form_schema_wa_uploads','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"enable_sort\":true,\"search_type\":\"normal\",\"form_show\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"名称\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"url\":{\"field\":\"url\",\"_field_id\":\"2\",\"comment\":\"文件\",\"control\":\"upload\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/file\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"admin_id\":{\"field\":\"admin_id\",\"_field_id\":\"3\",\"comment\":\"管理员\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/admin\\/select?format=select\",\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"file_size\":{\"field\":\"file_size\",\"_field_id\":\"4\",\"comment\":\"文件大小\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"mime_type\":{\"field\":\"mime_type\",\"_field_id\":\"5\",\"comment\":\"mime类型\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_width\":{\"field\":\"image_width\",\"_field_id\":\"6\",\"comment\":\"图片宽度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_height\":{\"field\":\"image_height\",\"_field_id\":\"7\",\"comment\":\"图片高度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"ext\":{\"field\":\"ext\",\"_field_id\":\"8\",\"comment\":\"扩展名\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"storage\":{\"field\":\"storage\",\"_field_id\":\"9\",\"comment\":\"存储位置\",\"control\":\"input\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"10\",\"comment\":\"上传时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"searchable\":true,\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"category\":{\"field\":\"category\",\"_field_id\":\"11\",\"comment\":\"类别\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/dict\\/get\\/upload\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"12\",\"comment\":\"更新时间\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 14:17:25'),(1,'system_config','{\n \"logo\": {\n \"title\": \"Webman Admin\",\n \"image\": \"/app/admin/admin/images/logo.png\"\n },\n \"menu\": {\n \"data\": \"/app/admin/rule/get\",\n \"method\": \"GET\",\n \"accordion\": true,\n \"collapse\": false,\n \"control\": false,\n \"controlWidth\": 500,\n \"select\": \"0\",\n \"async\": true\n },\n \"tab\": {\n \"enable\": true,\n \"keepState\": true,\n \"session\": true,\n \"preload\": false,\n \"max\": \"30\",\n \"index\": {\n \"id\": \"1\",\n \"href\": \"/app/admin/table/index\",\n \"title\": \"首页\"\n }\n },\n \"theme\": {\n \"defaultColor\": \"1\",\n \"defaultMenu\": \"light-theme\",\n \"defaultHeader\": \"light-theme\",\n \"allowCustom\": true,\n \"banner\": false\n },\n \"colors\": [\n {\n \"id\": \"1\",\n \"color\": \"#36b368\",\n \"second\": \"#f0f9eb\"\n },\n {\n \"id\": \"2\",\n \"color\": \"#2d8cf0\",\n \"second\": \"#ecf5ff\"\n },\n {\n \"id\": \"3\",\n \"color\": \"#f6ad55\",\n \"second\": \"#fdf6ec\"\n },\n {\n \"id\": \"4\",\n \"color\": \"#f56c6c\",\n \"second\": \"#fef0f0\"\n },\n {\n \"id\": \"5\",\n \"color\": \"#3963bc\",\n \"second\": \"#ecf5ff\"\n }\n ],\n \"other\": {\n \"keepLoad\": \"500\",\n \"autoHead\": false,\n \"footer\": false\n },\n \"header\": {\n \"message\": false\n }\n}','2022-12-05 14:49:01','2022-12-07 14:12:29'),(10,'dict_sex','[{\"value\":\"0\",\"name\":\"女\"},{\"value\":\"1\",\"name\":\"男\"}]','2022-12-04 15:04:40','2022-12-04 15:04:40'),(11,'dict_status','[{\"value\":\"0\",\"name\":\"正常\"},{\"value\":\"1\",\"name\":\"禁用\"}]','2022-12-04 15:05:09','2022-12-04 15:05:09'),(9,'dict_upload','[{\"value\":\"1\",\"name\":\"分类1\"},{\"value\":\"2\",\"name\":\"分类2\"},{\"value\":\"3\",\"name\":\"分类3\"}]','2022-12-04 16:24:13','2022-12-04 16:24:13'),(8,'table_form_schema_wa_uploads','{\"id\":{\"field\":\"id\",\"_field_id\":\"0\",\"comment\":\"主键\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"enable_sort\":true,\"search_type\":\"normal\",\"form_show\":false,\"searchable\":false},\"name\":{\"field\":\"name\",\"_field_id\":\"1\",\"comment\":\"名称\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"url\":{\"field\":\"url\",\"_field_id\":\"2\",\"comment\":\"文件\",\"control\":\"upload\",\"control_args\":\"url:\\/app\\/admin\\/upload\\/file\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false},\"admin_id\":{\"field\":\"admin_id\",\"_field_id\":\"3\",\"comment\":\"管理员\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/admin\\/select?format=select\",\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"file_size\":{\"field\":\"file_size\",\"_field_id\":\"5\",\"comment\":\"文件大小\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"mime_type\":{\"field\":\"mime_type\",\"_field_id\":\"6\",\"comment\":\"mime类型\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_width\":{\"field\":\"image_width\",\"_field_id\":\"7\",\"comment\":\"图片宽度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"image_height\":{\"field\":\"image_height\",\"_field_id\":\"8\",\"comment\":\"图片高度\",\"control\":\"inputNumber\",\"control_args\":\"\",\"list_show\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false,\"searchable\":false},\"ext\":{\"field\":\"ext\",\"_field_id\":\"9\",\"comment\":\"扩展名\",\"control\":\"input\",\"control_args\":\"\",\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"form_show\":false,\"enable_sort\":false},\"storage\":{\"field\":\"storage\",\"_field_id\":\"10\",\"comment\":\"存储位置\",\"control\":\"input\",\"control_args\":\"\",\"search_type\":\"normal\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false,\"searchable\":false},\"created_at\":{\"field\":\"created_at\",\"_field_id\":\"11\",\"comment\":\"上传时间\",\"control\":\"dateTimePicker\",\"control_args\":\"\",\"searchable\":true,\"search_type\":\"between\",\"form_show\":false,\"list_show\":false,\"enable_sort\":false},\"category\":{\"field\":\"category\",\"_field_id\":\"12\",\"comment\":\"类别\",\"control\":\"select\",\"control_args\":\"url:\\/app\\/admin\\/dict\\/get\\/upload\",\"form_show\":true,\"list_show\":true,\"searchable\":true,\"search_type\":\"normal\",\"enable_sort\":false},\"updated_at\":{\"field\":\"updated_at\",\"_field_id\":\"13\",\"comment\":\"更新时间\",\"control\":\"input\",\"control_args\":\"\",\"form_show\":true,\"list_show\":true,\"search_type\":\"normal\",\"enable_sort\":false,\"searchable\":false}}','2022-08-15 00:00:00','2022-12-07 13:12:02'); /*!40000 ALTER TABLE `wa_options` ENABLE KEYS */; UNLOCK TABLES;