mirror of
https://gitee.com/Zhaoxin59/my-chat_-client.git
synced 2026-02-14 09:01:50 +08:00
add button functionality
This commit is contained in:
@ -433,4 +433,190 @@ namespace network {
|
||||
//统一更新会话列表的消息预览
|
||||
emit dataCenter->updateLastMessage(chatSessionId);
|
||||
}
|
||||
void NetClient::changeNickname(const QString& loginSessionId, const QString& nickname)
|
||||
{
|
||||
//通过 protobuf 构造请求body
|
||||
bite_im::SetUserNicknameReq pbReq;
|
||||
pbReq.setRequestId(makeRequestId());;
|
||||
pbReq.setSessionId(loginSessionId);
|
||||
pbReq.setNickname(nickname);
|
||||
|
||||
QByteArray body = pbReq.serialize(&serializer);
|
||||
LOG() << "修改用户昵称->发送请求 requestId= " << pbReq.requestId() << ", loginSessionId= " << pbReq.sessionId()
|
||||
<< ", nickname= " << pbReq.nickname();
|
||||
|
||||
//发送HTTP请求
|
||||
QNetworkReply* resp = this->sendHttpRequest("/service/user/set_nickname", body);
|
||||
|
||||
//处理HTTP响应
|
||||
connect(resp, & QNetworkReply::finished, this, [=]() {
|
||||
//解析响应
|
||||
bool ok = false;
|
||||
QString reason;
|
||||
auto pbResp = this->handleHttpResponse<bite_im::SetUserNicknameRsp>(resp, &ok, &reason);
|
||||
//判定响应是否正确
|
||||
if (!ok) {
|
||||
LOG() << "修改用户昵称->处理出错 reason= " << reason;
|
||||
return;
|
||||
}
|
||||
//把结果写入到DataCenter中
|
||||
dataCenter->resetNickname(nickname);
|
||||
|
||||
//通知调用者,响应已经处理完毕
|
||||
emit dataCenter->changeNicknameDone();
|
||||
LOG() << "修改用户昵称->响应处理完毕 requestId= " << pbResp->requestId();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
void NetClient::changeDescription(const QString& loginSessionId, const QString& desc)
|
||||
{
|
||||
//通过 protobuf 构造请求body
|
||||
bite_im::SetUserDescriptionReq pbReq;
|
||||
pbReq.setRequestId(makeRequestId());
|
||||
pbReq.setSessionId(loginSessionId);
|
||||
pbReq.setDescription(desc);
|
||||
QByteArray body = pbReq.serialize(&serializer);
|
||||
LOG() << "修改用户描述->发送请求 requestId= " << pbReq.requestId() << ", loginSessionId= " << pbReq.sessionId()
|
||||
<< ", description= " << pbReq.description();
|
||||
|
||||
//发送HTTP请求
|
||||
QNetworkReply* resp = this->sendHttpRequest("/service/user/set_description", body);
|
||||
|
||||
//处理HTTP响应
|
||||
connect(resp, &QNetworkReply::finished, this, [=]() {
|
||||
//解析响应
|
||||
bool ok = false;
|
||||
QString reason;
|
||||
auto pbResp = this->handleHttpResponse<bite_im::SetUserDescriptionRsp>(resp, &ok, &reason);
|
||||
|
||||
//判定响应是否正确
|
||||
if (!ok) {
|
||||
LOG() << "修改用户描述->处理出错 reason= " << reason;
|
||||
return;
|
||||
}
|
||||
|
||||
//把得到的结果写入到DataCenter中
|
||||
dataCenter->resetDescription(desc);
|
||||
|
||||
//发送信号,通知修改完成
|
||||
emit dataCenter->changeDescriptionDone();
|
||||
|
||||
//打印日志
|
||||
LOG() << "修改用户描述->响应处理完毕 requestId= " << pbResp->requestId();
|
||||
});
|
||||
}
|
||||
|
||||
void NetClient::getVerifyCode(const QString& email)
|
||||
{
|
||||
//构造请求body
|
||||
bite_im::PhoneVerifyCodeReq pbReq;
|
||||
pbReq.setRequestId(makeRequestId());
|
||||
pbReq.setPhoneNumber(email);
|
||||
QByteArray body = pbReq.serialize(&serializer);
|
||||
LOG() << "获取验证码->发送请求 requestId= " << pbReq.requestId() << ", email= " << pbReq.phoneNumber();
|
||||
|
||||
//发送HTTP请求
|
||||
QNetworkReply* resp = this->sendHttpRequest("/service/user/get_phone_verify_code", body);
|
||||
|
||||
//处理HTTP响应
|
||||
connect(resp, &QNetworkReply::finished, this, [=]() {
|
||||
//解析响应
|
||||
bool ok = false;
|
||||
QString reason;
|
||||
auto pbResp = this->handleHttpResponse<bite_im::PhoneVerifyCodeRsp>(resp, &ok, &reason);
|
||||
//判定响应是否正确
|
||||
if (!ok) {
|
||||
LOG() << "获取验证码->处理出错 reason= " << reason;
|
||||
return;
|
||||
}
|
||||
|
||||
//把得到的结果写入到DataCenter中
|
||||
dataCenter->resetVerifyCodeId(pbResp->verifyCodeId());
|
||||
|
||||
//发送信号给调用者
|
||||
emit dataCenter->getVerifyCodeDone();
|
||||
|
||||
//打印日志
|
||||
LOG() << "获取验证码->响应处理完毕 requestId= " << pbResp->requestId() << "Id= " << dataCenter->getVerifyCodeId();
|
||||
});
|
||||
}
|
||||
|
||||
void NetClient::changeEmail(const QString& loginSessionId, const QString& email, const QString& verifyCodeId, const QString& verifyCode)
|
||||
{
|
||||
//构造请求body
|
||||
bite_im::SetUserPhoneNumberReq pbReq;
|
||||
pbReq.setRequestId(makeRequestId());
|
||||
pbReq.setSessionId(loginSessionId);
|
||||
pbReq.setPhoneNumber(email);
|
||||
pbReq.setPhoneVerifyCodeId(verifyCodeId);
|
||||
pbReq.setPhoneVerifyCode(verifyCode);
|
||||
QByteArray body = pbReq.serialize(&serializer);
|
||||
LOG() << "修改用户邮箱->发送请求 requestId= " << pbReq.requestId() << ", loginSessionId= " << pbReq.sessionId()
|
||||
<< ", email= " << pbReq.phoneNumber() << ", verifyCodeId= " << pbReq.phoneVerifyCodeId()
|
||||
<< ", verifyCode= " << pbReq.phoneVerifyCode();
|
||||
|
||||
//发送HTTP请求
|
||||
QNetworkReply* resp = this->sendHttpRequest("/service/user/set_phone", body);
|
||||
|
||||
//处理HTTP响应
|
||||
connect(resp, &QNetworkReply::finished, this, [=]() {
|
||||
bool ok = false;
|
||||
QString reason;
|
||||
auto pbResp = this->handleHttpResponse<bite_im::SetUserPhoneNumberRsp>(resp, &ok, &reason);
|
||||
|
||||
//判定响应是否正确
|
||||
if (!ok) {
|
||||
LOG() << "修改用户邮箱->处理出错 reason= " << reason;
|
||||
return;
|
||||
}
|
||||
|
||||
//把结果记录到DataCenter中
|
||||
dataCenter->resetPhone(email);
|
||||
|
||||
//打印日志
|
||||
LOG() << "修改用户邮箱->响应处理完毕 requestId= " << pbResp->requestId();
|
||||
});
|
||||
|
||||
//发送信号,通知调用者完成
|
||||
emit dataCenter->changePhoneDone();
|
||||
}
|
||||
|
||||
void NetClient::changeAvatar(const QString& loginSessionId, const QByteArray& avatar)
|
||||
{
|
||||
//构造请求body
|
||||
bite_im::SetUserAvatarReq pbReq;
|
||||
pbReq.setRequestId(makeRequestId());
|
||||
pbReq.setSessionId(loginSessionId);
|
||||
pbReq.setAvatar(avatar);
|
||||
QByteArray body = pbReq.serialize(&serializer);
|
||||
LOG() << "修改用户头像->发送请求 requestId= " << pbReq.requestId() << ", loginSessionId= " << pbReq.sessionId()
|
||||
<< ", avatar size= " << pbReq.avatar().size();
|
||||
|
||||
//发送HTTP请求
|
||||
QNetworkReply* resp = this->sendHttpRequest("/service/user/set_avatar", body);
|
||||
|
||||
//处理HTTP响应
|
||||
connect(resp, &QNetworkReply::finished, this, [=]() {
|
||||
//解析响应
|
||||
bool ok = false;
|
||||
QString reason;
|
||||
auto pbResp = this->handleHttpResponse<bite_im::SetUserAvatarRsp>(resp, &ok, &reason);
|
||||
|
||||
//判定响应是否正确
|
||||
if (!ok) {
|
||||
LOG() << "修改用户头像->处理出错 reason= " << reason;
|
||||
return;
|
||||
}
|
||||
|
||||
//把数据写入到DataCenter
|
||||
dataCenter->resetAvatar(avatar);
|
||||
|
||||
//发送信号
|
||||
emit dataCenter->changeAvatarDone();
|
||||
|
||||
//打印日志
|
||||
LOG() << "修改用户头像->响应处理完成 requestId= " << pbResp->requestId();
|
||||
});
|
||||
}
|
||||
} //end namespace network
|
||||
Reference in New Issue
Block a user