getConfig()['admin_real'] == 2 || $this->getConfig()['user_real'] == 2) { require_once __DIR__ . '/library/libs/GatewayClient/Gateway.php'; GatewayTool::init(); } if (request()->isCli()) { \think\Console::addDefaultCommands([ 'addons\notice\library\libs\GatewayWorker\server' ]); } } /** * @param $params */ public function configInit(&$params) { $config = $this->getConfig(); if ($config['wss_switch'] == 1) { $protocol = 'wss://'; } else { $protocol = 'ws://'; } $wsurl = $protocol .\request()->host() . ':' . $config['websocket_port']; $params['notice'] = [ 'admin_real' => $config['admin_real'], 'wsurl' => $wsurl, 'user_real_url' => $config['user_real_url'], 'user_real' => $config['user_real'] ]; } /** * 插件安装方法 * * @return bool */ public function install() { $config_file = ADDON_PATH . "notice" . DS . 'config' . DS . "menu.php"; $menu = include $config_file; Menu::create($menu); return true; } /** * 插件卸载方法 * * @return bool */ public function uninstall() { Menu::delete("notice"); Menu::delete("notice/admin"); return true; } /** * 插件启用方法 * * @return bool */ public function enable() { Menu::enable("notice"); Menu::enable("notice/admin"); return true; } /** * 插件禁用方法 * * @return bool */ public function disable() { Menu::disable("notice"); Menu::disable("notice/admin"); return true; } /** * 会员中心边栏后 * * @return mixed * @throws \Exception */ public function userSidenavAfter() { $request = Request::instance(); $actionname = strtolower($request->action()); $data = [ 'actionname' => $actionname, ]; return $this->fetch('view/hook/user_sidenav_after', $data); } /** * 发送消息 */ public function sendNotice($params) { return NoticeClient::instance()->trigger($params['event'], $params['params']); } }