| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- <?php
- namespace App\Http\Controllers\Api\v1;
- use App\Http\Controllers\Api\webApp;
- use App\Services\Api\ImChatService;
- use App\Services\Api\MemberSettingService;
- use App\Services\Api\MessageService;
- use App\Services\ZegoService;
- /**
- * 消息管理
- * Class MessageController
- * @package App\Http\Controllers\Api
- */
- class MessageController extends webApp
- {
- /**
- * 站内消息窗口记录
- * @return array
- */
- public function index()
- {
- $datas = MessageService::make()->getGroupList($this->userId);
- return message(1010, true, $datas);
- }
- /**
- * 站内推送消息历史
- * @return array|mixed
- */
- public function history()
- {
- $params = request()->post();
- $pageSize = request()->post('pageSize', 20);
- $datas = MessageService::make()->getDataList($this->userId, $params, $pageSize);
- return message(1010, true, $datas);
- }
- /**
- * 聊天列表
- * @return array
- */
- public function chat()
- {
- $params = request()->post();
- $pageSize = request()->post('pageSize', 20);
- $datas = ImChatService::make()->getDataListFromatKey($this->userId, $params, $pageSize);
- return message(1010, true, $datas);
- }
- /**
- * 消息历史
- * @return array
- */
- public function chatHistory()
- {
- $params = request()->post();
- $pageSize = request()->post('pageSize', 20);
- $datas = ImChatService::make()->getDataList($this->userId, $params, $pageSize);
- return message(1010, true, $datas);
- }
- /**
- * 消息参数
- * @return array
- */
- public function getSetting()
- {
- $datas = MemberSettingService::make()->getSetting($this->userId);
- if(empty($datas)){
- $datas = [
- 'receive_app'=> 1,
- 'receive_custom'=> 1,
- 'receive_order'=> 1,
- 'receive_account'=> 1,
- ];
- }
- return message(1010, true, $datas);
- }
- /**
- * 修改消息设置参数
- * @return array
- */
- public function setSetting()
- {
- $params = request()->post();
- if(!$result = MemberSettingService::make()->setMsgData($this->userId, $params)){
- return message(1020, false);
- }else{
- return message(1019, true);
- }
- }
- /**
- * 设置已读
- * @return array
- */
- public function setRead()
- {
- $chatKey = request()->post('chat_key','');
- $type = request()->post('type',1);
- $msgType = request()->post('msg_type',1);
- if($type == 1){
- if(!$result = MessageService::make()->setRead($this->userId, $msgType)){
- return message(1020, false);
- }else{
- return message(1019, true);
- }
- }else if($type == 2){
- if(!$result = ImChatService::make()->setRead($this->userId, $chatKey)){
- return message(1020, false);
- }else{
- return message(1019, true);
- }
- }
- return message(1020, false);
- }
- /**
- * 隐藏
- * @return array
- */
- public function setHide()
- {
- $chatKey = request()->post('chat_key','');
- $type = request()->post('type',1);
- $msgType = request()->post('msg_type',1);
- if($type == 1){
- if(!$result = MessageService::make()->setHide($this->userId, $msgType)){
- return message(1020, false);
- }else{
- return message(1019, true);
- }
- }else if($type == 2){
- if(!$result = ImChatService::make()->setHide($this->userId, $chatKey)){
- return message(1020, false);
- }else{
- return message(1019, true);
- }
- }
- return message(1020, false);
- }
- /**
- * 聊天清除消息历史
- * @return array
- */
- public function clear()
- {
- $chatKey = request()->post('chat_key','');
- $type = request()->post('type', 1);
- $msgType = request()->post('msg_type', 1);
- if($type == 1){
- if(!$result = MessageService::make()->clear($this->userId, $msgType)){
- return message(1003, false);
- }else{
- return message(1002, true);
- }
- }else if ($type == 2){
- if(!$result = ImChatService::make()->clear($this->userId, $chatKey)){
- return message(1003, false);
- }else{
- return message(1002, true);
- }
- }
- return message(1003, false);
- }
- /**
- * 聊天清除消息历史
- * @return array
- */
- public function clearAll()
- {
- $type = request()->post('type', 1);
- if(!$result = ImChatService::make()->clearAll($this->userId, $type)){
- return message(1003, false);
- }else{
- return message(1002, true);
- }
- }
- /**
- * 获取token
- * @return array
- */
- public function getToken()
- {
- $token = ZegoService::make()->getToken();
- return message(1010, true, $token);
- }
- /**
- * 获取token
- * @return array
- */
- public function loginRoom()
- {
- $roomId = request()->post('roomId', '');
- $toUserId = request()->post('userId', 0);
- $token = ZegoService::make()->loginRoom($this->userId, $toUserId, $roomId);
- return message(1010, true, $token);
- }
- /**
- * 计算聊天消息
- * @return array
- */
- public function chatCount()
- {
- $userId = request()->post('id',0);
- $result = ImChatService::make()->getCount($userId);
- return message(1010, true, $result);
- }
- }
|