@iflyrpa/actions 4.0.0-beta.1 → 4.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +103 -39
- package/dist/bundle.js.map +1 -1
- package/dist/index.js +103 -39
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +103 -39
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
|
@@ -8736,7 +8736,7 @@ var __webpack_exports__ = {};
|
|
|
8736
8736
|
var package_namespaceObject = {
|
|
8737
8737
|
i8: "0.1.0"
|
|
8738
8738
|
};
|
|
8739
|
-
var package_namespaceObject_0 = JSON.parse('{"i8":"3.0.
|
|
8739
|
+
var package_namespaceObject_0 = JSON.parse('{"i8":"3.0.7-beta.3"}');
|
|
8740
8740
|
const external_node_fs_namespaceObject = require("node:fs");
|
|
8741
8741
|
var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
|
|
8742
8742
|
const external_node_http_namespaceObject = require("node:http");
|
|
@@ -34804,19 +34804,25 @@ var __webpack_exports__ = {};
|
|
|
34804
34804
|
task.logger.info("========== api调用完成 ==========");
|
|
34805
34805
|
task.logger.info(`decision值: ${JSON.stringify(decision)}, needsVerification(decision): ${needsVerification(decision)}`);
|
|
34806
34806
|
if (needsVerification(decision)) {
|
|
34807
|
+
const details = [
|
|
34808
|
+
publishResult.status_msg,
|
|
34809
|
+
decision?.verify_title,
|
|
34810
|
+
decision?.verify_desc
|
|
34811
|
+
].filter(Boolean).join(" ");
|
|
34812
|
+
const message = `图文发布失败,原因:${details}${task.debug ? ` ${http.proxyInfo}` : ""}`;
|
|
34807
34813
|
task.logger.warn(`TaskId:${task.taskId},检测到需要验证,准备返回验证信息`);
|
|
34808
|
-
|
|
34809
|
-
state: types_TaskState.
|
|
34814
|
+
const mockData = {
|
|
34815
|
+
state: types_TaskState.FAILED,
|
|
34816
|
+
error: message,
|
|
34810
34817
|
result: {
|
|
34811
|
-
|
|
34818
|
+
data: decision,
|
|
34819
|
+
uploadedImgList: JSON.stringify(publishData.item.common.images)
|
|
34812
34820
|
}
|
|
34813
|
-
}
|
|
34814
|
-
|
|
34821
|
+
};
|
|
34822
|
+
await updateTaskState?.(mockData);
|
|
34815
34823
|
return {
|
|
34816
34824
|
code: 0,
|
|
34817
|
-
data:
|
|
34818
|
-
result: decision
|
|
34819
|
-
},
|
|
34825
|
+
data: mockData,
|
|
34820
34826
|
message: "操作成功"
|
|
34821
34827
|
};
|
|
34822
34828
|
}
|
|
@@ -35516,15 +35522,41 @@ var __webpack_exports__ = {};
|
|
|
35516
35522
|
}
|
|
35517
35523
|
task.logger?.info("准备发布...");
|
|
35518
35524
|
await page.waitForTimeout(1000);
|
|
35519
|
-
const
|
|
35525
|
+
const result = await new Promise((resolve, reject)=>{
|
|
35520
35526
|
const handleResponse = async (res)=>{
|
|
35521
35527
|
if (res.url().includes("/web/api/media/aweme/create_v2")) {
|
|
35522
35528
|
task.logger?.info("匹配到发布接口响应");
|
|
35529
|
+
let decision = null;
|
|
35530
|
+
try {
|
|
35531
|
+
const headers = await res.allHeaders();
|
|
35532
|
+
decision = parseVerifyPassportDecision(headers["x-tt-verify-passport-decision"]);
|
|
35533
|
+
} catch (error) {
|
|
35534
|
+
task.logger?.warn(`解析验证决策头失败: ${error}`);
|
|
35535
|
+
}
|
|
35523
35536
|
const jsonResponse = await res.json();
|
|
35524
35537
|
task.logger?.info(`发布接口响应数据: ${JSON.stringify(jsonResponse)}`);
|
|
35525
35538
|
page.off("response", handleResponse);
|
|
35526
|
-
if (
|
|
35527
|
-
|
|
35539
|
+
if (needsVerification(decision)) {
|
|
35540
|
+
task.logger?.warn("检测到需要二次验证,文章未真正发布");
|
|
35541
|
+
resolve({
|
|
35542
|
+
itemId: "",
|
|
35543
|
+
decision
|
|
35544
|
+
});
|
|
35545
|
+
return;
|
|
35546
|
+
}
|
|
35547
|
+
if (jsonResponse?.status_code !== 0) {
|
|
35548
|
+
reject(new Error(jsonResponse?.status_msg || "发布失败"));
|
|
35549
|
+
return;
|
|
35550
|
+
}
|
|
35551
|
+
const itemId = jsonResponse?.data?.item_id || jsonResponse?.item_id || "";
|
|
35552
|
+
if (!itemId) {
|
|
35553
|
+
reject(new Error(jsonResponse?.status_msg || "发布异常:未返回作品ID,文章可能未真正发布"));
|
|
35554
|
+
return;
|
|
35555
|
+
}
|
|
35556
|
+
resolve({
|
|
35557
|
+
itemId,
|
|
35558
|
+
decision: null
|
|
35559
|
+
});
|
|
35528
35560
|
}
|
|
35529
35561
|
};
|
|
35530
35562
|
page.on("response", handleResponse);
|
|
@@ -35546,20 +35578,42 @@ var __webpack_exports__ = {};
|
|
|
35546
35578
|
await page.close();
|
|
35547
35579
|
return null;
|
|
35548
35580
|
});
|
|
35549
|
-
if (!
|
|
35581
|
+
if (!result) return {
|
|
35550
35582
|
code: 414,
|
|
35551
35583
|
message: "发布失败",
|
|
35552
35584
|
data: ""
|
|
35553
35585
|
};
|
|
35554
|
-
|
|
35586
|
+
if (needsVerification(result.decision)) {
|
|
35587
|
+
const decision = result.decision;
|
|
35588
|
+
const details = [
|
|
35589
|
+
decision?.verify_title,
|
|
35590
|
+
decision?.verify_desc
|
|
35591
|
+
].filter(Boolean).join(" ");
|
|
35592
|
+
const message = `发布失败,需要二次验证${details ? `:${details}` : ""}`;
|
|
35593
|
+
task.logger?.warn(message);
|
|
35594
|
+
await updateTaskState?.({
|
|
35595
|
+
state: types_TaskState.FAILED,
|
|
35596
|
+
error: message,
|
|
35597
|
+
result: {
|
|
35598
|
+
data: decision
|
|
35599
|
+
}
|
|
35600
|
+
});
|
|
35601
|
+
await page.close();
|
|
35602
|
+
return {
|
|
35603
|
+
code: 414,
|
|
35604
|
+
message,
|
|
35605
|
+
data: ""
|
|
35606
|
+
};
|
|
35607
|
+
}
|
|
35608
|
+
task.logger?.info(`✓ 发布成功,item_id: ${result.itemId}`);
|
|
35555
35609
|
await updateTaskState?.({
|
|
35556
35610
|
state: types_TaskState.SUCCESS,
|
|
35557
35611
|
result: {
|
|
35558
|
-
response
|
|
35612
|
+
response: result.itemId
|
|
35559
35613
|
}
|
|
35560
35614
|
});
|
|
35561
35615
|
await page.close();
|
|
35562
|
-
return success(
|
|
35616
|
+
return success(result.itemId);
|
|
35563
35617
|
};
|
|
35564
35618
|
const DouyinPublishParamsSchema = ActionCommonParamsSchema.extend({
|
|
35565
35619
|
title: classic_schemas_string(),
|
|
@@ -36339,26 +36393,26 @@ var __webpack_exports__ = {};
|
|
|
36339
36393
|
const http = new Http({
|
|
36340
36394
|
headers: {
|
|
36341
36395
|
cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
|
|
36342
|
-
referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
|
|
36396
|
+
referer: "https://mp.toutiao.com/profile_v4/graphic/publish",
|
|
36397
|
+
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
|
|
36398
|
+
}
|
|
36399
|
+
});
|
|
36400
|
+
const totalData = await http.api({
|
|
36401
|
+
method: "get",
|
|
36402
|
+
url: "https://mp.toutiao.com/mp/fe_api/home/merge_v2",
|
|
36403
|
+
params: {
|
|
36404
|
+
app_id: 1231
|
|
36405
|
+
}
|
|
36406
|
+
});
|
|
36407
|
+
await new Promise((r)=>setTimeout(r, 1000));
|
|
36408
|
+
const contentDataYesterday = await http.api({
|
|
36409
|
+
method: "get",
|
|
36410
|
+
url: "https://mp.toutiao.com/mp/agw/statistic/v2/content_stat",
|
|
36411
|
+
params: {
|
|
36412
|
+
type: 0,
|
|
36413
|
+
app_id: 1231
|
|
36343
36414
|
}
|
|
36344
36415
|
});
|
|
36345
|
-
const [totalData, contentDataYesterday] = await Promise.all([
|
|
36346
|
-
http.api({
|
|
36347
|
-
method: "get",
|
|
36348
|
-
url: "https://mp.toutiao.com/mp/fe_api/home/merge_v2",
|
|
36349
|
-
params: {
|
|
36350
|
-
app_id: 1231
|
|
36351
|
-
}
|
|
36352
|
-
}),
|
|
36353
|
-
http.api({
|
|
36354
|
-
method: "get",
|
|
36355
|
-
url: "https://mp.toutiao.com/mp/agw/statistic/v2/content_stat",
|
|
36356
|
-
params: {
|
|
36357
|
-
type: 0,
|
|
36358
|
-
app_id: 1231
|
|
36359
|
-
}
|
|
36360
|
-
})
|
|
36361
|
-
]);
|
|
36362
36416
|
const isSuccess = !!(totalData?.data?.statistic && contentDataYesterday?.author_stat);
|
|
36363
36417
|
if (!isSuccess || !totalData?.data || !contentDataYesterday?.author_stat) return types_errorResponse(totalData?.message || contentDataYesterday?.message || "头条号数据获取失败,请检查Cookie是否有效", 414);
|
|
36364
36418
|
const ttData = {
|
|
@@ -40535,8 +40589,10 @@ var __webpack_exports__ = {};
|
|
|
40535
40589
|
tuwen_wtt_trans_flag: params.settingInfo?.toutiaoTransWtt ? "2" : "0",
|
|
40536
40590
|
info_source: sourceData,
|
|
40537
40591
|
...location ? {
|
|
40538
|
-
|
|
40539
|
-
|
|
40592
|
+
manual_selected_city: JSON.stringify({
|
|
40593
|
+
city: location.label,
|
|
40594
|
+
city_code: location.value
|
|
40595
|
+
})
|
|
40540
40596
|
} : null,
|
|
40541
40597
|
...params.settingInfo?.toutiaoCollectionId ? {
|
|
40542
40598
|
want_join_collection_id: params.settingInfo.toutiaoCollectionId
|
|
@@ -40586,6 +40642,12 @@ var __webpack_exports__ = {};
|
|
|
40586
40642
|
claim_exclusive: toutiaoExclusive ? toutiaoExclusive : toutiaoOriginal?.includes("exclusive") ? 1 : 0
|
|
40587
40643
|
};
|
|
40588
40644
|
task._timerRecord.PrePublish = Date.now();
|
|
40645
|
+
task.logger.info(`[toutiaoPublish] ${"draft" === params.saveType ? "同步草稿" : "发布文章"}参数`, {
|
|
40646
|
+
saveType: params.saveType,
|
|
40647
|
+
title: params.title,
|
|
40648
|
+
extra: extraData,
|
|
40649
|
+
publishData
|
|
40650
|
+
});
|
|
40589
40651
|
const msToken = params.cookies.find((it)=>"msToken" === it.name)?.value;
|
|
40590
40652
|
let publishOption = {};
|
|
40591
40653
|
if (msToken) {
|
|
@@ -41781,8 +41843,8 @@ var __webpack_exports__ = {};
|
|
|
41781
41843
|
headers
|
|
41782
41844
|
});
|
|
41783
41845
|
const proxyHttp = new Http(...args);
|
|
41784
|
-
|
|
41785
|
-
const responseData = response
|
|
41846
|
+
const baseRespFinder = (response)=>{
|
|
41847
|
+
const responseData = response?.data;
|
|
41786
41848
|
const msgType = "draft" === params.saveType ? "同步" : "发布";
|
|
41787
41849
|
if (response && responseData?.base_resp && 0 !== responseData.base_resp.ret && !ignoreErrno.includes(responseData.base_resp.ret)) {
|
|
41788
41850
|
const errmsg = weixinPublish_mock_errnoMap[responseData.base_resp.ret] || response.config.defaultErrorMsg || responseData.base_resp.err_msg || `文章${msgType}异常,请稍后重试。`;
|
|
@@ -41792,7 +41854,9 @@ var __webpack_exports__ = {};
|
|
|
41792
41854
|
data: responseData
|
|
41793
41855
|
};
|
|
41794
41856
|
}
|
|
41795
|
-
}
|
|
41857
|
+
};
|
|
41858
|
+
http.addResponseInterceptor(baseRespFinder);
|
|
41859
|
+
proxyHttp.addResponseInterceptor(baseRespFinder);
|
|
41796
41860
|
await http.api({
|
|
41797
41861
|
method: "get",
|
|
41798
41862
|
url: "https://mp.weixin.qq.com/cgi-bin/appmsgpublish",
|