开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 142

撸码小分队/DS

forked from Vanishi/DS
加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (2)
标签 (4)
master
V1.0
DS.v1.7.x64.2023年04月16日
DS.v1.6.x64.2023年04月13日
DS.v1.5.x64.2023年04月08日
DS.v1.0.x64.2023年03月18日
master
分支 (2)
标签 (4)
master
V1.0
DS.v1.7.x64.2023年04月16日
DS.v1.6.x64.2023年04月13日
DS.v1.5.x64.2023年04月08日
DS.v1.0.x64.2023年03月18日
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (2)
标签 (4)
master
V1.0
DS.v1.7.x64.2023年04月16日
DS.v1.6.x64.2023年04月13日
DS.v1.5.x64.2023年04月08日
DS.v1.0.x64.2023年03月18日
DS
/
TaskFlow
/
mTaskSerialize.cpp
DS
/
TaskFlow
/
mTaskSerialize.cpp
mTaskSerialize.cpp 6.11 KB
一键复制 编辑 原始数据 按行查看 历史
sun-th 提交于 2023年03月18日 16:17 +08:00 . 1.0
#include "mTaskSerialize.h"
#include "Utils/models.h"
#include "flowleftwidget/mFlowButtonWidget.h"
#include "flowleftwidget/mFlowIfWidget.h"
#include "flowleftwidget/mFlowLoopWidget.h"
#include "TaskFlow/pageCustomtaskFlowControl.h"
#include "mFcModels.h"
#include <QVBoxLayout>
#include <QDebug>
MTaskSerialize::MTaskSerialize(PageCustomTaskFlowControl *parent) : QObject(parent),m_fc(parent){
QStringList programList;
QVBoxLayout *boxLayout =m_fc->boxLayout;
for (int i = 0; i < boxLayout->count(); ++i) {
QWidget *widget = boxLayout->itemAt(i)->widget();
QString widgetName = widget->metaObject()->className();
if ("MFlowLoopWidget"==widgetName) {
MFlowLoopWidget *loopWidget= static_cast<MFlowLoopWidget *>(widget);
programList << serializeLoopWidget(loopWidget);
}else if ("MFlowIfWidget"==widgetName) {
MFlowIfWidget *ifWidget= static_cast<MFlowIfWidget *>(widget);
programList << serializeIfWidget(ifWidget);
}else if ("MFlowButtonWidget"==widgetName) {
MFlowButtonWidget *btnWidget= static_cast<MFlowButtonWidget *>(widget);
programList<< serializeButtonWidget(btnWidget);
}
}
qDebug()<<"任务序列化开始";
m_fc->task->program = programList.join(",").toUtf8().toBase64();
qDebug()<<"任务序列化结束";
}
QString MTaskSerialize::serializeButtonWidget(MFlowButtonWidget *btnWidget){
QString program;
if(MCONSTANT_FLOW_MENU_TYPE_OpenWebBtn==btnWidget->data->control->menuType){
MFlowStepParamsOpenWeb *params = static_cast<MFlowStepParamsOpenWeb*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_ClickEleBtn==btnWidget->data->control->menuType){
MFlowStepParamsClickEle *params = static_cast<MFlowStepParamsClickEle*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_ExtractBtn==btnWidget->data->control->menuType){
MFlowStepParamsExtract *params = static_cast<MFlowStepParamsExtract*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_InputBtn==btnWidget->data->control->menuType){
MFlowStepParamsInput *params = static_cast<MFlowStepParamsInput*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_CaptchaBtn==btnWidget->data->control->menuType){
MFlowStepParamsCaptcha *params = static_cast<MFlowStepParamsCaptcha*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_SwitchBtn==btnWidget->data->control->menuType){
MFlowStepParamsSwitch *params = static_cast<MFlowStepParamsSwitch*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_MouseBtn==btnWidget->data->control->menuType){
MFlowStepParamsMouse *params = static_cast<MFlowStepParamsMouse*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_EndLoopBtn==btnWidget->data->control->menuType){
MFlowStepParamsEndLoop *params = static_cast<MFlowStepParamsEndLoop*>(btnWidget->data->stepparams);
program = params->getProgram();
}else if(MCONSTANT_FLOW_MENU_TYPE_EndBtn==btnWidget->data->control->menuType){
MFlowStepParamsEnd *params = static_cast<MFlowStepParamsEnd*>(btnWidget->data->stepparams);
program = params->getProgram();
}
return btnWidget->data->control->menuType+program;
}
QString MTaskSerialize::serializeLoopWidget(MFlowLoopWidget *loopWidget){
QStringList programList;
MFlowStepParamsLoop *params = static_cast<MFlowStepParamsLoop*>(loopWidget->data->stepparams);
QVBoxLayout *boxLayout =loopWidget->boxLayout;
for (int i = 0; i < boxLayout->count(); ++i) {
QWidget *widget = boxLayout->itemAt(i)->widget();
QString widgetName = widget->metaObject()->className();
if ("MFlowLoopWidget"==widgetName) {
MFlowLoopWidget *loopWidget= static_cast<MFlowLoopWidget *>(widget);
programList<< serializeLoopWidget(loopWidget);
}else if ("MFlowIfWidget"==widgetName) {
MFlowIfWidget *ifWidget= static_cast<MFlowIfWidget *>(widget);
programList<< serializeIfWidget(ifWidget);
}else if ("MFlowButtonWidget"==widgetName) {
MFlowButtonWidget *btnWidget= static_cast<MFlowButtonWidget *>(widget);
programList<< serializeButtonWidget(btnWidget);
}
}
return params->menuType+QString("%1%2%3%4").arg(
params->getProgram(),
SEPARATOR_SUB_LEFT,
programList.join(SEPARATOR_SUB_AMONG),
SEPARATOR_SUB_RIGHT
).toUtf8().toBase64();
}
QString MTaskSerialize::serializeIfWidget(MFlowIfWidget *ifWidget){
QStringList programList;
MFlowStepParamsIf *params = static_cast<MFlowStepParamsIf*>(ifWidget->data->stepparams);
QVBoxLayout *boxLayout =ifWidget->boxLayout;
for (int i = 0; i < boxLayout->count(); ++i) {
QWidget *widget = boxLayout->itemAt(i)->widget();
QString widgetName = widget->metaObject()->className();
if ("MFlowLoopWidget"==widgetName) {
MFlowLoopWidget *loopWidget= static_cast<MFlowLoopWidget *>(widget);
programList<< serializeLoopWidget(loopWidget);
}else if ("MFlowIfWidget"==widgetName) {
MFlowIfWidget *ifWidget= static_cast<MFlowIfWidget *>(widget);
programList<< serializeIfWidget(ifWidget);
}else if ("MFlowButtonWidget"==widgetName) {
MFlowButtonWidget *btnWidget= static_cast<MFlowButtonWidget *>(widget);
programList<< serializeButtonWidget(btnWidget);
}
}
return params->menuType+QString("%1%2%3%4").arg(
params->getProgram(),
SEPARATOR_SUB_LEFT,
programList.join(SEPARATOR_SUB_AMONG),
SEPARATOR_SUB_RIGHT
).toUtf8().toBase64();
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

一个Qt开发的可以替代爬虫的网页数据采集软件,它最重要的特点就是,降低了采集网页数据的门槛,由至少必须掌握一门编程语言降低到只要会操作电脑即可。
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/coderanks/DS.git
git@gitee.com:coderanks/DS.git
coderanks
DS
DS
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /