添加群成员查看功能

This commit is contained in:
liuwei
2025-04-03 13:30:56 +08:00
parent dbbc16346c
commit 2db6232e58
4 changed files with 80 additions and 4 deletions

View File

@@ -197,12 +197,33 @@
</el-row>
<!-- 群组详情对话框 -->
<el-dialog title="群组详情" {% raw %}:visible.sync="groupDetailDialogVisible"{% endraw %} width="50%">
<el-dialog title="群组详情" {% raw %}:visible.sync="groupDetailDialogVisible"{% endraw %} width="70%">
<el-descriptions {% raw %}:column="1"{% endraw %} border>
<el-descriptions-item label="群ID">{% raw %}{{ currentGroup.wxid }}{% endraw %}</el-descriptions-item>
<el-descriptions-item label="群名称">{% raw %}{{ currentGroup.name }}{% endraw %}</el-descriptions-item>
<!-- 可以添加更多群组相关信息 -->
</el-descriptions>
<div style="margin-top: 20px;">
<h3>群成员列表</h3>
<div {% raw %}v-if="loadingMembers"{% endraw %} style="text-align: center; padding: 20px;">
<el-spinner></el-spinner>
<p>加载群成员中...</p>
</div>
<div {% raw %}v-else-if="groupMembers.length === 0"{% endraw %} style="text-align: center; padding: 20px;">
<p>暂无群成员信息</p>
</div>
<el-table
{% raw %}v-else
:data="groupMembers"{% endraw %}
style="width: 100%"
border>
<el-table-column type="index" width="50"></el-table-column>
<el-table-column prop="wxid" label="成员ID" width="220"></el-table-column>
<el-table-column prop="nickname" label="昵称"></el-table-column>
<el-table-column prop="displayname" label="群内显示名" width="150"></el-table-column>
</el-table>
</div>
</el-dialog>
<!-- 用户详情对话框 -->
@@ -263,7 +284,9 @@
currentGroup: {},
currentUser: {},
currentOfficial: {},
currentPublic: {}
currentPublic: {},
groupMembers: [],
loadingMembers: false
};
},
computed: {
@@ -436,6 +459,34 @@
viewGroupDetails(group) {
this.currentGroup = group;
this.groupDetailDialogVisible = true;
this.loadGroupMembers(group.wxid);
},
loadGroupMembers(groupId) {
this.loadingMembers = true;
this.groupMembers = [];
axios.get(`/contacts/api/group/${groupId}/members`)
.then(response => {
if (response.data.success) {
const members = response.data.data.members;
this.groupMembers = Object.entries(members).map(([wxid, info]) => {
return {
wxid: wxid,
nickname: info.nickname || '未知',
displayname: info.displayname || '未设置'
};
});
} else {
this.$message.warning('获取群成员信息失败: ' + response.data.error);
}
})
.catch(error => {
console.error('加载群成员数据失败:', error);
this.$message.error('加载群成员数据失败');
})
.finally(() => {
this.loadingMembers = false;
});
},
viewUserDetails(user) {
this.currentUser = user;