Skip to content

Commit 774216b

Browse files
authored
Merge pull request #14 from duckchat/develop
Develop(fix group speakers bug)
2 parents 52fe2e3 + db66744 commit 774216b

2 files changed

Lines changed: 57 additions & 32 deletions

File tree

src/controller/Api/Group/Api_Group_SetSpeakerController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ private function removeGroupSpeakers($groupId, $groupSpeakers, $setSpeakers)
118118
return $groupSpeakers;
119119
}
120120

121-
private function closeGroupSpeaker($groupId)
121+
private function closeGroupSpeaker($groupId, $groupSpeakers)
122122
{
123123
if (empty($groupSpeakers)) {
124124
return true;

src/public/js/im/zalyGroupMsg.js

Lines changed: 56 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -971,7 +971,7 @@ function handleGetGroupMemberInfo(result)
971971

972972
$(document).on("click", ".open_chat", function () {
973973
var userId = $(this).attr("userId");
974-
openU2Chat(userId);
974+
sendFriendProfileReq(userId, openU2Chat);
975975
removeWindow($("#group-member-list-div"));
976976
});
977977
$(document).on("click", ".add-friend-by-group-member",function () {
@@ -1788,20 +1788,31 @@ function getGroupOwner(groupProfile)
17881788
$(document).on("click", "#open-temp-chat", function () {
17891789
var node = $(this)[0].parentNode;
17901790
var userId = $(node).attr("userId");
1791-
openU2Chat(userId);
1791+
sendFriendProfileReq(userId, openU2Chat);
17921792
});
17931793

1794-
function openU2Chat(userId)
1794+
function openU2Chat(result)
17951795
{
1796-
if(userId == undefined) {
1797-
return ;
1796+
handleGetFriendProfile(result);
1797+
1798+
if(result == undefined) {
1799+
return;
1800+
}
1801+
var profile = result.profile;
1802+
1803+
if(profile != undefined && profile["profile"]) {
1804+
var userProfile = profile["profile"];
1805+
var userId = userProfile.userId;
1806+
1807+
if(userId == undefined) {
1808+
return ;
1809+
}
1810+
localStorage.setItem(chatSessionIdKey, userId);
1811+
localStorage.setItem(userId, U2_MSG);
1812+
$(".user-desc-body").html(userId);
1813+
handleMsgRelation(undefined, userId);
1814+
insertU2Room(userId);
17981815
}
1799-
localStorage.setItem(chatSessionIdKey, userId);
1800-
localStorage.setItem(userId, U2_MSG);
1801-
$(".user-desc-body").html(userId);
1802-
sendFriendProfileReq(userId);
1803-
handleMsgRelation(undefined, userId);
1804-
insertU2Room(userId);
18051816
}
18061817

18071818
function insertU2Room(userId)
@@ -2288,11 +2299,20 @@ $(document).on("click", "#set-speaker", function () {
22882299
function updateGroupSpeaker(groupId, speakerUserIds, type, callback)
22892300
{
22902301
var action = "api.group.setSpeaker";
2291-
var reqData = {
2292-
"groupId": groupId,
2293-
"setType" : type,
2294-
"speakerUserIds" :speakerUserIds,
2302+
var reqData;
2303+
if(speakerUserIds.length > 0 ) {
2304+
reqData = {
2305+
"groupId": groupId,
2306+
"setType" : type,
2307+
"speakerUserIds" :speakerUserIds,
2308+
}
2309+
} else {
2310+
reqData = {
2311+
"groupId": groupId,
2312+
"setType" : type,
2313+
}
22952314
}
2315+
22962316
handleClientSendRequest(action, reqData, callback);
22972317
}
22982318

@@ -2409,19 +2429,17 @@ $(document).on("click", ".remove-all-speaker", function () {
24092429
var removeSpeakers = $(".remove-speaker");
24102430
var removeSpeakersLength = removeSpeakers.length;
24112431
var groupId = localStorage.getItem(chatSessionIdKey);
2412-
var speakerUserIds = [];
24132432
for(var i=0; i<removeSpeakersLength;i++) {
24142433
var speakers = removeSpeakers[i];
24152434
var userId = $(speakers).attr("userId");
2416-
speakerUserIds.push(userId);
24172435
var speakerInfo = {
24182436
userId:userId,
24192437
nickname:$(speakers).attr("nickname"),
24202438
avatar:$(speakers).attr("avatar"),
24212439
}
24222440
deleteSpeakerInfo.push(speakerInfo);
24232441
}
2424-
updateGroupSpeaker(groupId, speakerUserIds, SetSpeakerType.RemoveSpeaker, handleRemoveSpeaker)
2442+
updateGroupSpeaker(groupId, [], SetSpeakerType.CloseSpeaker, handleRemoveSpeaker)
24252443
});
24262444

24272445
$(document).on("click", "#remove-speaker", function () {
@@ -2481,28 +2499,34 @@ function updateGroupProfile(groupId, values)
24812499
$(document).on("click", ".add-friend-btn", function(){
24822500
var userId = localStorage.getItem(chatSessionIdKey);
24832501
$("#add-friend-div").attr("userId", userId);
2484-
displayAddFriend(userId);
2502+
sendFriendProfileReq(userId, displayAddFriend);
24852503
});
24862504

24872505
$(document).on("click", "#add-friend", function () {
24882506
var node = $(this)[0].parentNode;
24892507
var userId = $(node).attr("userId");
2490-
displayAddFriend(userId)
2508+
sendFriendProfileReq(userId, displayAddFriend);
24912509
});
24922510

2493-
function displayAddFriend(userId)
2511+
function displayAddFriend(result)
24942512
{
2513+
handleGetFriendProfile(result);
2514+
if(result == undefined) {
2515+
return;
2516+
}
2517+
var profile = result.profile;
24952518

2496-
$("#add-friend-div").attr("userId", userId);
2497-
var friendProfile = getFriendProfile(userId, true,handleGetFriendProfile);
2498-
var nickname = friendProfile != false ? friendProfile.nickname : "";
2499-
var html = template("tpl-add-friend-div", {
2500-
nickname: nickname,
2501-
userId : userId,
2502-
});
2503-
$("#add-friend-div").html(html);
2504-
getNotMsgImg(userId, friendProfile.avatar);
2505-
showWindow($('#add-friend-div'));
2519+
if(profile != undefined && profile["profile"]) {
2520+
var friendProfile = profile["profile"];
2521+
$("#add-friend-div").attr("userId", friendProfile.userId);
2522+
var html = template("tpl-add-friend-div", {
2523+
nickname: friendProfile.nickname,
2524+
userId : friendProfile.userId,
2525+
});
2526+
$("#add-friend-div").html(html);
2527+
getNotMsgImg(friendProfile.userId, friendProfile.avatar);
2528+
showWindow($('#add-friend-div'));
2529+
}
25062530
}
25072531

25082532

@@ -2533,6 +2557,7 @@ function sendFriendApplyReq(userId, greetings, callback)
25332557
};
25342558
handleClientSendRequest(action, reqData, callback)
25352559
}
2560+
25362561
function handleApplyFriend(results)
25372562
{
25382563
removeWindow($("#add-friend-div"));

0 commit comments

Comments
 (0)