renderPartial('index'); } //绑定 ssh 2019.12.28 public function actionBindUser() { $post = Yii::$app->request->post(); $clientId = isset($post['clientId']) ? $post['clientId'] : ''; $userId = $this->userId; Gateway::bindUid($clientId, $userId); } //聊天双方的用户信息 ssh 2019.12.30 public function actionBegin() { //新增最近联系人 ChatService::addRecentlyUser($this->sjId, $this->userId); util::success(['merchant' => $this->sj->attributes, 'user' => $this->user]); } //发消息给老板 ssh 2019.12.28 public function actionSend() { $post = Yii::$app->request->post(); $type = isset($post['type']) ? $post['type'] : 'text'; $arr = []; $arr['type'] = $type; $arr['source'] = 'user'; $arr['time'] = '12:51'; switch ($type) { case 'text': //文字 $content = $post['content']; $arr['content'] = $content; break; case 'img': //图片 $shortUrl = $post['shortUrl']; $return = business::formatUploadImg($shortUrl); $arr['url'] = $return['url']; $arr['smallUrl'] = $return['smallUrl']; break; case 'link': //常用链接 $id = $post['linkId']; $respond = MerchantService::getCommonUrl($id); $arr['name'] = $respond['name']; $arr['img'] = $respond['img']; $arr['url'] = $respond['url']; break; case 'goods': //商品 $id = $post['goodsId']; $info = GoodsService::getGoodsInfo($id); GoodsService::valid($info, $this->mainId); $arr['name'] = $info['name']; $arr['img'] = isset($info['smallImgList'][0]) ? $info['smallImgList'][0] : ''; $arr['price'] = isset($info['price']) ? $info['price'] : 300; break; } $data[] = $arr; $id = 'merchantChat_' . $this->sjId; $chatOnline = Gateway::getClientIdByUid($id); if ($chatOnline) { //直接发送 Gateway::sendToUid($id, json_encode($data)); util::success($data); } //有打开后台但没打开聊天框,通知有新消息 $consoleId = 'merchantConsole_' . $this->sjId; $consoleOnline = Gateway::getClientIdByUid($consoleId); if ($consoleOnline) { $data = ['type' => 'newMessage', 'status' => 1]; Gateway::sendToUid($consoleId, json_encode($data)); } util::success($data); } //关闭当前链接 public function actionClose() { $post = Yii::$app->request->post(); $clientId = isset($post['clientId']) ? $post['clientId'] : ''; Gateway::closeClient($clientId); } //最近聊天的内容 ssh 2019.12.29 public function actionRecentlyMessage() { $respond = ChatService::getMessageList($this->userId); util::success($respond); } }