| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include "RunHttpGet_getInfo.h"
- #include <QDebug>
- #include "../user/config.h"
- extern config *pconfig;
- RunHttpGet_getInfo::RunHttpGet_getInfo(InteractiveTask *task, QMutex *mutex)
- : RunAbstract(task, mutex)
- {
- }
- void RunHttpGet_getInfo::run()
- {
- QByteArray outData = InteractiveHttp::http_get_getInfo();
- // 关键调试输出
- qDebug() << "HTTP raw response:" << outData;
- InteractiveData *pSingletonData = SINGLETON_CREATE(InteractiveData)();
- // 进行数据写操作
- QWriteLocker locker(&pSingletonData->m_dataCacheLock);
- // 如果数据发生改变,缓存信息
- if (!outData.isEmpty())
- {
- pSingletonData->m_roles.clear();
- pSingletonData->m_permissions.clear();
- QJsonParseError error;
- QJsonDocument jsonDoc = QJsonDocument::fromJson(outData, &error);
- if (error.error == QJsonParseError::NoError)
- {
- if(!(jsonDoc.isNull() || jsonDoc.isEmpty()))
- {
- QJsonObject jsonObjRoot = jsonDoc.object();
- if(jsonObjRoot.contains("code") && jsonObjRoot.contains("user"))
- {
- if (jsonObjRoot.value("code").toInt() == 200)
- {
- if (jsonObjRoot.value("user").isObject())
- {
- QJsonObject jsonObjUser = jsonObjRoot.value("user").toObject();
- pconfig->userId = jsonObjUser.value("userId").toString();
- // pconfig->username = jsonObjUser.value("userName").toString();
- pSingletonData->m_userName = jsonObjUser.value("userName").toString();
- }
- if (jsonObjRoot.value("roles").isArray())
- {
- QJsonArray jsonArrRoles = jsonObjRoot.value("roles").toArray();
- for (int i = 0; i < jsonArrRoles.size(); ++i)
- {
- QString jsonStrRole = jsonArrRoles.at(i).toString();
- pSingletonData->m_roles.insert(jsonStrRole);
- }
- }
- if (jsonObjRoot.value("permissions").isArray())
- {
- QJsonArray jsonArrPermissions = jsonObjRoot.value("permissions").toArray();
- for (int i = 0; i < jsonArrPermissions.size(); ++i)
- {
- QString jsonStrPermission = jsonArrPermissions.at(i).toString();
- pSingletonData->m_permissions.insert(jsonStrPermission);
- }
- }
- }
- }
- }
- }
- }
- }
|