1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-06-24 04:01:31 +08:00

1.websocket客户端主动发消息给服务端保持连接

2.群组用户只返回在线用户,减少传输量
This commit is contained in:
xiaochong0302 2020-09-09 20:49:35 +08:00
parent 23af401082
commit 1bf7449eed
6 changed files with 19 additions and 16 deletions

View File

@ -51,14 +51,18 @@ class Im extends Service
$group = $validator->checkGroup($id);
$groupRepo = new ImGroupRepo();
Gateway::$registerAddress = $this->getRegisterAddress();
$users = $groupRepo->findUsers($group->id);
$userIds = Gateway::getUidListByGroup($this->getGroupName($group->id));
if ($users->count() == 0) {
if (count($userIds) == 0) {
return [];
}
$userRepo = new ImUserRepo();
$users = $userRepo->findByIds($userIds);
$baseUrl = kg_cos_url();
$result = [];
@ -211,7 +215,6 @@ class Im extends Service
'name' => $user->name,
'avatar' => $user->avatar,
],
'status' => $user->status == 'online' ? 'online' : 'offline',
]);
Gateway::sendToUid($friendUser->friend_id, $content);
}

View File

@ -71,10 +71,9 @@
{% block include_js %}
<script src="//imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.2.js"></script>
{{ js_include('https://imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.3.js', false) }}
{{ js_include('desktop/js/chapter.live.player.js') }}
{{ js_include('desktop/js/chapter.live.im.js') }}
{{ js_include('desktop/js/chapter.live.chat.js') }}
{{ js_include('desktop/js/chapter.action.js') }}
{{ js_include('desktop/js/course.share.js') }}

View File

@ -56,8 +56,7 @@
{% block include_js %}
<script src="//imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.3.js"></script>
{{ js_include('https://imgcache.qq.com/open/qcloud/video/vcplayer/TcPlayer-2.3.3.js', false) }}
{{ js_include('desktop/js/course.share.js') }}
{{ js_include('desktop/js/chapter.action.js') }}
{{ js_include('desktop/js/chapter.vod.player.js') }}

View File

@ -4,7 +4,7 @@
{% elseif gender == 2 %}
{% else %}
{% endif %}
{%- endmacro %}

View File

@ -11,6 +11,9 @@ layui.use(['jquery', 'form', 'helper'], function () {
socket.onopen = function () {
console.log('socket connect success');
setInterval(function () {
socket.send('ping');
}, 30000);
};
socket.onclose = function () {
@ -24,9 +27,7 @@ layui.use(['jquery', 'form', 'helper'], function () {
socket.onmessage = function (e) {
var data = JSON.parse(e.data);
console.log(data);
if (data.type === 'ping') {
socket.send('pong...');
} else if (data.type === 'bind_user') {
if (data.type === 'bind_user') {
bindUser(data.client_id);
} else if (data.type === 'new_message') {
showNewMessage(data);

View File

@ -6,6 +6,9 @@ layui.use(['jquery', 'layim'], function () {
socket.onopen = function () {
console.log('socket connect success');
setInterval(function () {
socket.send('ping');
}, 30000);
};
socket.onclose = function () {
@ -19,9 +22,7 @@ layui.use(['jquery', 'layim'], function () {
socket.onmessage = function (e) {
var data = JSON.parse(e.data);
console.log(data);
if (data.type === 'ping') {
socket.send('pong...');
} else if (data.type === 'bind_user') {
if (data.type === 'bind_user') {
bindUser(data);
refreshMessageBox();
} else if (data.type === 'new_group_user') {