has been completed.

This commit is contained in:
xyz
2025-09-09 15:37:57 +08:00
parent 83f3f4f74e
commit 89ff4fbac0
38 changed files with 2679 additions and 161 deletions

View File

@ -1,4 +1,7 @@
#include "groupsessiondetailwidget.h"
#include "model/datacenter.h"
using namespace model;
GroupSessionDetailWidget::GroupSessionDetailWidget(QWidget *parent)
: QDialog(parent)
@ -64,7 +67,7 @@ GroupSessionDetailWidget::GroupSessionDetailWidget(QWidget *parent)
vlayout->addLayout(hlayout);
//创建群聊名字的label
QLabel* groupNameLabel = new QLabel();
groupNameLabel = new QLabel();
groupNameLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
groupNameLabel->setFixedHeight(50);
groupNameLabel->setStyleSheet("QLabel { font-size: 18px; }");
@ -98,6 +101,35 @@ GroupSessionDetailWidget::GroupSessionDetailWidget(QWidget *parent)
this->addMember(item);
}
#endif
//从服务器加载数据
initData();
}
void GroupSessionDetailWidget::initData()
{
DataCenter* dataCenter = DataCenter::getInstance();
connect(dataCenter, &DataCenter::getMemberListDone, this, &GroupSessionDetailWidget::initMembers);
dataCenter->getMemberListAsync(dataCenter->getCurrentSessionId());
}
void GroupSessionDetailWidget::initMembers(const QString& chatSessionId)
{
//根据刚才拿到的成员列表,把成员列表渲染在界面上
DataCenter* dataCenter = DataCenter::getInstance();
QList<UserInfo>* memberList = dataCenter->getMemberList(chatSessionId);
if (memberList == nullptr) {
LOG() << "获取的成员列表为空 chatSessionId= " << chatSessionId;
return;
}
//遍历成员列表
for (const auto& u : *memberList) {
AvatarItem* avatarItem = new AvatarItem(u.avatar, u.nickname);
this->addMember(avatarItem);
}
//群聊名称,此处暂时先设置为固定值
groupNameLabel->setText("新的群聊");
}
void GroupSessionDetailWidget::addMember(AvatarItem* avatarItem)