#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); exportAction->setText(QStringLiteral("导出"));//给动作设置文本 menu->addAction(exportAction); //把动作添加到菜单 QAction* instanceAction = new QAction(this); instanceAction->setText(QStringLiteral("文档生成"));//给动作设置文本 menu->addAction(instanceAction); //把动作添加到菜单 } int key = 10; bool ProjectManager::onMessage(const std::string& eventName, json& parameter) { if (eventName == "add-project") { auto data = parameter["data"]; if (data["name"] == "a") { parameter["response"]["error"] = QString::fromLocal8Bit("名称重复").toUtf8(); 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") { parameter["response"]["error"] = QString::fromLocal8Bit("导入失败").toUtf8(); 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); }