feat: AM 默认程序迁移

默认程序迁移到AM中

Log: 默认程序迁移到AM
Task: https://pms.uniontech.com/task-view-140029.html
Influence: 默认程序
Change-Id: I0824c503b6ab844f09b3bf3cf740565b1e4215e5
This commit is contained in:
echengqi
2022-06-15 14:14:43 +08:00
parent 2b00b9b291
commit dfa232bb98
31 changed files with 1907 additions and 66 deletions

View File

@ -0,0 +1,59 @@
#ifndef USE_MIME_APP_INFO_H
#define USE_MIME_APP_INFO_H
#include <QVector>
#include <QJsonObject>
#include <QJsonArray>
#include <vector>
namespace Methods {
struct UserAppInfo {
std::string deskopid;
QVariantList supportedMime;
};
struct UserAppInfos {
std::vector<UserAppInfo> appInfos;
};
inline void toJson(QJsonObject& j, const UserAppInfo& userAppInfo)
{
j = QJsonObject{ { "DesktopId", userAppInfo.deskopid.c_str() }, { "SupportedMime", QJsonArray::fromVariantList(userAppInfo.supportedMime) } };
}
inline void fromJson(const QJsonObject& j, UserAppInfo& userAppInfo)
{
if (j.contains("DesktopId")) {
userAppInfo.deskopid = j.value("DesktopId").toString().toStdString();
}
if (j.contains("SupportedMime")) {
userAppInfo.supportedMime = j.value("SupportedMime").toArray().toVariantList();
}
}
inline void toJson(QJsonArray& j, const UserAppInfos& userAppInfos)
{
QJsonObject tmpObj;
QJsonArray appInfoArray;
for (auto appInfo : userAppInfos.appInfos) {
toJson(tmpObj, appInfo);
appInfoArray.append(tmpObj);
}
j = appInfoArray;
}
inline void fromJson(const QJsonArray& j, UserAppInfos& userAppInfos)
{
QJsonArray tmpObj = j;
for (auto iter : tmpObj) {
UserAppInfo userAppInfo;
fromJson(iter.toObject(), userAppInfo);
userAppInfos.appInfos.push_back(userAppInfo);
}
}
} // namespace Methods
#endif // USE_MIME_APP_INFO_H