2025-06-23 10:41:33 +08:00
|
|
|
#include "ProjectManager.h"
|
|
|
|
#include "Session.h"
|
|
|
|
#include "ProjectModel.h"
|
|
|
|
ProjectManager::ProjectManager(QObject* parent)
|
|
|
|
: EventModule("ProjectManager")
|
|
|
|
{
|
|
|
|
addShareEventModule(new ProjectModel());
|
|
|
|
}
|
|
|
|
|
|
|
|
ProjectManager::~ProjectManager()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
void ProjectManager::contextMenu(const json& request, QMenu* menu)
|
|
|
|
{
|
|
|
|
QAction* exportAction = new QAction(this);
|
2025-06-23 18:01:09 +08:00
|
|
|
exportAction->setText(QStringLiteral("导出"));//给动作设置文本
|
|
|
|
menu->addAction(exportAction); //把动作添加到菜单
|
2025-06-23 10:41:33 +08:00
|
|
|
|
|
|
|
QAction* instanceAction = new QAction(this);
|
2025-06-23 18:01:09 +08:00
|
|
|
instanceAction->setText(QStringLiteral("文档生成"));//给动作设置文本
|
|
|
|
menu->addAction(instanceAction); //把动作添加到菜单
|
2025-06-23 10:41:33 +08:00
|
|
|
}
|
|
|
|
int key = 10;
|
|
|
|
bool ProjectManager::onMessage(const std::string& eventName, json& parameter)
|
|
|
|
{
|
|
|
|
if (eventName == "add-project") {
|
|
|
|
auto data = parameter["data"];
|
|
|
|
if (data["name"] == "a") {
|
2025-06-23 18:01:09 +08:00
|
|
|
parameter["response"]["error"] = QString::fromLocal8Bit("名称重复").toUtf8();
|
2025-06-23 10:41:33 +08:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
data["key"] = key++;
|
|
|
|
data["createTime"] = "2001-01-01 12:00";
|
|
|
|
data["updateTime"] = "2001-01-01 12:00";
|
|
|
|
parameter["response"] = data;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
else if (eventName == "import-project") {
|
2025-06-23 18:01:09 +08:00
|
|
|
parameter["response"]["error"] = QString::fromLocal8Bit("导入失败").toUtf8();
|
2025-06-23 10:41:33 +08:00
|
|
|
return true;
|
|
|
|
}
|
|
|
|
else if (eventName == "delete-project") {
|
|
|
|
int key = parameter["data"];
|
|
|
|
parameter["response"] = { "key",key };
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
else if (eventName == "save-edit-project") {
|
|
|
|
parameter["response"] = parameter["data"];
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
else if (eventName == "change-project-follow") {
|
|
|
|
int key = parameter["data"];
|
|
|
|
parameter["response"] = true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
return EventModule::onMessage(eventName, parameter);
|
|
|
|
}
|