@iflyrpa/actions 1.2.14-beta.2 → 1.2.14-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/index.mjs CHANGED
@@ -1,374 +1,15 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__ from "node:fs";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
1
3
  import * as __WEBPACK_EXTERNAL_MODULE_dom_serializer_aa70940b__ from "dom-serializer";
2
4
  import * as __WEBPACK_EXTERNAL_MODULE_domhandler__ from "domhandler";
3
5
  import * as __WEBPACK_EXTERNAL_MODULE_htmlparser2__ from "htmlparser2";
4
6
  import * as __WEBPACK_EXTERNAL_MODULE_mime_types_eebf54a5__ from "mime-types";
5
- import * as __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__ from "@iflyrpa/share";
6
7
  import * as __WEBPACK_EXTERNAL_MODULE_axios__ from "axios";
7
- import * as __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__ from "node:fs";
8
- import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__ from "@iflyrpa/share";
9
9
  import * as __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__ from "form-data";
10
10
  import * as __WEBPACK_EXTERNAL_MODULE_node_buffer_fb286294__ from "node:buffer";
11
11
  import * as __WEBPACK_EXTERNAL_MODULE_node_crypto_9ba42079__ from "node:crypto";
12
12
  var __webpack_modules__ = {
13
- "./src/actions/searchAccountInfo/getWxInfo.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
14
- __webpack_require__.d(__webpack_exports__, {
15
- n: ()=>getWeixinData
16
- });
17
- var _iflyrpa_share__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("@iflyrpa/share");
18
- var _types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./src/actions/searchAccountInfo/types.ts");
19
- var _utils_http__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./src/utils/http.ts");
20
- var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./src/utils/index.ts");
21
- async function getWeixinData(params) {
22
- const { token } = params;
23
- if (!token) return {
24
- code: 200,
25
- message: "缺少token",
26
- data: null
27
- };
28
- try {
29
- const { token } = params;
30
- if (!token) return (0, _types__WEBPACK_IMPORTED_MODULE_1__.V)("缺少token", 200);
31
- const http = new _utils_http__WEBPACK_IMPORTED_MODULE_2__.e({
32
- headers: {
33
- cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";")
34
- }
35
- });
36
- const massRandomIDHtml = await http.api({
37
- method: "get",
38
- url: "https://mp.weixin.qq.com/misc/appmsganalysis",
39
- params: {
40
- token,
41
- lang: "zh_CN",
42
- action: "report"
43
- }
44
- });
45
- const massRandomIDReg = massRandomIDHtml.match(/mass_all\.([a-z0-9]+)\.js/);
46
- const massRandomID = massRandomIDReg ? massRandomIDReg[1] : "";
47
- const [readInfo, fansInfoHtml] = await Promise.all([
48
- http.api({
49
- method: "get",
50
- url: `https://res.wx.qq.com/mpres/zh_CN/htmledition/pages/statistics/mass_all/mass_all.${massRandomID}.js`
51
- }),
52
- http.api({
53
- method: "get",
54
- url: "https://mp.weixin.qq.com/misc/useranalysis",
55
- params: {
56
- token,
57
- lang: "zh_CN"
58
- }
59
- })
60
- ]);
61
- const regex = /(readAllList|shareAllList|completeAllList):\s*(\[[^\]]+\])/g;
62
- let match;
63
- const arrays = {};
64
- while(null !== (match = regex.exec(readInfo)))arrays[match[1]] = JSON.parse(match[2]);
65
- const readAllList = arrays.readAllList || [];
66
- const shareAllList = arrays.shareAllList || [];
67
- const fansInfoReg = fansInfoHtml.match(/window\.CGI_DATA\['pages\/statistics\/user_statistics'\]\s*=\s*(\{[\s\S]*?\});/);
68
- if (!fansInfoReg) return (0, _types__WEBPACK_IMPORTED_MODULE_1__.V)("未找到粉丝信息", 200);
69
- const fansInfo = eval("(" + fansInfoReg[1] + ")");
70
- const yesterday = _utils__WEBPACK_IMPORTED_MODULE_3__.Tx.format(new Date().setDate(new Date().getDate() - 1), "yyyy-MM-dd");
71
- const yesterdayFansInfo = fansInfo.list[0]?.list.find((item)=>item.date === yesterday);
72
- if (!yesterdayFansInfo) return (0, _types__WEBPACK_IMPORTED_MODULE_1__.V)("未找到粉丝数", 200);
73
- const wxData = {
74
- fansNum: yesterdayFansInfo.cumulate_user,
75
- fansNumYesterday: yesterdayFansInfo.new_user - yesterdayFansInfo.cancel_user,
76
- readNumYesterday: readAllList[0] || 0,
77
- shareNumYesterday: shareAllList[0] || 0
78
- };
79
- return (0, _iflyrpa_share__WEBPACK_IMPORTED_MODULE_0__.success)(wxData, "微信粉丝数据获取成功!");
80
- } catch (error) {
81
- return (0, _types__WEBPACK_IMPORTED_MODULE_1__.V)(error instanceof Error ? error.message : "微信数据获取失败");
82
- }
83
- }
84
- },
85
- "./src/actions/searchAccountInfo/types.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
86
- __webpack_require__.d(__webpack_exports__, {
87
- V: ()=>errorResponse
88
- });
89
- const errorResponse = (message, code = 500)=>({
90
- code,
91
- message,
92
- data: null
93
- });
94
- },
95
- "./src/utils/http.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
96
- __webpack_require__.d(__webpack_exports__, {
97
- e: ()=>Http
98
- });
99
- var external_axios_ = __webpack_require__("axios");
100
- class Http {
101
- static handleApiError(error) {
102
- if (error && "object" == typeof error && "code" in error && "message" in error) return error;
103
- return {
104
- code: 500,
105
- message: "",
106
- data: error
107
- };
108
- }
109
- constructor(config){
110
- this.apiClient = external_axios_["default"].create(config);
111
- }
112
- addResponseInterceptor(findError) {
113
- this.apiClient.interceptors.response.use((response)=>{
114
- const error = findError(response);
115
- if (error) return Promise.reject(Object.assign(error, {
116
- extra: {
117
- method: response.config.method,
118
- url: response.config.url
119
- }
120
- }));
121
- return response;
122
- }, (error)=>{
123
- const errorResponse = {
124
- code: error.response?.status || 500,
125
- message: error.message || "",
126
- data: error.response?.data,
127
- extra: {
128
- method: error.config?.method,
129
- url: error.config?.url
130
- }
131
- };
132
- if (error.response?.data) {
133
- if ("object" == typeof error.response.data) {
134
- const serverError = error.response.data;
135
- if (serverError.message) errorResponse.message = serverError.message;
136
- errorResponse.data = serverError;
137
- }
138
- }
139
- return Promise.reject(errorResponse);
140
- });
141
- }
142
- async api(config) {
143
- try {
144
- const response = await this.apiClient(config);
145
- return response.data;
146
- } catch (error) {
147
- return Promise.reject(Http.handleApiError(error));
148
- }
149
- }
150
- }
151
- },
152
- "./src/utils/index.ts": function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
153
- __webpack_require__.d(__webpack_exports__, {
154
- hc: ()=>parseUrlQueryString,
155
- I: ()=>replaceImgSrc,
156
- E_: ()=>extractImgTag,
157
- i9: ()=>getRandomInRange,
158
- f8: ()=>PopupListener,
159
- qN: ()=>copyHtmlToClipboard,
160
- Tx: ()=>TimeFormatter,
161
- Tb: ()=>defaultParams,
162
- n: ()=>stringifyError,
163
- H8: ()=>getFileState,
164
- jo: ()=>executeAction,
165
- e0: ()=>calculateCropCoordinates
166
- });
167
- var external_node_fs_ = __webpack_require__("node:fs");
168
- var external_node_path_ = __webpack_require__("node:path");
169
- var http = __webpack_require__("./src/utils/http.ts");
170
- function getRandomInRange(min, max) {
171
- return Math.floor(Math.random() * (max - min + 1)) + min;
172
- }
173
- const getFileState = (filePath)=>{
174
- const filename = external_node_path_["default"].basename(filePath);
175
- const fileType = __WEBPACK_EXTERNAL_MODULE_mime_types_eebf54a5__["default"].lookup(filePath);
176
- const stats = external_node_fs_["default"].statSync(filePath);
177
- const fileSize = stats.size;
178
- const lastModifiedDate = stats.mtime;
179
- return {
180
- name: filename,
181
- type: fileType,
182
- size: fileSize,
183
- lastModifiedDate: lastModifiedDate.toString()
184
- };
185
- };
186
- const calculateCropCoordinates = (width, height, aspectRatio)=>{
187
- const targetRatio = aspectRatio[0] / aspectRatio[1];
188
- let cropWidth;
189
- let cropHeight;
190
- if (width / height > targetRatio) {
191
- cropHeight = height;
192
- cropWidth = height * targetRatio;
193
- } else {
194
- cropWidth = width;
195
- cropHeight = width / targetRatio;
196
- }
197
- const x1 = (width - cropWidth) / 2;
198
- const y1 = (height - cropHeight) / 2;
199
- const x2 = x1 + cropWidth;
200
- const y2 = y1 + cropHeight;
201
- return {
202
- x1: x1 / width,
203
- y1: y1 / height,
204
- x2: x2 / width,
205
- y2: y2 / height
206
- };
207
- };
208
- const extractImgTag = (html)=>{
209
- const srcList = [];
210
- const parser = new __WEBPACK_EXTERNAL_MODULE_htmlparser2__.Parser({
211
- onopentag (name, attributes) {
212
- if ("img" === name && (attributes.src.trim() || attributes.currentSrc.trim())) srcList.push(attributes.src.trim() || attributes.currentSrc.trim());
213
- }
214
- });
215
- parser.write(html);
216
- parser.end();
217
- return srcList;
218
- };
219
- class TimeFormatter {
220
- static format(timestamp, formatStr = 'yyyy-MM-dd hh:mm') {
221
- if ('number' == typeof timestamp && 10 === timestamp.toString().length) timestamp *= 1000;
222
- const date = new Date(timestamp);
223
- const map = {
224
- yyyy: String(date.getFullYear()),
225
- yy: String(date.getFullYear()).slice(-2),
226
- MM: String(date.getMonth() + 1).padStart(2, '0'),
227
- dd: String(date.getDate()).padStart(2, '0'),
228
- hh: String(date.getHours()).padStart(2, '0'),
229
- mm: String(date.getMinutes()).padStart(2, '0'),
230
- ss: String(date.getSeconds()).padStart(2, '0'),
231
- M: String(date.getMonth() + 1),
232
- d: String(date.getDate()),
233
- h: String(date.getHours()),
234
- m: String(date.getMinutes()),
235
- s: String(date.getSeconds())
236
- };
237
- return formatStr.replace(/yyyy|yy|MM|dd|hh|mm|ss|M|d|h|m|s/g, (key)=>map[key]);
238
- }
239
- }
240
- const replaceImgSrc = (html, callback)=>{
241
- let lastedHtml = html;
242
- const isImageTag = (node)=>"tag" === node.type && "img" === node.name;
243
- const traverseDom = (node)=>{
244
- if (__WEBPACK_EXTERNAL_MODULE_htmlparser2__.DomUtils.hasChildren(node)) for (const child of node.children){
245
- if (isImageTag(child)) callback(child);
246
- traverseDom(child);
247
- }
248
- };
249
- const handler = new __WEBPACK_EXTERNAL_MODULE_domhandler__.DomHandler((error, dom)=>{
250
- if (error) console.log(error);
251
- else dom.forEach(traverseDom);
252
- lastedHtml = (0, __WEBPACK_EXTERNAL_MODULE_dom_serializer_aa70940b__["default"])(dom, {
253
- decodeEntities: false
254
- });
255
- });
256
- const parser = new __WEBPACK_EXTERNAL_MODULE_htmlparser2__.Parser(handler, {
257
- decodeEntities: false
258
- });
259
- parser.write(html);
260
- parser.end();
261
- return lastedHtml;
262
- };
263
- const stringifyError = (error)=>{
264
- if (error instanceof Error) return error.toString();
265
- if ("object" == typeof error) return JSON.stringify(error);
266
- return error;
267
- };
268
- const executeAction = (...actions)=>async (task, params)=>{
269
- let result = {
270
- code: 500,
271
- message: "",
272
- data: null
273
- };
274
- for(let index = 0; index < actions.length; index++){
275
- const action = actions[index];
276
- try {
277
- result = await action(task, params);
278
- } catch (error) {
279
- result = http.e.handleApiError(error);
280
- }
281
- if (0 === result.code || 200 === result.code) break;
282
- if (index !== actions.length - 1) task.logger.error(result.message, stringifyError(result.data), result.extra);
283
- }
284
- return result;
285
- };
286
- async function copyHtmlToClipboard(page, html, options = {
287
- format: "text/html",
288
- fallback: true
289
- }) {
290
- try {
291
- await page.evaluate(async ({ htmlContent, format })=>{
292
- const blob = new Blob([
293
- htmlContent
294
- ], {
295
- type: format
296
- });
297
- await navigator.clipboard.write([
298
- new ClipboardItem({
299
- [format]: blob
300
- })
301
- ]);
302
- }, {
303
- htmlContent: html,
304
- format: options.format
305
- });
306
- } catch (error) {
307
- if (options.fallback) await page.evaluate((htmlContent)=>{
308
- const div = document.createElement("div");
309
- div.contentEditable = "true";
310
- div.style.cssText = `
311
- position: fixed;
312
- left: -9999px;
313
- opacity: 0;
314
- pointer-events: none;
315
- `;
316
- div.innerHTML = htmlContent;
317
- document.body.appendChild(div);
318
- const range = document.createRange();
319
- range.selectNodeContents(div);
320
- const selection = window.getSelection();
321
- selection.removeAllRanges();
322
- selection.addRange(range);
323
- document.execCommand("copy");
324
- document.body.removeChild(div);
325
- selection.removeAllRanges();
326
- }, html);
327
- }
328
- }
329
- function PopupListener(page, popupSelector, popKey, buttonSelector, options = {}) {
330
- const { checkInterval = 1000, stopAfterClick = false } = options;
331
- const popup = page.locator(popupSelector);
332
- const button = page.locator(buttonSelector);
333
- const intervalId = setInterval(async ()=>{
334
- try {
335
- if (await popup.count() > 0 && await popup.isVisible() && (await popup.textContent() || "").includes(popKey)) {
336
- await button.click({
337
- force: true
338
- });
339
- if (stopAfterClick) clearInterval(intervalId);
340
- }
341
- } catch (err) {}
342
- }, checkInterval);
343
- return ()=>{
344
- clearInterval(intervalId);
345
- };
346
- }
347
- const parseUrlQueryString = (url)=>{
348
- const queryStringObject = {};
349
- if (!url || !url.includes("?")) return queryStringObject;
350
- const queryString = url.split("?")[1];
351
- if (!queryString) return queryStringObject;
352
- const queryWithoutHash = queryString.split("#")[0];
353
- const queryStringArray = queryWithoutHash.split("&");
354
- for (const item of queryStringArray){
355
- if (!item) continue;
356
- const equalIndex = item.indexOf("=");
357
- if (-1 === equalIndex) queryStringObject[item] = "";
358
- else {
359
- const key = item.slice(0, equalIndex);
360
- const value = item.slice(equalIndex + 1);
361
- try {
362
- queryStringObject[key] = decodeURIComponent(value);
363
- } catch (e) {
364
- queryStringObject[key] = value;
365
- }
366
- }
367
- }
368
- return queryStringObject;
369
- };
370
- const defaultParams = (params, defaults)=>Object.assign({}, defaults, params);
371
- },
372
13
  "./src/utils/ttABEncrypt.js": function(module, __unused_webpack_exports, __webpack_require__) {
373
14
  module = __webpack_require__.nmd(module);
374
15
  const a0_0x45db08 = a0_0x4b0d;
@@ -1450,18 +1091,6 @@ var __webpack_modules__ = {
1450
1091
  return Data2A_B(Base2Data(EnvData2CharCode(_0x315138, _0x1c32b3, _0x56536b)));
1451
1092
  }
1452
1093
  module[a0_0x45db08(0xae)] = GenAB;
1453
- },
1454
- "@iflyrpa/share": function(module) {
1455
- module.exports = __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__;
1456
- },
1457
- axios: function(module) {
1458
- module.exports = __WEBPACK_EXTERNAL_MODULE_axios__;
1459
- },
1460
- "node:fs": function(module) {
1461
- module.exports = __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__;
1462
- },
1463
- "node:path": function(module) {
1464
- module.exports = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__;
1465
1094
  }
