inserData(); $this->insertConf(); $this->insertUser(); $this->insertMenu(); } /** * 安装扩展数据 * @return void */ private function inserData() { // 待解析处理数据 $json = '[]'; // 解析并写入扩展数据 if (is_array($tables = json_decode($json, true)) && count($tables) > 0) { foreach ($tables as $table => $path) if (($model = m($table))->count() < 1) { $name = Str::studly($table); ProcessService::message(" -- Starting write {$table} table ..." . PHP_EOL); [$ls, $rs, $fp] = [0, [], fopen(__DIR__ . DIRECTORY_SEPARATOR . $path, 'r+')]; while (!feof($fp)) { if (empty($text = trim(fgets($fp)))) continue; else $ls++; if (is_array($rw = json_decode($text, true))) $rs[] = $rw; if (count($rs) > 100) [, $rs] = [$model->strict(false)->insertAll($rs), []]; ProcessService::message(" -- -- {$name}:{$ls}", 1); } count($rs) > 0 && $model->strict(false)->insertAll($rs); ProcessService::message(" -- Finished write {$table} table, Total {$ls} rows.", 2); } } } /** * 初始化配置参数 * @return void */ private function insertConf() { $modal = SystemConfig::mk()->whereRaw('1=1')->findOrEmpty(); $modal->isEmpty() && $modal->insertAll([ ['type' => 'base', 'name' => 'app_name', 'value' => 'ThinkAdmin'], ['type' => 'base', 'name' => 'app_version', 'value' => 'v6'], ['type' => 'base', 'name' => 'editor', 'value' => 'ckeditor5'], ['type' => 'base', 'name' => 'login_name', 'value' => '系统管理'], ['type' => 'base', 'name' => 'site_copy', 'value' => '©版权所有 2014-' . date('Y') . ' ThinkAdmin'], ['type' => 'base', 'name' => 'site_icon', 'value' => 'https://thinkadmin.top/static/img/logo.png'], ['type' => 'base', 'name' => 'site_name', 'value' => 'ThinkAdmin'], ['type' => 'base', 'name' => 'site_theme', 'value' => 'default'], ['type' => 'wechat', 'name' => 'type', 'value' => 'api'], ['type' => 'storage', 'name' => 'type', 'value' => 'local'], ['type' => 'storage', 'name' => 'allow_exts', 'value' => 'doc,gif,ico,jpg,mp3,mp4,p12,pem,png,zip,rar,xls,xlsx'], ]); } /** * 初始化用户数据 * @return void */ private function insertUser() { $modal = SystemUser::mk()->whereRaw('1=1')->findOrEmpty(); $modal->isEmpty() && $modal->insert([ 'id' => '10000', 'username' => 'admin', 'nickname' => '超级管理员', 'password' => '21232f297a57a5a743894a0e4a801fc3', 'headimg' => 'https://thinkadmin.top/static/img/head.png', ]); } /** * 初始化系统菜单 * @return void */ private function insertMenu() { if (SystemMenu::mk()->whereRaw('1=1')->findOrEmpty()->isEmpty()) { // 解析并初始化菜单数据 $json = '[ { "name": "系统", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "系统配置", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "系统参数", "url": "admin/config/index", "node": "", "icon": "layui-icon layui-icon-set", "params": "" }, { "name": "系统任务", "url": "admin/queue/index", "node": "", "icon": "layui-icon layui-icon-log", "params": "" }, { "name": "系统日志", "url": "admin/oplog/index", "node": "", "icon": "layui-icon layui-icon-form", "params": "" }, { "name": "系统菜单", "url": "admin/menu/index", "node": "", "icon": "layui-icon layui-icon-layouts", "params": "" }, { "name": "系统设置", "url": "setting/config/index", "node": "setting/config/index", "icon": "layui-icon layui-icon-logout", "params": "" }, { "name": "商户分离中台设置", "url": "setting/merchant_config/index", "node": "setting/merchant_config/index", "icon": "layui-icon layui-icon-vercode", "params": "" }, { "name": "文件管理", "url": "admin/file/index", "node": "admin/file/index", "icon": "layui-icon layui-icon-layim-uploadfile", "params": "" }, { "name": "字典", "url": "admin/base/index", "node": "admin/base/index", "icon": "layui-icon layui-icon-template-1", "params": "" } ] }, { "name": "权限管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "访问权限", "url": "admin/auth/index", "node": "", "icon": "layui-icon layui-icon-vercode", "params": "" }, { "name": "系统用户", "url": "admin/user/index", "node": "", "icon": "layui-icon layui-icon-username", "params": "" } ] } ] }, { "name": "渠道", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "渠道管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "渠道列表", "url": "channel/channel/index", "node": "channel/channel/index", "icon": "layui-icon layui-icon-transfer", "params": "" }, { "name": "系统列表", "url": "channel/system/index", "node": "channel/system/index", "icon": "", "params": "" } ] }, { "name": "业务管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "业务列表", "url": "channel/service/index", "node": "channel/service/index", "icon": "layui-icon layui-icon-component", "params": "" } ] }, { "name": "卡密管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "卡密管理", "url": "channel/card/index", "node": "channel/card/index", "icon": "layui-icon layui-icon-android", "params": "" }, { "name": "充值卡管理", "url": "channel/card/chongzhi", "node": "channel/card/chongzhi", "icon": "", "params": "" } ] } ] }, { "name": "商户", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "商户管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "商户列表", "url": "merchant/merchant/index", "node": "merchant/merchant/index", "icon": "layui-icon layui-icon-service", "params": "" }, { "name": "渠道关联", "url": "merchant/merchant_relation/index", "node": "merchant/merchant_relation/index", "icon": "layui-icon layui-icon-transfer", "params": "" }, { "name": "卡号黑名单", "url": "setting/black_card/index", "node": "setting/black_card/index", "icon": "layui-icon layui-icon-logout", "params": "" } ] } ] }, { "name": "订单", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "订单列表", "icon": "layui-icon layui-icon-print", "url": "order/order/index", "node": "order/order/index", "params": "" }, { "name": "卡库提卡列表", "icon": "", "url": "order/kami91_order/index", "node": "order/kami91_order/index", "params": "" } ] }, { "name": "财务", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "账单管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "渠道账单", "url": "channel/account/index", "node": "channel/account/index", "icon": "layui-icon layui-icon-service", "params": "" }, { "name": "商户账单", "url": "setting/merchant_account/index", "node": "setting/merchant_account/index", "icon": "layui-icon layui-icon-slider", "params": "" }, { "name": "公户账单", "url": "setting/account_log/index", "node": "setting/account_log/index", "icon": "layui-icon layui-icon-service", "params": "" } ] }, { "name": "统计管理", "icon": "", "url": "#", "node": "", "params": "", "subs": [ { "name": "订单统计", "url": "setting/stat/index", "node": "setting/stat/index", "icon": "layui-icon layui-icon-windows", "params": "" }, { "name": "渠道对账", "url": "setting/channel_account/index", "node": "setting/channel_account/index", "icon": "layui-icon layui-icon-transfer", "params": "" }, { "name": "账单统计", "url": "setting/account/index", "node": "setting/account/index", "icon": "layui-icon layui-icon-gift", "params": "" } ] } ] } ]'; PhinxExtend::write2menu(json_decode($json, true) ?: []); } } }