friend_pendency_manager.js
6.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
//定义我的好友申请表格每行按钮
function gpOperateFormatter(value, row, index) {
return [
'<a class="edit" href="javascript:void(0)" title="处理">',
'<i class="glyphicon glyphicon-edit"></i>',
'</a>',
'<a class="remove ml10" href="javascript:void(0)" title="删除">',
'<i class="glyphicon glyphicon-remove"></i>',
'</a>'
].join('');
}
//我的好友申请表格每行的按钮点击事件
window.gpOperateEvents = {
'click .edit': function (e, value, row, index) {
$("#rf_to_account").val(row.To_Account);
$('#response_friend_dialog').modal('show');
},
'click .remove': function (e, value, row, index) {
if (confirm("确定删除这条记录吗?")) {
deletePendency(row.To_Account);
}
}
};
//初始化我的好友申请表格
function initGetPendencyTable(data) {
$('#get_pendency_table').bootstrapTable({
method: 'get',
cache: false,
height: 500,
striped: true,
pagination: true,
pageSize: pageSize,
pageNumber: 1,
pageList: [10, 20, 50, 100],
search: true,
showColumns: true,
clickToSelect: true,
columns: [
{field: "To_Account", title: "对方账号", align: "center", valign: "middle", sortable: "true", visible: false},
{field: "Nick", title: "对方昵称", align: "center", valign: "middle", sortable: "true"},
{field: "AddWording", title: "附言", align: "center", valign: "middle", sortable: "true"},
{field: "AddSource", title: "来源", align: "center", valign: "middle", sortable: "true", visible: false},
{field: "AddTime", title: "申请时间", align: "center", valign: "middle", sortable: "true"},
{
field: "gpOperate",
title: "操作",
align: "center",
valign: "middle",
formatter: "gpOperateFormatter",
events: "gpOperateEvents"
}
],
data: data,
formatNoMatches: function () {
return '无符合条件的记录';
}
});
}
//读取好友申请列表
//notifyFlag: true表示来自好友系统通知触发,false表示用户主动点击【获取好友申请】菜单
var getPendency = function (notifyFlag) {
initGetPendencyTable([]);
var options = {
//请求发起方的帐号,一般情况下为用户本人帐号,在管理员代替用户发起请求的情况下,这里应该填写被代替的用户的帐号
'From_Account': loginInfo.identifier,
//Pendency_Type_ComeIn: 别人发给我的; Pendency_Type_SendOut: 我发给别人的
'PendencyType': 'Pendency_Type_ComeIn',
//好友申请的起始时间
'StartTime': 0,
//分页大小,如果取值为30 则表示客户端要求服务器端每页最多返回30个好友申请
'MaxLimited': totalCount,
//好友申请数据的版本号,用户每收到或删除一条好友申请,服务器端就自增一次好友申请数据版本号,一般传0,表示拉取最新的数据
'LastSequence': 0
};
webim.getPendency(
options,
function (resp) {
var data = [];
if (resp.UnreadPendencyCount > 0) {//存在未读未决
for (var i in resp.PendencyItem) {
var apply_time = webim.Tool.formatTimeStamp(resp.PendencyItem[i].AddTime);
var nick = webim.Tool.formatText2Html(resp.PendencyItem[i].Nick);
if (nick == '') {
nick = resp.PendencyItem[i].To_Account;
}
var addWording = webim.Tool.formatText2Html(resp.PendencyItem[i].AddWording);
data.push({
To_Account: webim.Tool.formatText2Html(resp.PendencyItem[i].To_Account),
Nick: nick,
AddWording: addWording,
AddSource: resp.PendencyItem[i].AddSource,
AddTime: apply_time
});
}
$('#get_pendency_table').bootstrapTable('load', data);
$('#get_pendency_dialog').modal('show');
} else {
if (!notifyFlag) {
alert('没有加好友申请');
}
}
},
function (err) {
alert(err.ErrorInfo);
}
);
};
//删除申请列表
var deletePendency = function (del_account) {
var options = {
'From_Account': loginInfo.identifier,
'PendencyType': 'Pendency_Type_ComeIn',
'To_Account': [del_account]
};
webim.deletePendency(
options,
function (resp) {
//在表格中删除对应的行
$('#get_pendency_table').bootstrapTable('remove', {
field: 'To_Account',
values: [del_account]
});
alert('删除好友申请成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};
//处理好友申请
var responseFriend = function () {
var response_friend_item = [
{
'To_Account': $("#rf_to_account").val(),
"ResponseAction": $('input[name="rf_action_radio"]:checked').val()//类型:Response_Action_Agree 或者 Response_Action_AgreeAndAdd
}
];
var options = {
'From_Account': loginInfo.identifier,
'ResponseFriendItem': response_friend_item
};
webim.responseFriend(
options,
function (resp) {
//在表格中删除对应的行
$('#get_pendency_table').bootstrapTable('remove', {
field: 'To_Account',
values: [$("#rf_to_account").val()]
});
$('#response_friend_dialog').modal('hide');
if (response_friend_item[0].ResponseAction == 'Response_Action_AgreeAndAdd') {
//getAllFriend(getAllFriendsCallbackOK);
}
alert('处理好友申请成功');
},
function (err) {
alert(err.ErrorInfo);
}
);
};