1466
1095
  };
1467
1096
  var __webpack_module_cache__ = {};
@@ -1477,19 +1106,6 @@ function __webpack_require__(moduleId) {
1477
1106
  module.loaded = true;
1478
1107
  return module.exports;
1479
1108
  }
1480
- (()=>{
1481
- __webpack_require__.d = function(exports, definition) {
1482
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) Object.defineProperty(exports, key, {
1483
- enumerable: true,
1484
- get: definition[key]
1485
- });
1486
- };
1487
- })();
1488
- (()=>{
1489
- __webpack_require__.o = function(obj, prop) {
1490
- return Object.prototype.hasOwnProperty.call(obj, prop);
1491
- };
1492
- })();
1493
1109
  (()=>{
1494
1110
  __webpack_require__.nmd = function(module) {
1495
1111
  module.paths = [];
@@ -1497,11 +1113,258 @@ function __webpack_require__(moduleId) {
1497
1113
  return module;
1498
1114
  };
1499
1115
  })();
1500
- var utils = __webpack_require__("./src/utils/index.ts");
1501
- var external_node_fs_ = __webpack_require__("node:fs");
1502
- var external_node_path_ = __webpack_require__("node:path");
1503
- var share_ = __webpack_require__("@iflyrpa/share");
1504
- var utils_http = __webpack_require__("./src/utils/http.ts");
1116
+ class Http {
1117
+ static handleApiError(error) {
1118
+ if (error && "object" == typeof error && "code" in error && "message" in error) return error;
1119
+ return {
1120
+ code: 500,
1121
+ message: "",
1122
+ data: error
1123
+ };
1124
+ }
1125
+ constructor(config){
1126
+ this.apiClient = __WEBPACK_EXTERNAL_MODULE_axios__["default"].create(config);
1127
+ }
1128
+ addResponseInterceptor(findError) {
1129
+ this.apiClient.interceptors.response.use((response)=>{
1130
+ const error = findError(response);
1131
+ if (error) return Promise.reject(Object.assign(error, {
1132
+ extra: {
1133
+ method: response.config.method,
1134
+ url: response.config.url
1135
+ }
1136
+ }));
1137
+ return response;
1138
+ }, (error)=>{
1139
+ const errorResponse = {
1140
+ code: error.response?.status || 500,
1141
+ message: error.message || "",
1142
+ data: error.response?.data,
1143
+ extra: {
1144
+ method: error.config?.method,
1145
+ url: error.config?.url
1146
+ }
1147
+ };
1148
+ if (error.response?.data) {
1149
+ if ("object" == typeof error.response.data) {
1150
+ const serverError = error.response.data;
1151
+ if (serverError.message) errorResponse.message = serverError.message;
1152
+ errorResponse.data = serverError;
1153
+ }
1154
+ }
1155
+ return Promise.reject(errorResponse);
1156
+ });
1157
+ }
1158
+ async api(config) {
1159
+ try {
1160
+ const response = await this.apiClient(config);
1161
+ return response.data;
1162
+ } catch (error) {
1163
+ return Promise.reject(Http.handleApiError(error));
1164
+ }
1165
+ }
1166
+ }
1167
+ function getRandomInRange(min, max) {
1168
+ return Math.floor(Math.random() * (max - min + 1)) + min;
1169
+ }
1170
+ const getFileState = (filePath)=>{
1171
+ const filename = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].basename(filePath);
1172
+ const fileType = __WEBPACK_EXTERNAL_MODULE_mime_types_eebf54a5__["default"].lookup(filePath);
1173
+ const stats = __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].statSync(filePath);
1174
+ const fileSize = stats.size;
1175
+ const lastModifiedDate = stats.mtime;
1176
+ return {
1177
+ name: filename,
1178
+ type: fileType,
1179
+ size: fileSize,
1180
+ lastModifiedDate: lastModifiedDate.toString()
1181
+ };
1182
+ };
1183
+ const calculateCropCoordinates = (width, height, aspectRatio)=>{
1184
+ const targetRatio = aspectRatio[0] / aspectRatio[1];
1185
+ let cropWidth;
1186
+ let cropHeight;
1187
+ if (width / height > targetRatio) {
1188
+ cropHeight = height;
1189
+ cropWidth = height * targetRatio;
1190
+ } else {
1191
+ cropWidth = width;
1192
+ cropHeight = width / targetRatio;
1193
+ }
1194
+ const x1 = (width - cropWidth) / 2;
1195
+ const y1 = (height - cropHeight) / 2;
1196
+ const x2 = x1 + cropWidth;
1197
+ const y2 = y1 + cropHeight;
1198
+ return {
1199
+ x1: x1 / width,
1200
+ y1: y1 / height,
1201
+ x2: x2 / width,
1202
+ y2: y2 / height
1203
+ };
1204
+ };
1205
+ const extractImgTag = (html)=>{
1206
+ const srcList = [];
1207
+ const parser = new __WEBPACK_EXTERNAL_MODULE_htmlparser2__.Parser({
1208
+ onopentag (name, attributes) {
1209
+ if ("img" === name && (attributes.src.trim() || attributes.currentSrc.trim())) srcList.push(attributes.src.trim() || attributes.currentSrc.trim());
1210
+ }
1211
+ });
1212
+ parser.write(html);
1213
+ parser.end();
1214
+ return srcList;
1215
+ };
1216
+ class TimeFormatter {
1217
+ static format(timestamp, formatStr = 'yyyy-MM-dd hh:mm') {
1218
+ if ('number' == typeof timestamp && 10 === timestamp.toString().length) timestamp *= 1000;
1219
+ const date = new Date(timestamp);
1220
+ const map = {
1221
+ yyyy: String(date.getFullYear()),
1222
+ yy: String(date.getFullYear()).slice(-2),
1223
+ MM: String(date.getMonth() + 1).padStart(2, '0'),
1224
+ dd: String(date.getDate()).padStart(2, '0'),
1225
+ hh: String(date.getHours()).padStart(2, '0'),
1226
+ mm: String(date.getMinutes()).padStart(2, '0'),
1227
+ ss: String(date.getSeconds()).padStart(2, '0'),
1228
+ M: String(date.getMonth() + 1),
1229
+ d: String(date.getDate()),
1230
+ h: String(date.getHours()),
1231
+ m: String(date.getMinutes()),
1232
+ s: String(date.getSeconds())
1233
+ };
1234
+ return formatStr.replace(/yyyy|yy|MM|dd|hh|mm|ss|M|d|h|m|s/g, (key)=>map[key]);
1235
+ }
1236
+ }
1237
+ const replaceImgSrc = (html, callback)=>{
1238
+ let lastedHtml = html;
1239
+ const isImageTag = (node)=>"tag" === node.type && "img" === node.name;
1240
+ const traverseDom = (node)=>{
1241
+ if (__WEBPACK_EXTERNAL_MODULE_htmlparser2__.DomUtils.hasChildren(node)) for (const child of node.children){
1242
+ if (isImageTag(child)) callback(child);
1243
+ traverseDom(child);
1244
+ }
1245
+ };
1246
+ const handler = new __WEBPACK_EXTERNAL_MODULE_domhandler__.DomHandler((error, dom)=>{
1247
+ if (error) console.log(error);
1248
+ else dom.forEach(traverseDom);
1249
+ lastedHtml = (0, __WEBPACK_EXTERNAL_MODULE_dom_serializer_aa70940b__["default"])(dom, {
1250
+ decodeEntities: false
1251
+ });
1252
+ });
1253
+ const parser = new __WEBPACK_EXTERNAL_MODULE_htmlparser2__.Parser(handler, {
1254
+ decodeEntities: false
1255
+ });
1256
+ parser.write(html);
1257
+ parser.end();
1258
+ return lastedHtml;
1259
+ };
1260
+ const stringifyError = (error)=>{
1261
+ if (error instanceof Error) return error.toString();
1262
+ if ("object" == typeof error) return JSON.stringify(error);
1263
+ return error;
1264
+ };
1265
+ const executeAction = (...actions)=>async (task, params)=>{
1266
+ let result = {
1267
+ code: 500,
1268
+ message: "",
1269
+ data: null
1270
+ };
1271
+ for(let index = 0; index < actions.length; index++){
1272
+ const action = actions[index];
1273
+ try {
1274
+ result = await action(task, params);
1275
+ } catch (error) {
1276
+ result = Http.handleApiError(error);
1277
+ }
1278
+ if (0 === result.code || 200 === result.code) break;
1279
+ if (index !== actions.length - 1) task.logger.error(result.message, stringifyError(result.data), result.extra);
1280
+ }
1281
+ return result;
1282
+ };
1283
+ async function copyHtmlToClipboard(page, html, options = {
1284
+ format: "text/html",
1285
+ fallback: true
1286
+ }) {
1287
+ try {
1288
+ await page.evaluate(async ({ htmlContent, format })=>{
1289
+ const blob = new Blob([
1290
+ htmlContent
1291
+ ], {
1292
+ type: format
1293
+ });
1294
+ await navigator.clipboard.write([
1295
+ new ClipboardItem({
1296
+ [format]: blob
1297
+ })
1298
+ ]);
1299
+ }, {
1300
+ htmlContent: html,
1301
+ format: options.format
1302
+ });
1303
+ } catch (error) {
1304
+ if (options.fallback) await page.evaluate((htmlContent)=>{
1305
+ const div = document.createElement("div");
1306
+ div.contentEditable = "true";
1307
+ div.style.cssText = `
1308
+ position: fixed;
1309
+ left: -9999px;
1310
+ opacity: 0;
1311
+ pointer-events: none;
1312
+ `;
1313
+ div.innerHTML = htmlContent;
1314
+ document.body.appendChild(div);
1315
+ const range = document.createRange();
1316
+ range.selectNodeContents(div);
1317
+ const selection = window.getSelection();
1318
+ selection.removeAllRanges();
1319
+ selection.addRange(range);
1320
+ document.execCommand("copy");
1321
+ document.body.removeChild(div);
1322
+ selection.removeAllRanges();
1323
+ }, html);
1324
+ }
1325
+ }
1326
+ function PopupListener(page, popupSelector, popKey, buttonSelector, options = {}) {
1327
+ const { checkInterval = 1000, stopAfterClick = false } = options;
1328
+ const popup = page.locator(popupSelector);
1329
+ const button = page.locator(buttonSelector);
1330
+ const intervalId = setInterval(async ()=>{
1331
+ try {
1332
+ if (await popup.count() > 0 && await popup.isVisible() && (await popup.textContent() || "").includes(popKey)) {
1333
+ await button.click({
1334
+ force: true
1335
+ });
1336
+ if (stopAfterClick) clearInterval(intervalId);
1337
+ }
1338
+ } catch (err) {}
1339
+ }, checkInterval);
1340
+ return ()=>{
1341
+ clearInterval(intervalId);
1342
+ };
1343
+ }
1344
+ const parseUrlQueryString = (url)=>{
1345
+ const queryStringObject = {};
1346
+ if (!url || !url.includes("?")) return queryStringObject;
1347
+ const queryString = url.split("?")[1];
1348
+ if (!queryString) return queryStringObject;
1349
+ const queryWithoutHash = queryString.split("#")[0];
1350
+ const queryStringArray = queryWithoutHash.split("&");
1351
+ for (const item of queryStringArray){
1352
+ if (!item) continue;
1353
+ const equalIndex = item.indexOf("=");
1354
+ if (-1 === equalIndex) queryStringObject[item] = "";
1355
+ else {
1356
+ const key = item.slice(0, equalIndex);
1357
+ const value = item.slice(equalIndex + 1);
1358
+ try {
1359
+ queryStringObject[key] = decodeURIComponent(value);
1360
+ } catch (e) {
1361
+ queryStringObject[key] = value;
1362
+ }
1363
+ }
1364
+ }
1365
+ return queryStringObject;
1366
+ };
1367
+ const defaultParams = (params, defaults)=>Object.assign({}, defaults, params);
1505
1368
  const errnoMap = {
1506
1369
  20040706: "正文图片和封面图片推荐jpg、png格式。",
1507
1370
  20040084: "正文图片和封面图片推荐jpg、png格式。",
@@ -1520,7 +1383,7 @@ const errnoMap = {
1520
1383
  const mockAction = async (task, params)=>{
1521
1384
  const { baijiahaoSingleCover, baijiahaoMultCover, baijiahaoCoverType } = params.settingInfo;
1522
1385
  const tmpCachePath = task.getTmpPath();
1523
- const http = new utils_http.e({
1386
+ const http = new Http({
1524
1387
  headers: {
1525
1388
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
1526
1389
  token: params.token
@@ -1554,8 +1417,8 @@ const mockAction = async (task, params)=>{
1554
1417
  const uploadImages = async (_images)=>{
1555
1418
  const images = _images.filter((url)=>!!url && "" !== url.trim());
1556
1419
  return await Promise.all(images.map(async (url)=>{
1557
- const fileName = (0, share_.getFilenameFromUrl)(url);
1558
- const image = await (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
1420
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
1421
+ const image = await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
1559
1422
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
1560
1423
  formData.append("org_file_name", fileName);
1561
1424
  formData.append("type", "image");
@@ -1564,7 +1427,7 @@ const mockAction = async (task, params)=>{
1564
1427
  formData.append("save_material", "1");
1565
1428
  formData.append("no_compress", "0");
1566
1429
  formData.append("article_type", "news");
1567
- formData.append("media", external_node_fs_["default"].createReadStream(image));
1430
+ formData.append("media", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(image));
1568
1431
  const res = await http.api({
1569
1432
  method: "post",
1570
1433
  url: "https://baijiahao.baidu.com/materialui/picture/uploadProxy",
@@ -1574,9 +1437,9 @@ const mockAction = async (task, params)=>{
1574
1437
  return res.ret;
1575
1438
  }));
1576
1439
  };
1577
- const originContentImages = (0, utils.E_)(params.content);
1440
+ const originContentImages = extractImgTag(params.content);
1578
1441
  const targetContentImages = await uploadImages(originContentImages);
1579
- const content = (0, utils.I)(params.content, (dom)=>{
1442
+ const content = replaceImgSrc(params.content, (dom)=>{
1580
1443
  if (dom.attribs.src) {
1581
1444
  const idx = originContentImages.findIndex((it)=>it === dom.attribs.src);
1582
1445
  dom.attribs.src = targetContentImages[idx].bos_url;
@@ -1651,7 +1514,7 @@ const mockAction = async (task, params)=>{
1651
1514
  },
1652
1515
  defaultErrorMsg: isDraft ? "文章同步出现异常,请稍后重试。" : "文章发布出现异常,请稍后重试。"
1653
1516
  });
1654
- return (0, share_.success)(res.ret.article_id, "百家号发布完成。");
1517
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res.ret.article_id, "百家号发布完成。");
1655
1518
  };
1656
1519
  const rpaAction = async (task, params)=>{
1657
1520
  const tmpCachePath = task.getTmpPath();
@@ -1689,7 +1552,7 @@ const rpaAction = async (task, params)=>{
1689
1552
  const titleInstance = page.locator("#ueditor #bjhNewsTitle .input-box textarea");
1690
1553
  await titleInstance.click();
1691
1554
  await titleInstance.fill(params.title);
1692
- await (0, utils.qN)(page, params.content);
1555
+ await copyHtmlToClipboard(page, params.content);
1693
1556
  await page.click("#ueditor .edui-editor-iframeholder iframe");
1694
1557
  await page.keyboard.press("Control+A");
1695
1558
  await page.keyboard.press("Control+V");
@@ -1705,8 +1568,8 @@ const rpaAction = async (task, params)=>{
1705
1568
  const images = await Promise.all((isSingleCover ? [
1706
1569
  params.settingInfo.baijiahaoSingleCover
1707
1570
  ] : params.settingInfo.baijiahaoMultCover).map((url)=>{
1708
- const fileName = (0, share_.getFilenameFromUrl)(url);
1709
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
1571
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
1572
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
1710
1573
  }));
1711
1574
  const coverSelector = page.locator(".cheetah-form-item-control .edit-cover-container .cover-list .DraggableTags-tag-drag .coverUploaderView");
1712
1575
  const coverCount = await coverSelector.count();
@@ -1789,7 +1652,7 @@ const rpaAction = async (task, params)=>{
1789
1652
  hasText: "日"
1790
1653
  }).click();
1791
1654
  await page.locator('#select-date_list + * .cheetah-select-item-option', {
1792
- hasText: utils.Tx.format(params.settingInfo.timer, "M月dd日")
1655
+ hasText: TimeFormatter.format(params.settingInfo.timer, "M月dd日")
1793
1656
  }).click();
1794
1657
  await page.waitForTimeout(200);
1795
1658
  await page.locator(".timepublish-wrap-select .select-wrap", {
@@ -1810,7 +1673,7 @@ const rpaAction = async (task, params)=>{
1810
1673
  let fistHourElemH = Number(fistHourElem?.split("点")[0]);
1811
1674
  const lastHourElem = scrollHourInfo.elementItem[scrollHourInfo.elementItem.length - 1];
1812
1675
  let lastHourElemH = Number(lastHourElem?.split("点")[0]);
1813
- let targetTimeH = Number(utils.Tx.format(params.settingInfo.timer, 'h'));
1676
+ let targetTimeH = Number(TimeFormatter.format(params.settingInfo.timer, 'h'));
1814
1677
  await page.mouse.wheel(0, targetTimeH > lastHourElemH ? (targetTimeH - lastHourElemH) * scrollHourInfo.elementHeight : targetTimeH < fistHourElemH ? -(fistHourElemH - targetTimeH) * scrollHourInfo.elementHeight : 0);
1815
1678
  await page.locator("#select-hour_list + * .cheetah-select-item-option ", {
1816
1679
  hasText: targetTimeH + "点"
@@ -1834,7 +1697,7 @@ const rpaAction = async (task, params)=>{
1834
1697
  let fistMinuteElemH = Number(fistMinuteElem?.split("分")[0]);
1835
1698
  const lastMinuteElem = scrollMinuteInfo.elementItem[scrollMinuteInfo.elementItem.length - 1];
1836
1699
  let lastMinuteElemH = Number(lastMinuteElem?.split("分")[0]);
1837
- let targetTimeM = Number(utils.Tx.format(params.settingInfo.timer, 'm'));
1700
+ let targetTimeM = Number(TimeFormatter.format(params.settingInfo.timer, 'm'));
1838
1701
  await page.mouse.wheel(0, targetTimeM > lastMinuteElemH ? (targetTimeM - lastMinuteElemH) * scrollMinuteInfo.elementHeight : targetTimeM < fistMinuteElemH ? -(fistMinuteElemH - targetTimeM) * scrollMinuteInfo.elementHeight : 0);
1839
1702
  await page.locator("#select-minute_list + * .cheetah-select-item-option ", {
1840
1703
  hasText: targetTimeM + "分"
@@ -1848,16 +1711,16 @@ const rpaAction = async (task, params)=>{
1848
1711
  }).locator("button").click();
1849
1712
  });
1850
1713
  await page.close();
1851
- return (0, share_.success)(articleId, articleId ? "发布成功" : message);
1714
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(articleId, articleId ? "发布成功" : message);
1852
1715
  };
1853
1716
  const baijiahaoPublish = async (task, params)=>{
1854
1717
  if ("rpa" === params.actionType) return rpaAction(task, params);
1855
1718
  if ("mockApi" === params.actionType) return mockAction(task, params);
1856
- return (0, utils.jo)(mockAction, rpaAction)(task, params);
1719
+ return executeAction(mockAction, rpaAction)(task, params);
1857
1720
  };
1858
1721
  const getBaijiahaoActivity = async (_task, params)=>{
1859
1722
  const cookies = params.cookies ?? [];
1860
- const http = new utils_http.e({
1723
+ const http = new Http({
1861
1724
  headers: {
1862
1725
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
1863
1726
  token: params.token
@@ -1875,11 +1738,11 @@ const getBaijiahaoActivity = async (_task, params)=>{
1875
1738
  task_type: -1
1876
1739
  }
1877
1740
  });
1878
- return (0, share_.success)(res?.data?.list ?? []);
1741
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res?.data?.list ?? []);
1879
1742
  };
1880
1743
  const getToutiaoConfig = async (_task, params)=>{
1881
1744
  const cookies = params.cookies ?? [];
1882
- const http = new utils_http.e({
1745
+ const http = new Http({
1883
1746
  headers: {
1884
1747
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
1885
1748
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
@@ -1927,7 +1790,7 @@ const getToutiaoConfig = async (_task, params)=>{
1927
1790
  getCityDistrict(),
1928
1791
  getUserRights()
1929
1792
  ]);
1930
- return (0, share_.success)({
1793
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
1931
1794
  suggestWords,
1932
1795
  cityDistrict,
1933
1796
  userRights
@@ -1935,7 +1798,7 @@ const getToutiaoConfig = async (_task, params)=>{
1935
1798
  };
1936
1799
  const getBaijiahaoConfig = async (_task, params)=>{
1937
1800
  const cookies = params.cookies ?? [];
1938
- const http = new utils_http.e({
1801
+ const http = new Http({
1939
1802
  headers: {
1940
1803
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
1941
1804
  token: params.token
@@ -1961,10 +1824,10 @@ const getBaijiahaoConfig = async (_task, params)=>{
1961
1824
  is_enable: 1,
1962
1825
  publish_num_left: res.data.ability.publish_num_left
1963
1826
  });
1964
- return (0, share_.success)(data, "获取百家号配置项成功!");
1827
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(data, "获取百家号配置项成功!");
1965
1828
  };
1966
1829
  const searchToutiaoTopicList = async (_task, params)=>{
1967
- const http = new utils_http.e({
1830
+ const http = new Http({
1968
1831
  headers: {
1969
1832
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
1970
1833
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
@@ -1979,14 +1842,14 @@ const searchToutiaoTopicList = async (_task, params)=>{
1979
1842
  words: params.searchValue
1980
1843
  }
1981
1844
  });
1982
- if (0 === res.code) return (0, share_.success)(params.searchValue ? res.recents : res.hots);
1983
- return (0, share_.success)([]);
1845
+ if (0 === res.code) return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(params.searchValue ? res.recents : res.hots);
1846
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
1984
1847
  } catch (error) {
1985
- return (0, share_.success)([]);
1848
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
1986
1849
  }
1987
1850
  };
1988
1851
  const searchToutiaoLocation = async (_task, params)=>{
1989
- const http = new utils_http.e({
1852
+ const http = new Http({
1990
1853
  headers: {
1991
1854
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
1992
1855
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish",
@@ -2010,7 +1873,7 @@ const searchToutiaoLocation = async (_task, params)=>{
2010
1873
  timestamp: Math.floor(Date.now() / 1000)
2011
1874
  }
2012
1875
  });
2013
- if (200 === res.code) return (0, share_.success)(res.data.poi.map((item)=>({
1876
+ if (200 === res.code) return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res.data.poi.map((item)=>({
2014
1877
  position: item.name,
2015
1878
  city: item.city,
2016
1879
  longitude: item.longitude,
@@ -2018,13 +1881,13 @@ const searchToutiaoLocation = async (_task, params)=>{
2018
1881
  type_code: item.type_code,
2019
1882
  poi_id: item.id
2020
1883
  })));
2021
- return (0, share_.success)([]);
1884
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
2022
1885
  } catch (error) {
2023
- return (0, share_.success)([]);
1886
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
2024
1887
  }
2025
1888
  };
2026
1889
  const searchToutiaoUserInfo = async (_task, params)=>{
2027
- const http = new utils_http.e({
1890
+ const http = new Http({
2028
1891
  headers: {
2029
1892
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2030
1893
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
@@ -2040,19 +1903,19 @@ const searchToutiaoUserInfo = async (_task, params)=>{
2040
1903
  app_name: "toutiao_mp"
2041
1904
  }
2042
1905
  });
2043
- if (0 === res.err_no) return (0, share_.success)(res.data.suggest.map((item)=>({
1906
+ if (0 === res.err_no) return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res.data.suggest.map((item)=>({
2044
1907
  user_id: item.user.info.user_id,
2045
1908
  name: item.user.info.name,
2046
1909
  avatar_url: item.user.info.avatar_url,
2047
1910
  followers_count: item.user.relation_count.followers_count
2048
1911
  })), '搜索成功');
2049
- return (0, share_.success)([]);
1912
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
2050
1913
  } catch (error) {
2051
- return (0, share_.success)([]);
1914
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
2052
1915
  }
2053
1916
  };
2054
1917
  const searchXiaohongshuLocation = async (_task, params)=>{
2055
- const http = new utils_http.e({
1918
+ const http = new Http({
2056
1919
  headers: {
2057
1920
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2058
1921
  referer: "https://creator.xiaohongshu.com",
@@ -2073,13 +1936,13 @@ const searchXiaohongshuLocation = async (_task, params)=>{
2073
1936
  type: 3
2074
1937
  }
2075
1938
  });
2076
- return (0, share_.success)(0 === result.code ? result.data.poi_list : []);
1939
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === result.code ? result.data.poi_list : []);
2077
1940
  } catch (error) {
2078
- return (0, share_.success)([]);
1941
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
2079
1942
  }
2080
1943
  };
2081
1944
  const searchXiaohongshuTopicList = async (_task, params)=>{
2082
- const http = new utils_http.e({
1945
+ const http = new Http({
2083
1946
  headers: {
2084
1947
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2085
1948
  referer: "https://creator.xiaohongshu.com",
@@ -2103,9 +1966,9 @@ const searchXiaohongshuTopicList = async (_task, params)=>{
2103
1966
  },
2104
1967
  defaultErrorMsg: "话题搜索异常,请稍后重试。"
2105
1968
  });
2106
- return (0, share_.success)(0 === result.code ? result.data.topic_info_dtos : [], '获取话题成功');
1969
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === result.code ? result.data.topic_info_dtos : [], '获取话题成功');
2107
1970
  } catch (error) {
2108
- return (0, share_.success)([]);
1971
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)([]);
2109
1972
  }
2110
1973
  };
2111
1974
  const GenAB = __webpack_require__("./src/utils/ttABEncrypt.js");
@@ -2141,7 +2004,7 @@ const get3101DetailError = (errorList, message, saveType)=>{
2141
2004
  const mock_mockAction = async (task, params)=>{
2142
2005
  const { toutiaoSingleCover, toutiaoMultCover, toutiaoCoverType, toutiaoOriginal, toutiaoExclusive, toutiaoClaim } = params.settingInfo;
2143
2006
  const tmpCachePath = task.getTmpPath();
2144
- const http = new utils_http.e({
2007
+ const http = new Http({
2145
2008
  headers: {
2146
2009
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2147
2010
  origin: "https://mp.toutiao.com",
@@ -2165,10 +2028,10 @@ const mock_mockAction = async (task, params)=>{
2165
2028
  defaultErrorMsg: `头条号登录状态失效,请重新绑定账号后${"draft" === params.saveType ? "同步" : "发布"}。`
2166
2029
  });
2167
2030
  const uploadImages = async (images)=>await Promise.all(images.map(async (url)=>{
2168
- const fileName = (0, share_.getFilenameFromUrl)(url);
2169
- const image = await (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
2031
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
2032
+ const image = await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
2170
2033
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
2171
- formData.append("image", external_node_fs_["default"].createReadStream(image));
2034
+ formData.append("image", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(image));
2172
2035
  const response = await http.api({
2173
2036
  method: "post",
2174
2037
  url: "https://mp.toutiao.com/spice/image?upload_source=20020002&aid=1231&device_platform=web",
@@ -2177,9 +2040,9 @@ const mock_mockAction = async (task, params)=>{
2177
2040
  });
2178
2041
  return response.data;
2179
2042
  }));
2180
- const originContentImages = (0, utils.E_)(params.content);
2043
+ const originContentImages = extractImgTag(params.content);
2181
2044
  const targetContentImages = await uploadImages(originContentImages);
2182
- const content = (0, utils.I)(params.content, (dom)=>{
2045
+ const content = replaceImgSrc(params.content, (dom)=>{
2183
2046
  if (dom.attribs.src) {
2184
2047
  const idx = originContentImages.findIndex((it)=>it === dom.attribs.src);
2185
2048
  dom.attribs.src = targetContentImages[idx].image_url;
@@ -2250,7 +2113,7 @@ const mock_mockAction = async (task, params)=>{
2250
2113
  is_refute_rumor: 0,
2251
2114
  save: "publish" === params.saveType ? 1 : 0,
2252
2115
  timer_status: params.settingInfo.timer ? 1 : 0,
2253
- timer_time: params.settingInfo.timer ? utils.Tx.format(params.settingInfo.timer) : "",
2116
+ timer_time: params.settingInfo.timer ? TimeFormatter.format(params.settingInfo.timer) : "",
2254
2117
  title: params.title,
2255
2118
  content: content + topicContent,
2256
2119
  extra: JSON.stringify(extraData),
@@ -2305,7 +2168,7 @@ const mock_mockAction = async (task, params)=>{
2305
2168
  defaultErrorMsg: "draft" === params.saveType ? "文章同步异常,请稍后重试。" : "文章发布异常,请稍后重试。"
2306
2169
  };
2307
2170
  const publishResult = await http.api(publishOption);
2308
- return (0, share_.success)(publishResult.data.pgc_id);
2171
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(publishResult.data.pgc_id);
2309
2172
  };
2310
2173
  const rpa_GenAB = __webpack_require__("./src/utils/ttABEncrypt.js");
2311
2174
  const rpa_rpaAction = async (task, params)=>{
@@ -2369,14 +2232,14 @@ const rpa_rpaAction = async (task, params)=>{
2369
2232
  });
2370
2233
  } else await route.continue();
2371
2234
  });
2372
- (0, utils.f8)(page, '.byte-modal.publish-exclusive-modal .title', "激励", '.byte-modal-close-icon', {
2235
+ PopupListener(page, '.byte-modal.publish-exclusive-modal .title', "激励", '.byte-modal-close-icon', {
2373
2236
  checkInterval: 1000,
2374
2237
  stopAfterClick: false
2375
2238
  });
2376
2239
  const titleInstance = page.locator(".publish-editor-title-wrapper .publish-editor-title textarea");
2377
2240
  await titleInstance.click();
2378
2241
  await titleInstance.fill(params.title);
2379
- await (0, utils.qN)(page, params.content);
2242
+ await copyHtmlToClipboard(page, params.content);
2380
2243
  await page.click(".publish-editor .syl-editor-wrap .ProseMirror");
2381
2244
  await page.keyboard.press("Control+V");
2382
2245
  const coverTypeValue = COVER_TYPE[params.settingInfo.toutiaoCoverType];
@@ -2391,8 +2254,8 @@ const rpa_rpaAction = async (task, params)=>{
2391
2254
  ];
2392
2255
  else if ("multiple" === params.settingInfo.toutiaoCoverType) coverUrls = params.settingInfo.toutiaoMultCover;
2393
2256
  const images = await Promise.all(coverUrls.map((url)=>{
2394
- const fileName = (0, share_.getFilenameFromUrl)(url);
2395
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
2257
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
2258
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
2396
2259
  }));
2397
2260
  const coverUploadEle = coverContainer.locator(".article-cover .article-cover-images").locator(".article-cover-img-wrap, .article-cover-add");
2398
2261
  const coverUploadCount = await coverUploadEle.count();
@@ -2423,7 +2286,7 @@ const rpa_rpaAction = async (task, params)=>{
2423
2286
  state: "visible"
2424
2287
  });
2425
2288
  await confirmBtn.click();
2426
- await page.waitForTimeout((0, utils.i9)(500, 1000));
2289
+ await page.waitForTimeout(getRandomInRange(500, 1000));
2427
2290
  }
2428
2291
  if (params.settingInfo.toutiaoLocation) {
2429
2292
  const locationContainer = page.locator(".form-container .edit-cell").filter({
@@ -2492,17 +2355,17 @@ const rpa_rpaAction = async (task, params)=>{
2492
2355
  });
2493
2356
  await page.locator(".byte-modal-content .day-select .byte-select-view-value").click();
2494
2357
  await page.locator('li.byte-select-option', {
2495
- hasText: utils.Tx.format(params.settingInfo.timer, "MM月dd日")
2358
+ hasText: TimeFormatter.format(params.settingInfo.timer, "MM月dd日")
2496
2359
  }).click();
2497
2360
  await page.waitForTimeout(200);
2498
2361
  await page.locator(".byte-modal-content .hour-select .byte-select-view-value").click();
2499
2362
  await page.locator('li.byte-select-option', {
2500
- hasText: utils.Tx.format(params.settingInfo.timer, "h")
2363
+ hasText: TimeFormatter.format(params.settingInfo.timer, "h")
2501
2364
  }).click();
2502
2365
  await page.waitForTimeout(200);
2503
2366
  await page.locator(".byte-modal-content .minute-select .byte-select-view-value").click();
2504
2367
  await page.locator('li.byte-select-option', {
2505
- hasText: utils.Tx.format(params.settingInfo.timer, "m")
2368
+ hasText: TimeFormatter.format(params.settingInfo.timer, "m")
2506
2369
  }).click();
2507
2370
  await page.waitForTimeout(200);
2508
2371
  await page.locator(".byte-modal-footer button").filter({
@@ -2529,7 +2392,7 @@ const rpa_rpaAction = async (task, params)=>{
2529
2392
  }).click();
2530
2393
  }
2531
2394
  await page.close();
2532
- return (0, share_.success)(articleId, "publish" === params.saveType ? "发布成功" : "保存草稿成功");
2395
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(articleId, "publish" === params.saveType ? "发布成功" : "保存草稿成功");
2533
2396
  };
2534
2397
  const COVER_TYPE = {
2535
2398
  no: 1,
@@ -2540,10 +2403,10 @@ const getAddTypeValue = (toutiaoAd)=>"yes" === toutiaoAd ? 3 : 2;
2540
2403
  const toutiaoPublish = async (task, params)=>{
2541
2404
  if ("rpa" === params.actionType) return rpa_rpaAction(task, params);
2542
2405
  if ("mockApi" === params.actionType) return mock_mockAction(task, params);
2543
- return (0, utils.jo)(mock_mockAction, rpa_rpaAction)(task, params);
2406
+ return executeAction(mock_mockAction, rpa_rpaAction)(task, params);
2544
2407
  };
2545
2408
  const TTFansExport = async (_task, params)=>{
2546
- const http = new utils_http.e({
2409
+ const http = new Http({
2547
2410
  headers: {
2548
2411
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2549
2412
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
@@ -2557,19 +2420,19 @@ const TTFansExport = async (_task, params)=>{
2557
2420
  app_id: 1231
2558
2421
  }
2559
2422
  });
2560
- return (0, share_.success)(0 === res.code ? {
2423
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.code ? {
2561
2424
  fans_count: res.total_fans_count
2562
2425
  } : {
2563
2426
  fans_count: null
2564
2427
  }, "获取粉丝数成功!");
2565
2428
  } catch (error) {
2566
- return (0, share_.success)({
2429
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2567
2430
  fans_count: null
2568
2431
  }, "获取粉丝数失败,请检查登陆有效性!");
2569
2432
  }
2570
2433
  };
2571
2434
  const XhsFansExport = async (_task, params)=>{
2572
- const http = new utils_http.e({
2435
+ const http = new Http({
2573
2436
  headers: {
2574
2437
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2575
2438
  referer: "https://creator.xiaohongshu.com/new/home?source=official"
@@ -2580,19 +2443,19 @@ const XhsFansExport = async (_task, params)=>{
2580
2443
  method: "get",
2581
2444
  url: "https://creator.xiaohongshu.com/api/galaxy/creator/home/personal_info"
2582
2445
  });
2583
- return (0, share_.success)(0 === res.result ? {
2446
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.result ? {
2584
2447
  fans_count: res.data.fans_count
2585
2448
  } : {
2586
2449
  fans_count: null
2587
2450
  }, "获取粉丝数成功!");
2588
2451
  } catch (error) {
2589
- return (0, share_.success)({
2452
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2590
2453
  fans_count: null
2591
2454
  }, "获取粉丝数失败,请检查登陆有效性!");
2592
2455
  }
2593
2456
  };
2594
2457
  const WxFansExport = async (_task, params)=>{
2595
- const http = new utils_http.e({
2458
+ const http = new Http({
2596
2459
  headers: {
2597
2460
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";")
2598
2461
  }
@@ -2608,19 +2471,19 @@ const WxFansExport = async (_task, params)=>{
2608
2471
  }
2609
2472
  });
2610
2473
  const match = htmlStr.match(/总用户数[\s\S]*?<mp-thousandth>(\d+)<\/mp-thousandth>/);
2611
- return (0, share_.success)(match ? {
2474
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(match ? {
2612
2475
  fans_count: Number(match[1])
2613
2476
  } : {
2614
2477
  fans_count: null
2615
2478
  }, "获取粉丝数成功!");
2616
2479
  } catch (error) {
2617
- return (0, share_.success)({
2480
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2618
2481
  fans_count: null
2619
2482
  }, "获取粉丝数失败,请检查登陆有效性!");
2620
2483
  }
2621
2484
  };
2622
2485
  const BjhFansExport = async (_task, params)=>{
2623
- const http = new utils_http.e({
2486
+ const http = new Http({
2624
2487
  headers: {
2625
2488
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2626
2489
  referer: "https://baijiahao.baidu.com/builder/rc/home"
@@ -2631,19 +2494,19 @@ const BjhFansExport = async (_task, params)=>{
2631
2494
  method: "get",
2632
2495
  url: "https://baijiahao.baidu.com/cms-ui/rights/growth/get_info"
2633
2496
  });
2634
- return (0, share_.success)(0 === res.errno ? {
2497
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.errno ? {
2635
2498
  fans_count: res.data.total_fans
2636
2499
  } : {
2637
2500
  fans_count: null
2638
2501
  }, "获取粉丝数成功!");
2639
2502
  } catch (error) {
2640
- return (0, share_.success)({
2503
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2641
2504
  fans_count: null
2642
2505
  }, "获取粉丝数失败,请检查登陆有效性!");
2643
2506
  }
2644
2507
  };
2645
2508
  const TTSessionCheck = async (_task, params)=>{
2646
- const http = new utils_http.e({
2509
+ const http = new Http({
2647
2510
  headers: {
2648
2511
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2649
2512
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
@@ -2655,19 +2518,19 @@ const TTSessionCheck = async (_task, params)=>{
2655
2518
  url: "https://mp.toutiao.com/mp/agw/creator_center/user_info",
2656
2519
  defaultErrorMsg: `头条号登录状态失效。`
2657
2520
  });
2658
- return (0, share_.success)(0 === res.code ? {
2521
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.code ? {
2659
2522
  isValidSession: true
2660
2523
  } : {
2661
2524
  isValidSession: false
2662
2525
  }, "头条账号有效性检测完成!");
2663
2526
  } catch (error) {
2664
- return (0, share_.success)({
2527
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2665
2528
  isValidSession: false
2666
2529
  }, "头条账号有效性检测失败!");
2667
2530
  }
2668
2531
  };
2669
2532
  const WxSessionCheck = async (_task, params)=>{
2670
- const http = new utils_http.e({
2533
+ const http = new Http({
2671
2534
  headers: {
2672
2535
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";")
2673
2536
  }
@@ -2694,19 +2557,19 @@ const WxSessionCheck = async (_task, params)=>{
2694
2557
  ajax: 1
2695
2558
  }
2696
2559
  });
2697
- return (0, share_.success)(0 === res.base_resp.ret ? {
2560
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.base_resp.ret ? {
2698
2561
  isValidSession: true
2699
2562
  } : {
2700
2563
  isValidSession: false
2701
2564
  }, "微信账号有效性检测完成!");
2702
2565
  } catch (error) {
2703
- return (0, share_.success)({
2566
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2704
2567
  isValidSession: false
2705
2568
  }, "微信账号有效性检测失败!");
2706
2569
  }
2707
2570
  };
2708
2571
  const XhsSessionCheck = async (_task, params)=>{
2709
- const http = new utils_http.e({
2572
+ const http = new Http({
2710
2573
  headers: {
2711
2574
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2712
2575
  referer: "https://creator.xiaohongshu.com/new/home?source=official"
@@ -2717,19 +2580,19 @@ const XhsSessionCheck = async (_task, params)=>{
2717
2580
  method: "get",
2718
2581
  url: "https://creator.xiaohongshu.com/api/galaxy/user/info"
2719
2582
  });
2720
- return (0, share_.success)(0 === res.result ? {
2583
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.result ? {
2721
2584
  isValidSession: true
2722
2585
  } : {
2723
2586
  isValidSession: false
2724
2587
  }, "小红书账号有效性检测完成!");
2725
2588
  } catch (error) {
2726
- return (0, share_.success)({
2589
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2727
2590
  isValidSession: false
2728
2591
  }, "小红书账号有效性检测完成!");
2729
2592
  }
2730
2593
  };
2731
2594
  const BjhSessionCheck = async (_task, params)=>{
2732
- const http = new utils_http.e({
2595
+ const http = new Http({
2733
2596
  headers: {
2734
2597
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2735
2598
  referer: "https://baijiahao.baidu.com/builder/rc/home"
@@ -2741,30 +2604,34 @@ const BjhSessionCheck = async (_task, params)=>{
2741
2604
  url: "https://baijiahao.baidu.com/pcui/home/index",
2742
2605
  defaultErrorMsg: `百家号登录状态失效。`
2743
2606
  });
2744
- return (0, share_.success)(0 === res.errno ? {
2607
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(0 === res.errno ? {
2745
2608
  isValidSession: true
2746
2609
  } : {
2747
2610
  isValidSession: false
2748
2611
  }, "百家号账号有效性检测完成!");
2749
2612
  } catch (error) {
2750
- return (0, share_.success)({
2613
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
2751
2614
  isValidSession: false
2752
2615
  }, "百家号账号有效性检测失败!");
2753
2616
  }
2754
2617
  };
2755
- var types = __webpack_require__("./src/actions/searchAccountInfo/types.ts");
2618
+ const types_errorResponse = (message, code = 500)=>({
2619
+ code,
2620
+ message,
2621
+ data: null
2622
+ });
2756
2623
  async function getBaijiahaoData(params) {
2757
2624
  try {
2758
2625
  const { token } = params;
2759
- if (!token) return (0, types.V)("缺少token", 200);
2760
- const http = new utils_http.e({
2626
+ if (!token) return types_errorResponse("缺少token", 200);
2627
+ const http = new Http({
2761
2628
  headers: {
2762
2629
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2763
2630
  token: String(token),
2764
2631
  Referer: "https://baijiahao.baidu.com/builder/rc/home"
2765
2632
  }
2766
2633
  });
2767
- const yesterday = utils.Tx.format(new Date().setDate(new Date().getDate() - 1), "yyyyMMdd");
2634
+ const yesterday = TimeFormatter.format(new Date().setDate(new Date().getDate() - 1), "yyyyMMdd");
2768
2635
  const [fansData, readData, incomeData, yesterdayData] = await Promise.all([
2769
2636
  http.api({
2770
2637
  method: "get",
@@ -2792,24 +2659,24 @@ async function getBaijiahaoData(params) {
2792
2659
  ]);
2793
2660
  const bjhData = {
2794
2661
  fansNum: fansData.data.coreData.fansCount,
2795
- fansNumYesterday: yesterdayData.data.data.fans_increase,
2662
+ fansNumYesterday: -1 == yesterdayData.data.data.fans_increase ? null : yesterdayData.data.data.fans_increase,
2796
2663
  readNum: readData.data.total.view_count,
2797
2664
  incomeNum: incomeData.data.all_income.total_income,
2798
- incomeNumYesterday: incomeData.data.all_income.yesterday_income,
2799
- recommendNumYesterday: yesterdayData.data.data.recommend_count,
2800
- readNumYesterday: yesterdayData.data.data.view_count,
2801
- likeNumYesterday: yesterdayData.data.data.likes_count,
2802
- commentNumYesterday: yesterdayData.data.data.comment_count
2665
+ incomeNumYesterday: -1 == incomeData.data.all_income.yesterday_income ? null : incomeData.data.all_income.yesterday_income,
2666
+ recommendNumYesterday: -1 == yesterdayData.data.data.recommend_count ? null : yesterdayData.data.data.recommend_count,
2667
+ readNumYesterday: -1 == yesterdayData.data.data.view_count ? null : yesterdayData.data.data.view_count,
2668
+ likeNumYesterday: -1 == yesterdayData.data.data.likes_count ? null : yesterdayData.data.data.likes_count,
2669
+ commentNumYesterday: -1 == yesterdayData.data.data.comment_count ? null : yesterdayData.data.data.comment_count
2803
2670
  };
2804
- return (0, share_.success)(bjhData, "百家号粉丝数据获取成功!");
2671
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(bjhData, "百家号平台数据获取成功!");
2805
2672
  } catch (error) {
2806
- return (0, types.V)(error instanceof Error ? error.message : "百家号数据获取失败");
2673
+ return types_errorResponse(error instanceof Error ? error.message : "百家号平台数据获取失败");
2807
2674
  }
2808
2675
  }
2809
2676
  async function getToutiaoData(params) {
2810
2677
  const { cookies } = params;
2811
2678
  try {
2812
- const http = new utils_http.e({
2679
+ const http = new Http({
2813
2680
  headers: {
2814
2681
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2815
2682
  referer: "https://mp.toutiao.com/profile_v4/graphic/publish"
@@ -2850,12 +2717,71 @@ async function getToutiaoData(params) {
2850
2717
  likeNumYesterday: contentDataYesterday.author_stat.interaction_data.digg_count,
2851
2718
  commentNumYesterday: contentDataYesterday.author_stat.interaction_data.comment_count
2852
2719
  };
2853
- return (0, share_.success)(ttData, "头条号粉丝数据获取成功!");
2720
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(ttData, "头条号粉丝数据获取成功!");
2721
+ } catch (error) {
2722
+ return types_errorResponse(error instanceof Error ? error.message : "头条号数据获取失败");
2723
+ }
2724
+ }
2725
+ async function getWeixinData(params) {
2726
+ const { token } = params;
2727
+ if (!token) return {
2728
+ code: 200,
2729
+ message: "缺少token",
2730
+ data: null
2731
+ };
2732
+ try {
2733
+ const { token } = params;
2734
+ if (!token) return types_errorResponse("缺少token", 200);
2735
+ const http = new Http({
2736
+ headers: {
2737
+ cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";")
2738
+ }
2739
+ });
2740
+ const userInfo = {
2741
+ originalCount: 0,
2742
+ totalUsers: 0,
2743
+ userIncrease: 0,
2744
+ yesterday: {
2745
+ read: 0,
2746
+ share: 0,
2747
+ subscribe: 0
2748
+ }
2749
+ };
2750
+ const userInfoHtml = await http.api({
2751
+ method: "get",
2752
+ url: "https://mp.weixin.qq.com/cgi-bin/home",
2753
+ params: {
2754
+ t: "home/index",
2755
+ token,
2756
+ lang: "zh_CN"
2757
+ }
2758
+ });
2759
+ const originalMatch = userInfoHtml.trim().match(/原创内容[\s\S]*?<mp-thousandth[^>]*>([\d,]+)<\/mp-thousandth>/i);
2760
+ if (originalMatch) userInfo.originalCount = parseInt(originalMatch[1].replace(/,/g, ''), 10);
2761
+ const totalUsersMatch = userInfoHtml.match(/总用户数[\s\S]*?<div[^>]*class=["']weui-desktop-user_sum["'][^>]*>[\s\S]*?<mp-thousandth[^>]*>([\d,]+)<\/mp-thousandth>/i);
2762
+ if (totalUsersMatch) userInfo.totalUsers = parseInt(totalUsersMatch[1].replace(/,/g, ''), 10);
2763
+ const increaseMatch = userInfoHtml.match(/weui-desktop-user_increase_num[^>]*>\s*([+-]?)\s*<mp-thousandth[^>]*>([\d,]+)<\/mp-thousandth>/i);
2764
+ if (increaseMatch) {
2765
+ const sign = '-' === increaseMatch[1] ? -1 : 1;
2766
+ userInfo.userIncrease = sign * parseInt(increaseMatch[2].replace(/,/g, ''), 10);
2767
+ }
2768
+ const readMatch = userInfoHtml.match(/昨日阅读[\s\S]*?<mp-thousandth[^>]*>([\d,]+)<\/mp-thousandth>/i);
2769
+ if (readMatch) userInfo.yesterday.read = parseInt(readMatch[1].replace(/,/g, ''), 10);
2770
+ const shareMatch = userInfoHtml.match(/昨日分享[\s\S]*?<mp-thousandth[^>]*>([\d,]+)<\/mp-thousandth>/i);
2771
+ if (shareMatch) userInfo.yesterday.share = parseInt(shareMatch[1].replace(/,/g, ''), 10);
2772
+ const subscribeMatch = userInfoHtml.match(/昨日新增关注[\s\S]*?<mp-thousandth[^>]*>([\d,]+)<\/mp-thousandth>/i);
2773
+ if (subscribeMatch) userInfo.yesterday.subscribe = parseInt(subscribeMatch[1].replace(/,/g, ''), 10);
2774
+ const wxData = {
2775
+ fansNum: userInfo.totalUsers,
2776
+ fansNumYesterday: userInfo.yesterday.subscribe,
2777
+ readNumYesterday: userInfo.yesterday.read,
2778
+ shareNumYesterday: userInfo.yesterday.share
2779
+ };
2780
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(wxData, "微信平台数据获取成功!");
2854
2781
  } catch (error) {
2855
- return (0, types.V)(error instanceof Error ? error.message : "头条号数据获取失败");
2782
+ return types_errorResponse(error instanceof Error ? error.message : "微信平台数据获取失败");
2856
2783
  }
2857
2784
  }
2858
- var getWxInfo = __webpack_require__("./src/actions/searchAccountInfo/getWxInfo.ts");
2859
2785
  class XsEncrypt {
2860
2786
  async encryptMD5(url) {
2861
2787
  return __WEBPACK_EXTERNAL_MODULE_node_crypto_9ba42079__["default"].createHash("md5").update(url, "utf8").digest("hex");
@@ -2909,8 +2835,8 @@ class XsEncrypt {
2909
2835
  async function getXiaohongshuData(params) {
2910
2836
  try {
2911
2837
  const a1Cookie = params.cookies.find((it)=>"a1" === it.name)?.value;
2912
- if (!a1Cookie) return (0, types.V)("账号数据异常,请重新绑定账号后重试。", 200);
2913
- const http = new utils_http.e({
2838
+ if (!a1Cookie) return types_errorResponse("账号数据异常,请重新绑定账号后重试。", 200);
2839
+ const http = new Http({
2914
2840
  headers: {
2915
2841
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
2916
2842
  referer: "https://creator.xiaohongshu.com",
@@ -2946,9 +2872,9 @@ async function getXiaohongshuData(params) {
2946
2872
  fansNumLastWeek: sevenData.data.seven.rise_fans_count,
2947
2873
  fansNumYesterday: sevenData.data.seven.rise_fans_list[0].count
2948
2874
  };
2949
- return (0, share_.success)(xhsData, "小红书粉丝数据获取成功!");
2875
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(xhsData, "小红书平台数据获取成功!");
2950
2876
  } catch (error) {
2951
- return (0, types.V)(error instanceof Error ? error.message : "小红书数据获取失败");
2877
+ return types_errorResponse(error instanceof Error ? error.message : "小红书平台数据获取失败");
2952
2878
  }
2953
2879
  }
2954
2880
  const SearchAccountInfo = async (_task, params)=>{
@@ -2959,14 +2885,14 @@ const SearchAccountInfo = async (_task, params)=>{
2959
2885
  case "xiaohongshu":
2960
2886
  return getXiaohongshuData(params);
2961
2887
  case "weixin":
2962
- return (0, getWxInfo.n)(params);
2888
+ return getWeixinData(params);
2963
2889
  case "baijiahao":
2964
2890
  return getBaijiahaoData(params);
2965
2891
  default:
2966
- return (0, share_.success)(null, "暂不支持该平台");
2892
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(null, "暂不支持该平台");
2967
2893
  }
2968
2894
  };
2969
- const errorResponse = (message, code = 500)=>({
2895
+ const searchPublishInfo_types_errorResponse = (message, code = 500)=>({
2970
2896
  code,
2971
2897
  message,
2972
2898
  data: null
@@ -2974,7 +2900,7 @@ const errorResponse = (message, code = 500)=>({
2974
2900
  async function handleToutiaoData(params) {
2975
2901
  try {
2976
2902
  const { cookies, pageNum = 1, pageSize = 10, showOriginalData = false, onlySuccess = false } = params;
2977
- const http = new utils_http.e({
2903
+ const http = new Http({
2978
2904
  headers: {
2979
2905
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";")
2980
2906
  }
@@ -3021,16 +2947,18 @@ async function handleToutiaoData(params) {
3021
2947
  } : {}
3022
2948
  }));
3023
2949
  const api_base_info_json = JSON.parse(articleInfo.api_base_info.app_extra_params);
3024
- return (0, share_.success)({
2950
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3025
2951
  articleCell,
3026
- pagination: {
3027
- total: api_base_info_json.total_count,
3028
- pageNum,
3029
- pageSize
3030
- }
3031
- }, "头条号文章获取成功");
2952
+ ...onlySuccess ? {
2953
+ pagination: {
2954
+ total: api_base_info_json.total_count || -1,
2955
+ pageNum,
2956
+ pageSize
2957
+ }
2958
+ } : null
2959
+ }, "头条号文章文章获取成功");
3032
2960
  } catch (error) {
3033
- return errorResponse(error instanceof Error ? error.message : "头条号数据获取失败");
2961
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "头条号文章数据获取失败");
3034
2962
  }
3035
2963
  }
3036
2964
  async function handleWeixinData(params) {
@@ -3041,21 +2969,57 @@ async function handleWeixinData(params) {
3041
2969
  message: "缺少token",
3042
2970
  data: null
3043
2971
  };
3044
- const http = new utils_http.e({
2972
+ const http = new Http({
3045
2973
  headers: {
3046
2974
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";")
3047
2975
  }
3048
2976
  });
3049
2977
  const ParsePublishPage = (body)=>{
3050
- const decodeHtml = (str)=>str.replace(/&quot;/g, '"').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#39;/g, "'").replace(/&nbsp;/g, ' ');
3051
- const match = body.match(/publish_page\s*=\s*(\{[\s\S]*?\})\s*;/);
2978
+ const match = body.match(/publish_page\s*=\s*({[\s\S]*?});/);
3052
2979
  if (!match) throw new Error('无法提取 publish_page 字段');
3053
- const rawPublishPageStr = match[1];
3054
- const parsedData = JSON.parse(rawPublishPageStr);
2980
+ let parsedData = JSON.parse(match[1]);
2981
+ const decodeEntities = function(str, decode = false) {
2982
+ const encodeMap = [
2983
+ "&",
2984
+ "&amp;",
2985
+ "<",
2986
+ "&lt;",
2987
+ ">",
2988
+ "&gt;",
2989
+ " ",
2990
+ "&nbsp;",
2991
+ '"',
2992
+ "&quot;",
2993
+ "'",
2994
+ "&#39;"
2995
+ ];
2996
+ const decodeMap = [
2997
+ "&#39;",
2998
+ "'",
2999
+ "&quot;",
3000
+ '"',
3001
+ "&nbsp;",
3002
+ " ",
3003
+ "&gt;",
3004
+ ">",
3005
+ "&lt;",
3006
+ "<",
3007
+ "&amp;",
3008
+ "&",
3009
+ "&#60;",
3010
+ "<",
3011
+ "&#62;",
3012
+ ">"
3013
+ ];
3014
+ const map = decode ? decodeMap : encodeMap;
3015
+ let result = str;
3016
+ for(let i = 0; i < map.length; i += 2)result = result.replace(new RegExp(map[i], "g"), map[i + 1]);
3017
+ return result;
3018
+ };
3055
3019
  const finalData = {
3056
3020
  ...parsedData,
3057
3021
  publish_list: parsedData.publish_list.map((item)=>{
3058
- const decoded = decodeHtml(item.publish_info);
3022
+ const decoded = decodeEntities(item.publish_info, true);
3059
3023
  const parsedInfo = JSON.parse(decoded);
3060
3024
  return {
3061
3025
  publish_type: item.publish_type,
@@ -3090,7 +3054,7 @@ async function handleWeixinData(params) {
3090
3054
  originalData: item
3091
3055
  } : {}
3092
3056
  }));
3093
- return (0, share_.success)({
3057
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3094
3058
  articleCell,
3095
3059
  ...onlySuccess ? {
3096
3060
  pagination: {
@@ -3099,9 +3063,9 @@ async function handleWeixinData(params) {
3099
3063
  pageSize
3100
3064
  }
3101
3065
  } : null
3102
- }, "微信文章获取成功");
3066
+ }, "微信文章文章获取成功");
3103
3067
  } catch (error) {
3104
- return errorResponse(error instanceof Error ? error.message : "微信数据获取失败");
3068
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "微信文章数据获取失败");
3105
3069
  }
3106
3070
  }
3107
3071
  async function handleBaijiahaoData(params) {
@@ -3112,7 +3076,7 @@ async function handleBaijiahaoData(params) {
3112
3076
  message: "缺少token",
3113
3077
  data: null
3114
3078
  };
3115
- const http = new utils_http.e({
3079
+ const http = new Http({
3116
3080
  headers: {
3117
3081
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
3118
3082
  token: token
@@ -3165,7 +3129,7 @@ async function handleBaijiahaoData(params) {
3165
3129
  originalData: item
3166
3130
  } : {}
3167
3131
  }));
3168
- return (0, share_.success)({
3132
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3169
3133
  articleCell,
3170
3134
  ...onlySuccess ? {
3171
3135
  pagination: {
@@ -3174,9 +3138,9 @@ async function handleBaijiahaoData(params) {
3174
3138
  pageSize
3175
3139
  }
3176
3140
  } : null
3177
- }, "百家号文章获取成功");
3141
+ }, "百家号文章数据获取成功");
3178
3142
  } catch (error) {
3179
- return errorResponse(error instanceof Error ? error.message : "百家号数据获取失败");
3143
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "百家号文章数据获取失败");
3180
3144
  }
3181
3145
  }
3182
3146
  async function handleXiaohongshuData(params) {
@@ -3194,7 +3158,7 @@ async function handleXiaohongshuData(params) {
3194
3158
  message: "小红书pageSize不可修改",
3195
3159
  data: null
3196
3160
  };
3197
- const http = new utils_http.e({
3161
+ const http = new Http({
3198
3162
  headers: {
3199
3163
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
3200
3164
  referer: "https://creator.xiaohongshu.com",
@@ -3247,18 +3211,18 @@ async function handleXiaohongshuData(params) {
3247
3211
  originalData: item
3248
3212
  } : {}
3249
3213
  }));
3250
- return (0, share_.success)({
3214
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3251
3215
  articleCell,
3252
3216
  ...onlySuccess ? {
3253
3217
  pagination: {
3254
- total: articleInfo.data.tags[0]?.notes_count || -1,
3218
+ nextPage: hasNextpage,
3255
3219
  pageNum,
3256
3220
  pageSize
3257
3221
  }
3258
3222
  } : null
3259
- }, "小红书文章获取成功");
3223
+ }, "小红书文章数据获取成功");
3260
3224
  } catch (error) {
3261
- return errorResponse(error instanceof Error ? error.message : "小红书数据获取失败");
3225
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "小红书文章数据获取失败");
3262
3226
  }
3263
3227
  }
3264
3228
  const FetchArticles = async (_task, params)=>{
@@ -3273,11 +3237,11 @@ const FetchArticles = async (_task, params)=>{
3273
3237
  case "xiaohongshu":
3274
3238
  return handleXiaohongshuData(params);
3275
3239
  default:
3276
- return (0, share_.success)(null, "暂不支持该平台");
3240
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(null, "暂不支持该平台");
3277
3241
  }
3278
3242
  };
3279
3243
  const getWeixinConfig = async (_task, params)=>{
3280
- const http = new utils_http.e({
3244
+ const http = new Http({
3281
3245
  headers: {
3282
3246
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";")
3283
3247
  }
@@ -3298,11 +3262,11 @@ const getWeixinConfig = async (_task, params)=>{
3298
3262
  const filtered = {
3299
3263
  publishQuota: 0 === res.base_resp.ret ? res.quota_detail_list.filter((item)=>"kQuotaTypeMassSendNormal" === item.quota_type).map((item)=>item.quota_item_list) : []
3300
3264
  };
3301
- return (0, share_.success)(filtered, 0 === res.base_resp.ret ? "微信配置信息获取成功!" : "微信配置信息获取失败!");
3265
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(filtered, 0 === res.base_resp.ret ? "微信配置信息获取成功!" : "微信配置信息获取失败!");
3302
3266
  };
3303
3267
  const weitoutiaoPublish_mock_mockAction = async (task, params)=>{
3304
3268
  const tmpCachePath = task.getTmpPath();
3305
- const http = new utils_http.e({
3269
+ const http = new Http({
3306
3270
  headers: {
3307
3271
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
3308
3272
  origin: "https://mp.toutiao.com",
@@ -3321,12 +3285,12 @@ const weitoutiaoPublish_mock_mockAction = async (task, params)=>{
3321
3285
  const imageList = [];
3322
3286
  if (params.banners && params.banners.length > 0) {
3323
3287
  const images = await Promise.all(params.banners.map((url)=>{
3324
- const fileName = (0, share_.getFilenameFromUrl)(url);
3325
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
3288
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
3289
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
3326
3290
  }));
3327
3291
  const res = await Promise.all(images.map(async (it)=>{
3328
3292
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
3329
- formData.append("image", external_node_fs_["default"].createReadStream(it));
3293
+ formData.append("image", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(it));
3330
3294
  const response = await http.api({
3331
3295
  method: "post",
3332
3296
  url: "https://mp.toutiao.com/spice/image?upload_source=20020003&aid=1231&device_platform=web",
@@ -3369,7 +3333,7 @@ const weitoutiaoPublish_mock_mockAction = async (task, params)=>{
3369
3333
  url: "https://mp.toutiao.com/mp/agw/article/wtt",
3370
3334
  data: syncData
3371
3335
  });
3372
- return (0, share_.success)(res.data);
3336
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res.data);
3373
3337
  };
3374
3338
  const weitoutiaoPublish_rpa_rpaAction = async (task, params)=>{
3375
3339
  const commonCookies = {
@@ -3402,8 +3366,8 @@ const weitoutiaoPublish_rpa_rpaAction = async (task, params)=>{
3402
3366
  await descInstance.fill(params.content);
3403
3367
  if (params.banners && params.banners?.length > 0) {
3404
3368
  const images = await Promise.all(params.banners.map((url)=>{
3405
- const fileName = (0, share_.getFilenameFromUrl)(url);
3406
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
3369
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
3370
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
3407
3371
  }));
3408
3372
  const fileChooserPromise = page.waitForEvent("filechooser");
3409
3373
  await page.locator(".toolbar .syl-toolbar-tool.weitoutiao-image-plugin").click();
@@ -3434,12 +3398,12 @@ const weitoutiaoPublish_rpa_rpaAction = async (task, params)=>{
3434
3398
  await declarationFormItem.locator(`.byte-checkbox:has(input[value="${params.declaration}"])`).click();
3435
3399
  }
3436
3400
  await page.locator(".footer-wrap button.publish-content").click();
3437
- return (0, share_.success)("");
3401
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)("");
3438
3402
  };
3439
3403
  const weitoutiaoPublish = async (task, params)=>{
3440
3404
  if ("rpa" === params.actionType) return weitoutiaoPublish_rpa_rpaAction(task, params);
3441
3405
  if ("mockApi" === params.actionType) return weitoutiaoPublish_mock_mockAction(task, params);
3442
- return (0, utils.jo)(weitoutiaoPublish_mock_mockAction, weitoutiaoPublish_rpa_rpaAction)(task, params);
3406
+ return executeAction(weitoutiaoPublish_mock_mockAction, weitoutiaoPublish_rpa_rpaAction)(task, params);
3443
3407
  };
3444
3408
  const scanRetryMaxCount = 30;
3445
3409
  const QuotaType = {
@@ -3496,7 +3460,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3496
3460
  const fingerprint = "4695500bc93ab4ce8fb2692da6564e04";
3497
3461
  const client_time_diff = +Number("1743488763") - Math.floor(new Date().getTime() / 1000);
3498
3462
  const tmpCachePath = task.getTmpPath();
3499
- const http = new utils_http.e({
3463
+ const http = new Http({
3500
3464
  headers: {
3501
3465
  "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0",
3502
3466
  Cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
@@ -3539,19 +3503,19 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3539
3503
  const uploadImages = async (images)=>{
3540
3504
  const cloudImages = [];
3541
3505
  const localImages = await Promise.all(images.map((url)=>{
3542
- const fileName = (0, share_.getFilenameFromUrl)(url);
3543
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
3506
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
3507
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
3544
3508
  }));
3545
3509
  for(let index = 0; index < images.length; index++){
3546
3510
  const image = localImages[index];
3547
- const fileState = (0, utils.H8)(image);
3511
+ const fileState = getFileState(image);
3548
3512
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
3549
3513
  formData.append("id", `WU_FILE_${index + 1}`);
3550
3514
  formData.append("name", fileState.name);
3551
3515
  formData.append("type", fileState.type);
3552
3516
  formData.append("lastModifiedDate", fileState.lastModifiedDate);
3553
3517
  formData.append("size", fileState.size);
3554
- formData.append("file", external_node_fs_["default"].createReadStream(image));
3518
+ formData.append("file", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(image));
3555
3519
  const response = await http.api({
3556
3520
  method: "post",
3557
3521
  url: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,
@@ -3562,9 +3526,9 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3562
3526
  }
3563
3527
  return cloudImages;
3564
3528
  };
3565
- const originContentImages = (0, utils.E_)(params.content);
3529
+ const originContentImages = extractImgTag(params.content);
3566
3530
  const targetContentImages = await uploadImages(originContentImages);
3567
- const content = (0, utils.I)(params.content, (dom)=>{
3531
+ const content = replaceImgSrc(params.content, (dom)=>{
3568
3532
  if (dom.attribs.src) {
3569
3533
  const idx = originContentImages.findIndex((it)=>it === dom.attribs.src);
3570
3534
  dom.attribs.src = targetContentImages[idx].cdn_url;
@@ -3681,13 +3645,13 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3681
3645
  defaultErrorMsg: GET_QRCODE_DEFAULT_ERROR
3682
3646
  });
3683
3647
  const rewardBuffer = Buffer.from(rewardbind.qrcode_base64, 'base64');
3684
- const rewardFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_reward.jpg");
3685
- external_node_fs_["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
3648
+ const rewardFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_reward.jpg");
3649
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
3686
3650
  params.safeQrcodeCallback?.(rewardFilePath);
3687
3651
  const task_id = rewardbind.task_id;
3688
3652
  let code = null;
3689
3653
  for(let i = 0; i < scanRetryMaxCount; i++){
3690
- await (0, share_.sleep)(2000);
3654
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(2000);
3691
3655
  const checkScanResult = await http.api({
3692
3656
  method: "get",
3693
3657
  url: "https://mp.weixin.qq.com/acct/writermgr",
@@ -3948,7 +3912,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3948
3912
  appmsgid: appMsgId
3949
3913
  };
3950
3914
  for(let i = 0; i < 10; i++){
3951
- await (0, share_.sleep)(1000);
3915
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(1000);
3952
3916
  const lastData = {
3953
3917
  ...copyrightStatData,
3954
3918
  first_check: 0 === i ? 1 : 0
@@ -3956,7 +3920,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3956
3920
  const checkCopyrightStatRes = await checkCopyrightStat(http, params, lastData);
3957
3921
  if (checkCopyrightStatRes.open_ad_reprint_status) break;
3958
3922
  }
3959
- await (0, share_.sleep)(300);
3923
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
3960
3924
  await http.api({
3961
3925
  method: "post",
3962
3926
  url: "https://mp.weixin.qq.com/cgi-bin/masssend",
@@ -3977,7 +3941,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3977
3941
  random: Math.random().toString()
3978
3942
  })
3979
3943
  });
3980
- await (0, share_.sleep)(300);
3944
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
3981
3945
  await http.api({
3982
3946
  method: "post",
3983
3947
  url: "https://mp.weixin.qq.com/cgi-bin/masssend",
@@ -3995,7 +3959,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3995
3959
  random: Math.random().toString()
3996
3960
  })
3997
3961
  });
3998
- await (0, share_.sleep)(300);
3962
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
3999
3963
  const getTicketResult = await http.api({
4000
3964
  method: "post",
4001
3965
  url: "https://mp.weixin.qq.com/misc/safeassistant",
@@ -4015,7 +3979,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4015
3979
  }),
4016
3980
  defaultErrorMsg: GET_QRCODE_DEFAULT_ERROR
4017
3981
  });
4018
- await (0, share_.sleep)(300);
3982
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
4019
3983
  const getUuidResult = await http.api({
4020
3984
  method: "post",
4021
3985
  url: "https://mp.weixin.qq.com/safe/safeqrconnect",
@@ -4038,14 +4002,14 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4038
4002
  }),
4039
4003
  defaultErrorMsg: GET_QRCODE_DEFAULT_ERROR
4040
4004
  });
4041
- await (0, share_.sleep)(1000);
4005
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(1000);
4042
4006
  if (0 !== getUuidResult.genuuid_res) return {
4043
4007
  code: 200,
4044
4008
  message: GET_QRCODE_DEFAULT_ERROR,
4045
4009
  data: ""
4046
4010
  };
4047
4011
  const uuid = getUuidResult.uuid;
4048
- await (0, share_.sleep)(1000);
4012
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(1000);
4049
4013
  const qrcodeResult = await http.api({
4050
4014
  method: "get",
4051
4015
  url: "https://mp.weixin.qq.com/safe/safeqrcode",
@@ -4065,12 +4029,12 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4065
4029
  responseType: "arraybuffer"
4066
4030
  });
4067
4031
  const qrcodeBuffer = Buffer.from(qrcodeResult);
4068
- const qrcodeFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4069
- external_node_fs_["default"].writeFileSync(qrcodeFilePath, new Uint8Array(qrcodeBuffer));
4032
+ const qrcodeFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4033
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(qrcodeFilePath, new Uint8Array(qrcodeBuffer));
4070
4034
  params.safeQrcodeCallback?.(qrcodeFilePath);
4071
4035
  let code = "";
4072
4036
  for(let i = 0; i < scanRetryMaxCount; i++){
4073
- await (0, share_.sleep)(2000);
4037
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(2000);
4074
4038
  const checkScanResult = await http.api({
4075
4039
  method: "post",
4076
4040
  url: "https://mp.weixin.qq.com/safe/safeuuid",
@@ -4157,7 +4121,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4157
4121
  share_page: "1",
4158
4122
  synctxweibo: "0",
4159
4123
  operation_seq,
4160
- req_id: (0, share_.randomString)(32),
4124
+ req_id: (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.randomString)(32),
4161
4125
  req_time: new Date().getTime() + 1e3 * client_time_diff,
4162
4126
  sync_version: "1",
4163
4127
  isFreePublish: params.masssend ? "false" : "true",
@@ -4169,9 +4133,8 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4169
4133
  }),
4170
4134
  defaultErrorMsg: params.masssend ? "文章群发异常,请尝试关闭群发或稍后重试。" : "文章发布异常,请稍后重试。"
4171
4135
  });
4172
- return (0, share_.success)(appMsgId, params.settingInfo.timer ? "微信公众号文章定时发布成功。" : "微信公众号发布完成。");
4136
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(appMsgId, params.settingInfo.timer ? "微信公众号文章定时发布成功。" : "微信公众号发布完成。");
4173
4137
  };
4174
- var external_axios_ = __webpack_require__("axios");
4175
4138
  const waitQrcodeResultMaxTime = 2000 * scanRetryMaxCount;
4176
4139
  const weixinPublish_rpa_rpaAction = async (task, params)=>{
4177
4140
  const tmpCachePath = task.getTmpPath();
@@ -4219,8 +4182,8 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4219
4182
  const qrcodeSrc = await reward_page.locator(".invite-qrcode").getAttribute('src');
4220
4183
  if (qrcodeSrc) {
4221
4184
  const rewardBuffer = Buffer.from(qrcodeSrc.replace(/^data:image\/\w+;base64,/, ''), 'base64');
4222
- const rewardFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_reward.jpg");
4223
- external_node_fs_["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
4185
+ const rewardFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_reward.jpg");
4186
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
4224
4187
  params.safeQrcodeCallback?.(rewardFilePath);
4225
4188
  }
4226
4189
  } catch (error) {
@@ -4287,11 +4250,11 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4287
4250
  await page.waitForSelector("#editor_pannel", {
4288
4251
  state: "visible"
4289
4252
  });
4290
- (0, utils.f8)(page, '[v-transfer-dom="#vue_app"] .weui-desktop-dialog', "更新", '[v-transfer-dom="#vue_app"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
4253
+ PopupListener(page, '[v-transfer-dom="#vue_app"] .weui-desktop-dialog', "更新", '[v-transfer-dom="#vue_app"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
4291
4254
  checkInterval: 1000,
4292
4255
  stopAfterClick: false
4293
4256
  });
4294
- (0, utils.f8)(page, '[extclass="weui-desktop-dialog_simple"] .weui-desktop-dialog', "小店", '[extclass="weui-desktop-dialog_simple"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
4257
+ PopupListener(page, '[extclass="weui-desktop-dialog_simple"] .weui-desktop-dialog', "小店", '[extclass="weui-desktop-dialog_simple"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
4295
4258
  checkInterval: 1000,
4296
4259
  stopAfterClick: true
4297
4260
  });
@@ -4303,7 +4266,7 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4303
4266
  await titleInstance.click();
4304
4267
  await titleInstance.fill(params.settingInfo.wxAuthor);
4305
4268
  }
4306
- await (0, utils.qN)(page, params.content);
4269
+ await copyHtmlToClipboard(page, params.content);
4307
4270
  await page.click(".js_editor_area .ProseMirror");
4308
4271
  await page.keyboard.press("Control+V");
4309
4272
  await page.locator("#article_setting_area").evaluate((node)=>node.scrollIntoView());
@@ -4313,8 +4276,8 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4313
4276
  await titleInstance.fill(params.settingInfo.wxAbstract);
4314
4277
  }
4315
4278
  if (params.settingInfo.wxCover) {
4316
- const fileName = (0, share_.getFilenameFromUrl)(params.settingInfo.wxCover);
4317
- const cover = await (0, share_.downloadImage)(params.settingInfo.wxCover, external_node_path_["default"].join(tmpCachePath, fileName));
4279
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(params.settingInfo.wxCover);
4280
+ const cover = await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(params.settingInfo.wxCover, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4318
4281
  await page.locator("#article_setting_area #js_cover_area .select-cover__btn").hover();
4319
4282
  await page.locator("#article_setting_area #js_cover_area .pop-opr__group-select-cover .pop-opr__list .pop-opr__item").filter({
4320
4283
  hasText: "从图片库选择"
@@ -4500,7 +4463,7 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4500
4463
  const articleId = await new Promise(async (resolve)=>{
4501
4464
  const handleResponse = async (response)=>{
4502
4465
  const url = response.url();
4503
- const query = (0, utils.hc)(url);
4466
+ const query = parseUrlQueryString(url);
4504
4467
  if (url.includes("/cgi-bin/operate_appmsg") && query?.t === "ajax-response") {
4505
4468
  const jsonResponse = await response.json();
4506
4469
  page.off("response", handleResponse);
@@ -4514,15 +4477,15 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4514
4477
  await page.locator(".mass-send .mass-send__td-setting", {
4515
4478
  hasText: "定时发表"
4516
4479
  }).locator(".weui-desktop-switch__box").check();
4517
- let dateD = Number(utils.Tx.format(params.settingInfo.timer, "d"));
4518
- let nowD = Number(utils.Tx.format(Date.now(), "d"));
4480
+ let dateD = Number(TimeFormatter.format(params.settingInfo.timer, "d"));
4481
+ let nowD = Number(TimeFormatter.format(Date.now(), "d"));
4519
4482
  await page.locator(".mass-send__timer .weui-desktop-form__dropdown__dt").click();
4520
4483
  const dropMenu = page.locator(".mass-send__timer .weui-desktop-dropdown-menu").locator(".weui-desktop-dropdown__list-ele");
4521
4484
  await dropMenu.filter({
4522
- hasText: dateD == nowD ? "今天" : dateD == nowD + 1 ? "明天" : utils.Tx.format(params.settingInfo.timer, "M月d日")
4485
+ hasText: dateD == nowD ? "今天" : dateD == nowD + 1 ? "明天" : TimeFormatter.format(params.settingInfo.timer, "M月d日")
4523
4486
  }).click();
4524
4487
  const timeDropMenu = page.locator(".mass-send__timer .weui-desktop-picker__time:visible");
4525
- await timeDropMenu.locator(".weui-desktop-form__input").fill(utils.Tx.format(params.settingInfo.timer, "hh:mm"));
4488
+ await timeDropMenu.locator(".weui-desktop-form__input").fill(TimeFormatter.format(params.settingInfo.timer, "hh:mm"));
4526
4489
  await timeDropMenu.locator("i.weui-desktop-icon__time").click();
4527
4490
  }
4528
4491
  });
@@ -4580,13 +4543,13 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4580
4543
  const qrcodeSrc = await page.locator(".dialog .js_wxchecks.safe_check img.qrcode.js_qrcode").first().getAttribute("src");
4581
4544
  if (qrcodeSrc) {
4582
4545
  const imgUrl = new URL(qrcodeSrc, page.url()).href;
4583
- const response = await (0, external_axios_["default"])({
4546
+ const response = await (0, __WEBPACK_EXTERNAL_MODULE_axios__["default"])({
4584
4547
  method: "get",
4585
4548
  url: imgUrl,
4586
4549
  responseType: "arraybuffer"
4587
4550
  });
4588
- const qrcodeFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4589
- external_node_fs_["default"].writeFileSync(qrcodeFilePath, response.data);
4551
+ const qrcodeFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4552
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(qrcodeFilePath, response.data);
4590
4553
  params.safeQrcodeCallback?.(qrcodeFilePath);
4591
4554
  } else throw new Error("qrcodeSrc is empty");
4592
4555
  });
@@ -4600,15 +4563,15 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4600
4563
  }
4601
4564
  await page.waitForTimeout(3000);
4602
4565
  await page.close();
4603
- return (0, share_.success)(articleId);
4566
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(articleId);
4604
4567
  };
4605
4568
  const weixinPublish = async (task, _params)=>{
4606
- const params = (0, utils.Tb)(_params, {
4569
+ const params = defaultParams(_params, {
4607
4570
  masssend: true
4608
4571
  });
4609
4572
  if ("rpa" === params.actionType) return weixinPublish_rpa_rpaAction(task, params);
4610
4573
  if ("mockApi" === params.actionType) return weixinPublish_mock_mockAction(task, params);
4611
- return (0, utils.jo)(weixinPublish_mock_mockAction, weixinPublish_rpa_rpaAction)(task, params);
4574
+ return executeAction(weixinPublish_mock_mockAction, weixinPublish_rpa_rpaAction)(task, params);
4612
4575
  };
4613
4576
  const saveDraft = (http, params, data)=>{
4614
4577
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
@@ -4628,7 +4591,7 @@ const saveDraft = (http, params, data)=>{
4628
4591
  };
4629
4592
  const weixinmpPublish_mock_mockAction = async (task, params)=>{
4630
4593
  const tmpCachePath = task.getTmpPath();
4631
- const http = new utils_http.e({
4594
+ const http = new Http({
4632
4595
  headers: {
4633
4596
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
4634
4597
  origin: "https://mp.weixin.qq.com",
@@ -4639,19 +4602,19 @@ const weixinmpPublish_mock_mockAction = async (task, params)=>{
4639
4602
  const cropResult = {};
4640
4603
  if (params.banners && params.banners.length > 0) {
4641
4604
  const images = await Promise.all(params.banners.map((url)=>{
4642
- const fileName = (0, share_.getFilenameFromUrl)(url);
4643
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
4605
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
4606
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4644
4607
  }));
4645
4608
  for(let index = 0; index < images.length; index++){
4646
4609
  const image = images[index];
4647
- const fileState = (0, utils.H8)(image);
4610
+ const fileState = getFileState(image);
4648
4611
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
4649
4612
  formData.append("id", `WU_FILE_${index + 1}`);
4650
4613
  formData.append("name", fileState.name);
4651
4614
  formData.append("type", fileState.type);
4652
4615
  formData.append("lastModifiedDate", fileState.lastModifiedDate);
4653
4616
  formData.append("size", fileState.size);
4654
- formData.append("file", external_node_fs_["default"].createReadStream(image));
4617
+ formData.append("file", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(image));
4655
4618
  const response = await http.api({
4656
4619
  method: "post",
4657
4620
  url: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,
@@ -4699,7 +4662,7 @@ const weixinmpPublish_mock_mockAction = async (task, params)=>{
4699
4662
  ];
4700
4663
  cropFormData.append("size_count", cropRatios.length);
4701
4664
  const cropCoordinates = cropRatios.map((r, idx)=>{
4702
- const cropCoordinate = (0, utils.e0)(colorResponseData.width, colorResponseData.height, r);
4665
+ const cropCoordinate = calculateCropCoordinates(colorResponseData.width, colorResponseData.height, r);
4703
4666
  cropFormData.append(`size${idx}_x1`, cropCoordinate.x1);
4704
4667
  cropFormData.append(`size${idx}_y1`, cropCoordinate.y1);
4705
4668
  cropFormData.append(`size${idx}_x2`, cropCoordinate.x2);
@@ -4752,7 +4715,7 @@ const weixinmpPublish_mock_mockAction = async (task, params)=>{
4752
4715
  content0: params.content,
4753
4716
  share_imageinfo0: JSON.stringify(shareImageInfos)
4754
4717
  });
4755
- return (0, share_.success)(res);
4718
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res);
4756
4719
  };
4757
4720
  const sourceText = {
4758
4721
  ai: "内容由AI生成",
@@ -4789,8 +4752,8 @@ const weixinmpPublish_rpa_rpaAction = async (task, params)=>{
4789
4752
  const container = page.locator("#editor_pannel");
4790
4753
  if (params.banners && params.banners.length > 0) {
4791
4754
  const images = await Promise.all(params.banners.map((url)=>{
4792
- const fileName = (0, share_.getFilenameFromUrl)(url);
4793
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
4755
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
4756
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4794
4757
  }));
4795
4758
  const fileChooserPromise = page.waitForEvent("filechooser");
4796
4759
  await container.locator(".image-selector__add").hover();
@@ -4815,12 +4778,12 @@ const weixinmpPublish_rpa_rpaAction = async (task, params)=>{
4815
4778
  if (params.banners && params.banners.length > 0) await page.waitForSelector("#editor_pannel .image-selector .image-selector__preview");
4816
4779
  if (params.draft) await container.locator("#bottom_main #js_submit button").click();
4817
4780
  else await container.locator("#bottom_main #js_send button").click();
4818
- return (0, share_.success)("");
4781
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)("");
4819
4782
  };
4820
4783
  const weixinmpPublish = async (task, params)=>{
4821
4784
  if ("rpa" === params.actionType) return weixinmpPublish_rpa_rpaAction(task, params);
4822
4785
  if ("mockApi" === params.actionType) return weixinmpPublish_mock_mockAction(task, params);
4823
- return (0, utils.jo)(weixinmpPublish_mock_mockAction, weixinmpPublish_rpa_rpaAction)(task, params);
4786
+ return executeAction(weixinmpPublish_mock_mockAction, weixinmpPublish_rpa_rpaAction)(task, params);
4824
4787
  };
4825
4788
  const xiaohongshuPublish_mock_errnoMap = {
4826
4789
  915: "所属C端账号手机号被修改,请重新登录",
@@ -4837,7 +4800,7 @@ const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
4837
4800
  message: "账号数据异常,请重新绑定账号后重试。",
4838
4801
  data: ""
4839
4802
  };
4840
- const http = new utils_http.e({
4803
+ const http = new Http({
4841
4804
  headers: {
4842
4805
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
4843
4806
  origin: "https://creator.xiaohongshu.com",
@@ -4877,10 +4840,10 @@ const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
4877
4840
  data: ""
4878
4841
  };
4879
4842
  const uploadFile = async (url, index)=>{
4880
- const fileName = (0, share_.getFilenameFromUrl)(url);
4881
- const localUrl = await (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
4843
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
4844
+ const localUrl = await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4882
4845
  const ossFileId = coverIds[index];
4883
- const fileBuffer = external_node_fs_["default"].readFileSync(localUrl);
4846
+ const fileBuffer = __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].readFileSync(localUrl);
4884
4847
  await http.api({
4885
4848
  method: "put",
4886
4849
  url: `https://ros-upload.xiaohongshu.com/${ossFileId}`,
@@ -5015,7 +4978,7 @@ const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
5015
4978
  },
5016
4979
  defaultErrorMsg: "文章发布异常,请稍后重试。"
5017
4980
  });
5018
- return (0, share_.success)(publishResult.data?.id);
4981
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(publishResult.data?.id);
5019
4982
  };
5020
4983
  const rpa_xsEncrypt = new XsEncrypt();
5021
4984
  const xiaohongshuPublish_rpa_rpaAction = async (task, params)=>{
@@ -5126,8 +5089,8 @@ const xiaohongshuPublish_rpa_rpaAction = async (task, params)=>{
5126
5089
  hasText: /^上传图文$/
5127
5090
  }).click();
5128
5091
  const images = await Promise.all(params.banners.map((url)=>{
5129
- const fileName = (0, share_.getFilenameFromUrl)(url);
5130
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
5092
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
5093
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
5131
5094
  }));
5132
5095
  const fileChooserPromise = page.waitForEvent("filechooser");
5133
5096
  await page.getByRole("textbox").click();
@@ -5225,14 +5188,14 @@ const xiaohongshuPublish_rpa_rpaAction = async (task, params)=>{
5225
5188
  page.locator(".submit .publishBtn").click();
5226
5189
  });
5227
5190
  await page.close();
5228
- return (0, share_.success)(response);
5191
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(response);
5229
5192
  };
5230
5193
  const xiaohongshuPublish = async (task, params)=>{
5231
5194
  if ("rpa" === params.actionType) return xiaohongshuPublish_rpa_rpaAction(task, params);
5232
5195
  if ("mockApi" === params.actionType) return xiaohongshuPublish_mock_mockAction(task, params);
5233
- return (0, utils.jo)(xiaohongshuPublish_mock_mockAction, xiaohongshuPublish_rpa_rpaAction)(task, params);
5196
+ return executeAction(xiaohongshuPublish_mock_mockAction, xiaohongshuPublish_rpa_rpaAction)(task, params);
5234
5197
  };
5235
- var package_namespaceObject = JSON.parse('{"i8":"1.2.14-beta.1"}');
5198
+ var package_namespaceObject = JSON.parse('{"i8":"1.2.14-beta.3"}');
5236
5199
  class Action {
5237
5200
  constructor(task){
5238
5201
  this.task = task;
@@ -5244,11 +5207,11 @@ class Action {
5244
5207
  try {
5245
5208
  responseData = await func(this.task, params);
5246
5209
  } catch (error) {
5247
- responseData = utils_http.e.handleApiError(error);
5210
+ responseData = Http.handleApiError(error);
5248
5211
  }
5249
5212
  if (200 === responseData.code) this.task.logger.info(`${func.name} action params error`, responseData);
5250
5213
  else if (0 !== responseData.code) {
5251
- this.task.logger.error(responseData.message || `${func.name} 执行失败`, (0, utils.n)(responseData.data), responseData.extra);
5214
+ this.task.logger.error(responseData.message || `${func.name} 执行失败`, stringifyError(responseData.data), responseData.extra);
5252
5215
  this.task.logger.info(`${func.name} action failed`);
5253
5216
  } else this.task.logger.info(`${func.name} action success`);
5254
5217
  return responseData;