@iflyrpa/actions 1.2.14-beta.3 → 1.2.14-beta.5

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",
@@ -2801,15 +2668,15 @@ async function getBaijiahaoData(params) {
2801
2668
  likeNumYesterday: -1 == yesterdayData.data.data.likes_count ? null : yesterdayData.data.data.likes_count,
2802
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, "头条号粉丝数据获取成功!");
2854
2721
  } catch (error) {
2855
- return (0, types.V)(error instanceof Error ? error.message : "头条号数据获取失败");
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, "微信平台数据获取成功!");
2781
+ } catch (error) {
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,7 +2947,7 @@ 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
2952
  ...onlySuccess ? {
3027
2953
  pagination: {
@@ -3030,9 +2956,9 @@ async function handleToutiaoData(params) {
3030
2956
  pageSize
3031
2957
  }
3032
2958
  } : null
3033
- }, "头条号文章获取成功");
2959
+ }, "头条号文章文章获取成功");
3034
2960
  } catch (error) {
3035
- return errorResponse(error instanceof Error ? error.message : "头条号数据获取失败");
2961
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "头条号文章数据获取失败");
3036
2962
  }
3037
2963
  }
3038
2964
  async function handleWeixinData(params) {
@@ -3043,21 +2969,57 @@ async function handleWeixinData(params) {
3043
2969
  message: "缺少token",
3044
2970
  data: null
3045
2971
  };
3046
- const http = new utils_http.e({
2972
+ const http = new Http({
3047
2973
  headers: {
3048
2974
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";")
3049
2975
  }
3050
2976
  });
3051
2977
  const ParsePublishPage = (body)=>{
3052
- const decodeHtml = (str)=>str.replace(/&quot;/g, '"').replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&#39;/g, "'").replace(/&nbsp;/g, ' ');
3053
- const match = body.match(/publish_page\s*=\s*(\{[\s\S]*?\})\s*;/);
2978
+ const match = body.match(/publish_page\s*=\s*({[\s\S]*?});/);
3054
2979
  if (!match) throw new Error('无法提取 publish_page 字段');
3055
- const rawPublishPageStr = match[1];
3056
- 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
+ };
3057
3019
  const finalData = {
3058
3020
  ...parsedData,
3059
3021
  publish_list: parsedData.publish_list.map((item)=>{
3060
- const decoded = decodeHtml(item.publish_info);
3022
+ const decoded = decodeEntities(item.publish_info, true);
3061
3023
  const parsedInfo = JSON.parse(decoded);
3062
3024
  return {
3063
3025
  publish_type: item.publish_type,
@@ -3067,18 +3029,35 @@ async function handleWeixinData(params) {
3067
3029
  };
3068
3030
  return finalData;
3069
3031
  };
3070
- const rawArticlesInfo = await http.api({
3071
- method: "get",
3072
- url: 'https://mp.weixin.qq.com/cgi-bin/appmsgpublish',
3073
- params: {
3074
- sub: "list",
3075
- begin: (pageNum - 1) * pageSize,
3076
- count: pageSize,
3077
- token: token,
3078
- lang: "zh_CN"
3032
+ async function fetchArticles(begin, pageSize, token) {
3033
+ return http.api({
3034
+ method: "get",
3035
+ url: 'https://mp.weixin.qq.com/cgi-bin/appmsgpublish',
3036
+ params: {
3037
+ sub: "list",
3038
+ begin: begin,
3039
+ count: pageSize,
3040
+ token: token,
3041
+ lang: "zh_CN"
3042
+ }
3043
+ });
3044
+ }
3045
+ let rawArticlesInfo = await fetchArticles(0, pageSize > 20 ? 20 : pageSize, token);
3046
+ let articlesInfo = ParsePublishPage(rawArticlesInfo);
3047
+ if (!onlySuccess && pageSize > 20) {
3048
+ let totalFetched = articlesInfo.publish_list.length;
3049
+ let nextPage = pageNum + 1;
3050
+ while(totalFetched < pageSize){
3051
+ const remaining = pageSize - totalFetched;
3052
+ const currentPageSize = remaining > 20 ? 20 : remaining;
3053
+ let _rawArticlesInfo = await fetchArticles((nextPage - 1) * 20, currentPageSize, token);
3054
+ let parsed = ParsePublishPage(_rawArticlesInfo);
3055
+ articlesInfo.publish_list = articlesInfo.publish_list.concat(parsed.publish_list);
3056
+ totalFetched = articlesInfo.publish_list.length;
3057
+ if (parsed.publish_list.length < currentPageSize) break;
3058
+ nextPage++;
3079
3059
  }
3080
- });
3081
- const articlesInfo = ParsePublishPage(rawArticlesInfo);
3060
+ }
3082
3061
  const articleCell = articlesInfo?.publish_list.map((item)=>({
3083
3062
  title: item.publish_info.appmsg_info[0].title,
3084
3063
  imageUrl: item.publish_info.appmsg_info[0].cover,
@@ -3092,7 +3071,7 @@ async function handleWeixinData(params) {
3092
3071
  originalData: item
3093
3072
  } : {}
3094
3073
  }));
3095
- return (0, share_.success)({
3074
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3096
3075
  articleCell,
3097
3076
  ...onlySuccess ? {
3098
3077
  pagination: {
@@ -3101,9 +3080,9 @@ async function handleWeixinData(params) {
3101
3080
  pageSize
3102
3081
  }
3103
3082
  } : null
3104
- }, "微信文章获取成功");
3083
+ }, "微信文章文章获取成功");
3105
3084
  } catch (error) {
3106
- return errorResponse(error instanceof Error ? error.message : "微信数据获取失败");
3085
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "微信文章数据获取失败");
3107
3086
  }
3108
3087
  }
3109
3088
  async function handleBaijiahaoData(params) {
@@ -3114,7 +3093,7 @@ async function handleBaijiahaoData(params) {
3114
3093
  message: "缺少token",
3115
3094
  data: null
3116
3095
  };
3117
- const http = new utils_http.e({
3096
+ const http = new Http({
3118
3097
  headers: {
3119
3098
  cookie: cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
3120
3099
  token: token
@@ -3167,7 +3146,7 @@ async function handleBaijiahaoData(params) {
3167
3146
  originalData: item
3168
3147
  } : {}
3169
3148
  }));
3170
- return (0, share_.success)({
3149
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3171
3150
  articleCell,
3172
3151
  ...onlySuccess ? {
3173
3152
  pagination: {
@@ -3176,9 +3155,9 @@ async function handleBaijiahaoData(params) {
3176
3155
  pageSize
3177
3156
  }
3178
3157
  } : null
3179
- }, "百家号文章获取成功");
3158
+ }, "百家号文章数据获取成功");
3180
3159
  } catch (error) {
3181
- return errorResponse(error instanceof Error ? error.message : "百家号数据获取失败");
3160
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "百家号文章数据获取失败");
3182
3161
  }
3183
3162
  }
3184
3163
  async function handleXiaohongshuData(params) {
@@ -3196,7 +3175,7 @@ async function handleXiaohongshuData(params) {
3196
3175
  message: "小红书pageSize不可修改",
3197
3176
  data: null
3198
3177
  };
3199
- const http = new utils_http.e({
3178
+ const http = new Http({
3200
3179
  headers: {
3201
3180
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
3202
3181
  referer: "https://creator.xiaohongshu.com",
@@ -3249,18 +3228,18 @@ async function handleXiaohongshuData(params) {
3249
3228
  originalData: item
3250
3229
  } : {}
3251
3230
  }));
3252
- return (0, share_.success)({
3231
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)({
3253
3232
  articleCell,
3254
3233
  ...onlySuccess ? {
3255
3234
  pagination: {
3256
- total: articleInfo.data.tags[0]?.notes_count || -1,
3235
+ nextPage: hasNextpage,
3257
3236
  pageNum,
3258
3237
  pageSize
3259
3238
  }
3260
3239
  } : null
3261
- }, "小红书文章获取成功");
3240
+ }, "小红书文章数据获取成功");
3262
3241
  } catch (error) {
3263
- return errorResponse(error instanceof Error ? error.message : "小红书数据获取失败");
3242
+ return searchPublishInfo_types_errorResponse(error instanceof Error ? error.message : "小红书文章数据获取失败");
3264
3243
  }
3265
3244
  }
3266
3245
  const FetchArticles = async (_task, params)=>{
@@ -3275,11 +3254,11 @@ const FetchArticles = async (_task, params)=>{
3275
3254
  case "xiaohongshu":
3276
3255
  return handleXiaohongshuData(params);
3277
3256
  default:
3278
- return (0, share_.success)(null, "暂不支持该平台");
3257
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(null, "暂不支持该平台");
3279
3258
  }
3280
3259
  };
3281
3260
  const getWeixinConfig = async (_task, params)=>{
3282
- const http = new utils_http.e({
3261
+ const http = new Http({
3283
3262
  headers: {
3284
3263
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";")
3285
3264
  }
@@ -3300,11 +3279,11 @@ const getWeixinConfig = async (_task, params)=>{
3300
3279
  const filtered = {
3301
3280
  publishQuota: 0 === res.base_resp.ret ? res.quota_detail_list.filter((item)=>"kQuotaTypeMassSendNormal" === item.quota_type).map((item)=>item.quota_item_list) : []
3302
3281
  };
3303
- return (0, share_.success)(filtered, 0 === res.base_resp.ret ? "微信配置信息获取成功!" : "微信配置信息获取失败!");
3282
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(filtered, 0 === res.base_resp.ret ? "微信配置信息获取成功!" : "微信配置信息获取失败!");
3304
3283
  };
3305
3284
  const weitoutiaoPublish_mock_mockAction = async (task, params)=>{
3306
3285
  const tmpCachePath = task.getTmpPath();
3307
- const http = new utils_http.e({
3286
+ const http = new Http({
3308
3287
  headers: {
3309
3288
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
3310
3289
  origin: "https://mp.toutiao.com",
@@ -3323,12 +3302,12 @@ const weitoutiaoPublish_mock_mockAction = async (task, params)=>{
3323
3302
  const imageList = [];
3324
3303
  if (params.banners && params.banners.length > 0) {
3325
3304
  const images = await Promise.all(params.banners.map((url)=>{
3326
- const fileName = (0, share_.getFilenameFromUrl)(url);
3327
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
3305
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
3306
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
3328
3307
  }));
3329
3308
  const res = await Promise.all(images.map(async (it)=>{
3330
3309
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
3331
- formData.append("image", external_node_fs_["default"].createReadStream(it));
3310
+ formData.append("image", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(it));
3332
3311
  const response = await http.api({
3333
3312
  method: "post",
3334
3313
  url: "https://mp.toutiao.com/spice/image?upload_source=20020003&aid=1231&device_platform=web",
@@ -3371,7 +3350,7 @@ const weitoutiaoPublish_mock_mockAction = async (task, params)=>{
3371
3350
  url: "https://mp.toutiao.com/mp/agw/article/wtt",
3372
3351
  data: syncData
3373
3352
  });
3374
- return (0, share_.success)(res.data);
3353
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res.data);
3375
3354
  };
3376
3355
  const weitoutiaoPublish_rpa_rpaAction = async (task, params)=>{
3377
3356
  const commonCookies = {
@@ -3404,8 +3383,8 @@ const weitoutiaoPublish_rpa_rpaAction = async (task, params)=>{
3404
3383
  await descInstance.fill(params.content);
3405
3384
  if (params.banners && params.banners?.length > 0) {
3406
3385
  const images = await Promise.all(params.banners.map((url)=>{
3407
- const fileName = (0, share_.getFilenameFromUrl)(url);
3408
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
3386
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
3387
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
3409
3388
  }));
3410
3389
  const fileChooserPromise = page.waitForEvent("filechooser");
3411
3390
  await page.locator(".toolbar .syl-toolbar-tool.weitoutiao-image-plugin").click();
@@ -3436,12 +3415,12 @@ const weitoutiaoPublish_rpa_rpaAction = async (task, params)=>{
3436
3415
  await declarationFormItem.locator(`.byte-checkbox:has(input[value="${params.declaration}"])`).click();
3437
3416
  }
3438
3417
  await page.locator(".footer-wrap button.publish-content").click();
3439
- return (0, share_.success)("");
3418
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)("");
3440
3419
  };
3441
3420
  const weitoutiaoPublish = async (task, params)=>{
3442
3421
  if ("rpa" === params.actionType) return weitoutiaoPublish_rpa_rpaAction(task, params);
3443
3422
  if ("mockApi" === params.actionType) return weitoutiaoPublish_mock_mockAction(task, params);
3444
- return (0, utils.jo)(weitoutiaoPublish_mock_mockAction, weitoutiaoPublish_rpa_rpaAction)(task, params);
3423
+ return executeAction(weitoutiaoPublish_mock_mockAction, weitoutiaoPublish_rpa_rpaAction)(task, params);
3445
3424
  };
3446
3425
  const scanRetryMaxCount = 30;
3447
3426
  const QuotaType = {
@@ -3498,7 +3477,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3498
3477
  const fingerprint = "4695500bc93ab4ce8fb2692da6564e04";
3499
3478
  const client_time_diff = +Number("1743488763") - Math.floor(new Date().getTime() / 1000);
3500
3479
  const tmpCachePath = task.getTmpPath();
3501
- const http = new utils_http.e({
3480
+ const http = new Http({
3502
3481
  headers: {
3503
3482
  "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",
3504
3483
  Cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
@@ -3541,19 +3520,19 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3541
3520
  const uploadImages = async (images)=>{
3542
3521
  const cloudImages = [];
3543
3522
  const localImages = await Promise.all(images.map((url)=>{
3544
- const fileName = (0, share_.getFilenameFromUrl)(url);
3545
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
3523
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
3524
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
3546
3525
  }));
3547
3526
  for(let index = 0; index < images.length; index++){
3548
3527
  const image = localImages[index];
3549
- const fileState = (0, utils.H8)(image);
3528
+ const fileState = getFileState(image);
3550
3529
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
3551
3530
  formData.append("id", `WU_FILE_${index + 1}`);
3552
3531
  formData.append("name", fileState.name);
3553
3532
  formData.append("type", fileState.type);
3554
3533
  formData.append("lastModifiedDate", fileState.lastModifiedDate);
3555
3534
  formData.append("size", fileState.size);
3556
- formData.append("file", external_node_fs_["default"].createReadStream(image));
3535
+ formData.append("file", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(image));
3557
3536
  const response = await http.api({
3558
3537
  method: "post",
3559
3538
  url: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,
@@ -3564,9 +3543,9 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3564
3543
  }
3565
3544
  return cloudImages;
3566
3545
  };
3567
- const originContentImages = (0, utils.E_)(params.content);
3546
+ const originContentImages = extractImgTag(params.content);
3568
3547
  const targetContentImages = await uploadImages(originContentImages);
3569
- const content = (0, utils.I)(params.content, (dom)=>{
3548
+ const content = replaceImgSrc(params.content, (dom)=>{
3570
3549
  if (dom.attribs.src) {
3571
3550
  const idx = originContentImages.findIndex((it)=>it === dom.attribs.src);
3572
3551
  dom.attribs.src = targetContentImages[idx].cdn_url;
@@ -3683,13 +3662,13 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3683
3662
  defaultErrorMsg: GET_QRCODE_DEFAULT_ERROR
3684
3663
  });
3685
3664
  const rewardBuffer = Buffer.from(rewardbind.qrcode_base64, 'base64');
3686
- const rewardFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_reward.jpg");
3687
- external_node_fs_["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
3665
+ const rewardFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_reward.jpg");
3666
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
3688
3667
  params.safeQrcodeCallback?.(rewardFilePath);
3689
3668
  const task_id = rewardbind.task_id;
3690
3669
  let code = null;
3691
3670
  for(let i = 0; i < scanRetryMaxCount; i++){
3692
- await (0, share_.sleep)(2000);
3671
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(2000);
3693
3672
  const checkScanResult = await http.api({
3694
3673
  method: "get",
3695
3674
  url: "https://mp.weixin.qq.com/acct/writermgr",
@@ -3950,7 +3929,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3950
3929
  appmsgid: appMsgId
3951
3930
  };
3952
3931
  for(let i = 0; i < 10; i++){
3953
- await (0, share_.sleep)(1000);
3932
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(1000);
3954
3933
  const lastData = {
3955
3934
  ...copyrightStatData,
3956
3935
  first_check: 0 === i ? 1 : 0
@@ -3958,7 +3937,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3958
3937
  const checkCopyrightStatRes = await checkCopyrightStat(http, params, lastData);
3959
3938
  if (checkCopyrightStatRes.open_ad_reprint_status) break;
3960
3939
  }
3961
- await (0, share_.sleep)(300);
3940
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
3962
3941
  await http.api({
3963
3942
  method: "post",
3964
3943
  url: "https://mp.weixin.qq.com/cgi-bin/masssend",
@@ -3979,7 +3958,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3979
3958
  random: Math.random().toString()
3980
3959
  })
3981
3960
  });
3982
- await (0, share_.sleep)(300);
3961
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
3983
3962
  await http.api({
3984
3963
  method: "post",
3985
3964
  url: "https://mp.weixin.qq.com/cgi-bin/masssend",
@@ -3997,7 +3976,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
3997
3976
  random: Math.random().toString()
3998
3977
  })
3999
3978
  });
4000
- await (0, share_.sleep)(300);
3979
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
4001
3980
  const getTicketResult = await http.api({
4002
3981
  method: "post",
4003
3982
  url: "https://mp.weixin.qq.com/misc/safeassistant",
@@ -4017,7 +3996,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4017
3996
  }),
4018
3997
  defaultErrorMsg: GET_QRCODE_DEFAULT_ERROR
4019
3998
  });
4020
- await (0, share_.sleep)(300);
3999
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(300);
4021
4000
  const getUuidResult = await http.api({
4022
4001
  method: "post",
4023
4002
  url: "https://mp.weixin.qq.com/safe/safeqrconnect",
@@ -4040,14 +4019,14 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4040
4019
  }),
4041
4020
  defaultErrorMsg: GET_QRCODE_DEFAULT_ERROR
4042
4021
  });
4043
- await (0, share_.sleep)(1000);
4022
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(1000);
4044
4023
  if (0 !== getUuidResult.genuuid_res) return {
4045
4024
  code: 200,
4046
4025
  message: GET_QRCODE_DEFAULT_ERROR,
4047
4026
  data: ""
4048
4027
  };
4049
4028
  const uuid = getUuidResult.uuid;
4050
- await (0, share_.sleep)(1000);
4029
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(1000);
4051
4030
  const qrcodeResult = await http.api({
4052
4031
  method: "get",
4053
4032
  url: "https://mp.weixin.qq.com/safe/safeqrcode",
@@ -4067,12 +4046,12 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4067
4046
  responseType: "arraybuffer"
4068
4047
  });
4069
4048
  const qrcodeBuffer = Buffer.from(qrcodeResult);
4070
- const qrcodeFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4071
- external_node_fs_["default"].writeFileSync(qrcodeFilePath, new Uint8Array(qrcodeBuffer));
4049
+ const qrcodeFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4050
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(qrcodeFilePath, new Uint8Array(qrcodeBuffer));
4072
4051
  params.safeQrcodeCallback?.(qrcodeFilePath);
4073
4052
  let code = "";
4074
4053
  for(let i = 0; i < scanRetryMaxCount; i++){
4075
- await (0, share_.sleep)(2000);
4054
+ await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.sleep)(2000);
4076
4055
  const checkScanResult = await http.api({
4077
4056
  method: "post",
4078
4057
  url: "https://mp.weixin.qq.com/safe/safeuuid",
@@ -4159,7 +4138,7 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4159
4138
  share_page: "1",
4160
4139
  synctxweibo: "0",
4161
4140
  operation_seq,
4162
- req_id: (0, share_.randomString)(32),
4141
+ req_id: (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.randomString)(32),
4163
4142
  req_time: new Date().getTime() + 1e3 * client_time_diff,
4164
4143
  sync_version: "1",
4165
4144
  isFreePublish: params.masssend ? "false" : "true",
@@ -4171,9 +4150,8 @@ const weixinPublish_mock_mockAction = async (task, params)=>{
4171
4150
  }),
4172
4151
  defaultErrorMsg: params.masssend ? "文章群发异常,请尝试关闭群发或稍后重试。" : "文章发布异常,请稍后重试。"
4173
4152
  });
4174
- return (0, share_.success)(appMsgId, params.settingInfo.timer ? "微信公众号文章定时发布成功。" : "微信公众号发布完成。");
4153
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(appMsgId, params.settingInfo.timer ? "微信公众号文章定时发布成功。" : "微信公众号发布完成。");
4175
4154
  };
4176
- var external_axios_ = __webpack_require__("axios");
4177
4155
  const waitQrcodeResultMaxTime = 2000 * scanRetryMaxCount;
4178
4156
  const weixinPublish_rpa_rpaAction = async (task, params)=>{
4179
4157
  const tmpCachePath = task.getTmpPath();
@@ -4221,8 +4199,8 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4221
4199
  const qrcodeSrc = await reward_page.locator(".invite-qrcode").getAttribute('src');
4222
4200
  if (qrcodeSrc) {
4223
4201
  const rewardBuffer = Buffer.from(qrcodeSrc.replace(/^data:image\/\w+;base64,/, ''), 'base64');
4224
- const rewardFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_reward.jpg");
4225
- external_node_fs_["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
4202
+ const rewardFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_reward.jpg");
4203
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(rewardFilePath, new Uint8Array(rewardBuffer));
4226
4204
  params.safeQrcodeCallback?.(rewardFilePath);
4227
4205
  }
4228
4206
  } catch (error) {
@@ -4289,11 +4267,11 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4289
4267
  await page.waitForSelector("#editor_pannel", {
4290
4268
  state: "visible"
4291
4269
  });
4292
- (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', {
4270
+ PopupListener(page, '[v-transfer-dom="#vue_app"] .weui-desktop-dialog', "更新", '[v-transfer-dom="#vue_app"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
4293
4271
  checkInterval: 1000,
4294
4272
  stopAfterClick: false
4295
4273
  });
4296
- (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', {
4274
+ PopupListener(page, '[extclass="weui-desktop-dialog_simple"] .weui-desktop-dialog', "小店", '[extclass="weui-desktop-dialog_simple"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
4297
4275
  checkInterval: 1000,
4298
4276
  stopAfterClick: true
4299
4277
  });
@@ -4305,7 +4283,7 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4305
4283
  await titleInstance.click();
4306
4284
  await titleInstance.fill(params.settingInfo.wxAuthor);
4307
4285
  }
4308
- await (0, utils.qN)(page, params.content);
4286
+ await copyHtmlToClipboard(page, params.content);
4309
4287
  await page.click(".js_editor_area .ProseMirror");
4310
4288
  await page.keyboard.press("Control+V");
4311
4289
  await page.locator("#article_setting_area").evaluate((node)=>node.scrollIntoView());
@@ -4315,8 +4293,8 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4315
4293
  await titleInstance.fill(params.settingInfo.wxAbstract);
4316
4294
  }
4317
4295
  if (params.settingInfo.wxCover) {
4318
- const fileName = (0, share_.getFilenameFromUrl)(params.settingInfo.wxCover);
4319
- const cover = await (0, share_.downloadImage)(params.settingInfo.wxCover, external_node_path_["default"].join(tmpCachePath, fileName));
4296
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(params.settingInfo.wxCover);
4297
+ const cover = await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(params.settingInfo.wxCover, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4320
4298
  await page.locator("#article_setting_area #js_cover_area .select-cover__btn").hover();
4321
4299
  await page.locator("#article_setting_area #js_cover_area .pop-opr__group-select-cover .pop-opr__list .pop-opr__item").filter({
4322
4300
  hasText: "从图片库选择"
@@ -4502,7 +4480,7 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4502
4480
  const articleId = await new Promise(async (resolve)=>{
4503
4481
  const handleResponse = async (response)=>{
4504
4482
  const url = response.url();
4505
- const query = (0, utils.hc)(url);
4483
+ const query = parseUrlQueryString(url);
4506
4484
  if (url.includes("/cgi-bin/operate_appmsg") && query?.t === "ajax-response") {
4507
4485
  const jsonResponse = await response.json();
4508
4486
  page.off("response", handleResponse);
@@ -4516,15 +4494,15 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4516
4494
  await page.locator(".mass-send .mass-send__td-setting", {
4517
4495
  hasText: "定时发表"
4518
4496
  }).locator(".weui-desktop-switch__box").check();
4519
- let dateD = Number(utils.Tx.format(params.settingInfo.timer, "d"));
4520
- let nowD = Number(utils.Tx.format(Date.now(), "d"));
4497
+ let dateD = Number(TimeFormatter.format(params.settingInfo.timer, "d"));
4498
+ let nowD = Number(TimeFormatter.format(Date.now(), "d"));
4521
4499
  await page.locator(".mass-send__timer .weui-desktop-form__dropdown__dt").click();
4522
4500
  const dropMenu = page.locator(".mass-send__timer .weui-desktop-dropdown-menu").locator(".weui-desktop-dropdown__list-ele");
4523
4501
  await dropMenu.filter({
4524
- hasText: dateD == nowD ? "今天" : dateD == nowD + 1 ? "明天" : utils.Tx.format(params.settingInfo.timer, "M月d日")
4502
+ hasText: dateD == nowD ? "今天" : dateD == nowD + 1 ? "明天" : TimeFormatter.format(params.settingInfo.timer, "M月d日")
4525
4503
  }).click();
4526
4504
  const timeDropMenu = page.locator(".mass-send__timer .weui-desktop-picker__time:visible");
4527
- await timeDropMenu.locator(".weui-desktop-form__input").fill(utils.Tx.format(params.settingInfo.timer, "hh:mm"));
4505
+ await timeDropMenu.locator(".weui-desktop-form__input").fill(TimeFormatter.format(params.settingInfo.timer, "hh:mm"));
4528
4506
  await timeDropMenu.locator("i.weui-desktop-icon__time").click();
4529
4507
  }
4530
4508
  });
@@ -4582,13 +4560,13 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4582
4560
  const qrcodeSrc = await page.locator(".dialog .js_wxchecks.safe_check img.qrcode.js_qrcode").first().getAttribute("src");
4583
4561
  if (qrcodeSrc) {
4584
4562
  const imgUrl = new URL(qrcodeSrc, page.url()).href;
4585
- const response = await (0, external_axios_["default"])({
4563
+ const response = await (0, __WEBPACK_EXTERNAL_MODULE_axios__["default"])({
4586
4564
  method: "get",
4587
4565
  url: imgUrl,
4588
4566
  responseType: "arraybuffer"
4589
4567
  });
4590
- const qrcodeFilePath = external_node_path_["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4591
- external_node_fs_["default"].writeFileSync(qrcodeFilePath, response.data);
4568
+ const qrcodeFilePath = __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, "weixin_qrcode.jpg");
4569
+ __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].writeFileSync(qrcodeFilePath, response.data);
4592
4570
  params.safeQrcodeCallback?.(qrcodeFilePath);
4593
4571
  } else throw new Error("qrcodeSrc is empty");
4594
4572
  });
@@ -4602,15 +4580,15 @@ const weixinPublish_rpa_rpaAction = async (task, params)=>{
4602
4580
  }
4603
4581
  await page.waitForTimeout(3000);
4604
4582
  await page.close();
4605
- return (0, share_.success)(articleId);
4583
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(articleId);
4606
4584
  };
4607
4585
  const weixinPublish = async (task, _params)=>{
4608
- const params = (0, utils.Tb)(_params, {
4586
+ const params = defaultParams(_params, {
4609
4587
  masssend: true
4610
4588
  });
4611
4589
  if ("rpa" === params.actionType) return weixinPublish_rpa_rpaAction(task, params);
4612
4590
  if ("mockApi" === params.actionType) return weixinPublish_mock_mockAction(task, params);
4613
- return (0, utils.jo)(weixinPublish_mock_mockAction, weixinPublish_rpa_rpaAction)(task, params);
4591
+ return executeAction(weixinPublish_mock_mockAction, weixinPublish_rpa_rpaAction)(task, params);
4614
4592
  };
4615
4593
  const saveDraft = (http, params, data)=>{
4616
4594
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
@@ -4630,7 +4608,7 @@ const saveDraft = (http, params, data)=>{
4630
4608
  };
4631
4609
  const weixinmpPublish_mock_mockAction = async (task, params)=>{
4632
4610
  const tmpCachePath = task.getTmpPath();
4633
- const http = new utils_http.e({
4611
+ const http = new Http({
4634
4612
  headers: {
4635
4613
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
4636
4614
  origin: "https://mp.weixin.qq.com",
@@ -4641,19 +4619,19 @@ const weixinmpPublish_mock_mockAction = async (task, params)=>{
4641
4619
  const cropResult = {};
4642
4620
  if (params.banners && params.banners.length > 0) {
4643
4621
  const images = await Promise.all(params.banners.map((url)=>{
4644
- const fileName = (0, share_.getFilenameFromUrl)(url);
4645
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
4622
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
4623
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4646
4624
  }));
4647
4625
  for(let index = 0; index < images.length; index++){
4648
4626
  const image = images[index];
4649
- const fileState = (0, utils.H8)(image);
4627
+ const fileState = getFileState(image);
4650
4628
  const formData = new __WEBPACK_EXTERNAL_MODULE_form_data_cf000082__["default"]();
4651
4629
  formData.append("id", `WU_FILE_${index + 1}`);
4652
4630
  formData.append("name", fileState.name);
4653
4631
  formData.append("type", fileState.type);
4654
4632
  formData.append("lastModifiedDate", fileState.lastModifiedDate);
4655
4633
  formData.append("size", fileState.size);
4656
- formData.append("file", external_node_fs_["default"].createReadStream(image));
4634
+ formData.append("file", __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].createReadStream(image));
4657
4635
  const response = await http.api({
4658
4636
  method: "post",
4659
4637
  url: `https://mp.weixin.qq.com/cgi-bin/filetransfer?action=upload_material&f=json&writetype=doublewrite&token=${params.token}&lang=zh_CN`,
@@ -4701,7 +4679,7 @@ const weixinmpPublish_mock_mockAction = async (task, params)=>{
4701
4679
  ];
4702
4680
  cropFormData.append("size_count", cropRatios.length);
4703
4681
  const cropCoordinates = cropRatios.map((r, idx)=>{
4704
- const cropCoordinate = (0, utils.e0)(colorResponseData.width, colorResponseData.height, r);
4682
+ const cropCoordinate = calculateCropCoordinates(colorResponseData.width, colorResponseData.height, r);
4705
4683
  cropFormData.append(`size${idx}_x1`, cropCoordinate.x1);
4706
4684
  cropFormData.append(`size${idx}_y1`, cropCoordinate.y1);
4707
4685
  cropFormData.append(`size${idx}_x2`, cropCoordinate.x2);
@@ -4754,7 +4732,7 @@ const weixinmpPublish_mock_mockAction = async (task, params)=>{
4754
4732
  content0: params.content,
4755
4733
  share_imageinfo0: JSON.stringify(shareImageInfos)
4756
4734
  });
4757
- return (0, share_.success)(res);
4735
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(res);
4758
4736
  };
4759
4737
  const sourceText = {
4760
4738
  ai: "内容由AI生成",
@@ -4791,8 +4769,8 @@ const weixinmpPublish_rpa_rpaAction = async (task, params)=>{
4791
4769
  const container = page.locator("#editor_pannel");
4792
4770
  if (params.banners && params.banners.length > 0) {
4793
4771
  const images = await Promise.all(params.banners.map((url)=>{
4794
- const fileName = (0, share_.getFilenameFromUrl)(url);
4795
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
4772
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
4773
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4796
4774
  }));
4797
4775
  const fileChooserPromise = page.waitForEvent("filechooser");
4798
4776
  await container.locator(".image-selector__add").hover();
@@ -4817,12 +4795,12 @@ const weixinmpPublish_rpa_rpaAction = async (task, params)=>{
4817
4795
  if (params.banners && params.banners.length > 0) await page.waitForSelector("#editor_pannel .image-selector .image-selector__preview");
4818
4796
  if (params.draft) await container.locator("#bottom_main #js_submit button").click();
4819
4797
  else await container.locator("#bottom_main #js_send button").click();
4820
- return (0, share_.success)("");
4798
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)("");
4821
4799
  };
4822
4800
  const weixinmpPublish = async (task, params)=>{
4823
4801
  if ("rpa" === params.actionType) return weixinmpPublish_rpa_rpaAction(task, params);
4824
4802
  if ("mockApi" === params.actionType) return weixinmpPublish_mock_mockAction(task, params);
4825
- return (0, utils.jo)(weixinmpPublish_mock_mockAction, weixinmpPublish_rpa_rpaAction)(task, params);
4803
+ return executeAction(weixinmpPublish_mock_mockAction, weixinmpPublish_rpa_rpaAction)(task, params);
4826
4804
  };
4827
4805
  const xiaohongshuPublish_mock_errnoMap = {
4828
4806
  915: "所属C端账号手机号被修改,请重新登录",
@@ -4839,7 +4817,7 @@ const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
4839
4817
  message: "账号数据异常,请重新绑定账号后重试。",
4840
4818
  data: ""
4841
4819
  };
4842
- const http = new utils_http.e({
4820
+ const http = new Http({
4843
4821
  headers: {
4844
4822
  cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
4845
4823
  origin: "https://creator.xiaohongshu.com",
@@ -4879,10 +4857,10 @@ const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
4879
4857
  data: ""
4880
4858
  };
4881
4859
  const uploadFile = async (url, index)=>{
4882
- const fileName = (0, share_.getFilenameFromUrl)(url);
4883
- const localUrl = await (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
4860
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
4861
+ const localUrl = await (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
4884
4862
  const ossFileId = coverIds[index];
4885
- const fileBuffer = external_node_fs_["default"].readFileSync(localUrl);
4863
+ const fileBuffer = __WEBPACK_EXTERNAL_MODULE_node_fs_5ea92f0c__["default"].readFileSync(localUrl);
4886
4864
  await http.api({
4887
4865
  method: "put",
4888
4866
  url: `https://ros-upload.xiaohongshu.com/${ossFileId}`,
@@ -5017,7 +4995,7 @@ const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
5017
4995
  },
5018
4996
  defaultErrorMsg: "文章发布异常,请稍后重试。"
5019
4997
  });
5020
- return (0, share_.success)(publishResult.data?.id);
4998
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(publishResult.data?.id);
5021
4999
  };
5022
5000
  const rpa_xsEncrypt = new XsEncrypt();
5023
5001
  const xiaohongshuPublish_rpa_rpaAction = async (task, params)=>{
@@ -5128,8 +5106,8 @@ const xiaohongshuPublish_rpa_rpaAction = async (task, params)=>{
5128
5106
  hasText: /^上传图文$/
5129
5107
  }).click();
5130
5108
  const images = await Promise.all(params.banners.map((url)=>{
5131
- const fileName = (0, share_.getFilenameFromUrl)(url);
5132
- return (0, share_.downloadImage)(url, external_node_path_["default"].join(tmpCachePath, fileName));
5109
+ const fileName = (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.getFilenameFromUrl)(url);
5110
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.downloadImage)(url, __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(tmpCachePath, fileName));
5133
5111
  }));
5134
5112
  const fileChooserPromise = page.waitForEvent("filechooser");
5135
5113
  await page.getByRole("textbox").click();
@@ -5227,14 +5205,14 @@ const xiaohongshuPublish_rpa_rpaAction = async (task, params)=>{
5227
5205
  page.locator(".submit .publishBtn").click();
5228
5206
  });
5229
5207
  await page.close();
5230
- return (0, share_.success)(response);
5208
+ return (0, __WEBPACK_EXTERNAL_MODULE__iflyrpa_share_f7afdc8c__.success)(response);
5231
5209
  };
5232
5210
  const xiaohongshuPublish = async (task, params)=>{
5233
5211
  if ("rpa" === params.actionType) return xiaohongshuPublish_rpa_rpaAction(task, params);
5234
5212
  if ("mockApi" === params.actionType) return xiaohongshuPublish_mock_mockAction(task, params);
5235
- return (0, utils.jo)(xiaohongshuPublish_mock_mockAction, xiaohongshuPublish_rpa_rpaAction)(task, params);
5213
+ return executeAction(xiaohongshuPublish_mock_mockAction, xiaohongshuPublish_rpa_rpaAction)(task, params);
5236
5214
  };
5237
- var package_namespaceObject = JSON.parse('{"i8":"1.2.14-beta.2"}');
5215
+ var package_namespaceObject = JSON.parse('{"i8":"1.2.14-beta.4"}');
5238
5216
  class Action {
5239
5217
  constructor(task){
5240
5218
  this.task = task;
@@ -5246,11 +5224,11 @@ class Action {
5246
5224
  try {
5247
5225
  responseData = await func(this.task, params);
5248
5226
  } catch (error) {
5249
- responseData = utils_http.e.handleApiError(error);
5227
+ responseData = Http.handleApiError(error);
5250
5228
  }
5251
5229
  if (200 === responseData.code) this.task.logger.info(`${func.name} action params error`, responseData);
5252
5230
  else if (0 !== responseData.code) {
5253
- this.task.logger.error(responseData.message || `${func.name} 执行失败`, (0, utils.n)(responseData.data), responseData.extra);
5231
+ this.task.logger.error(responseData.message || `${func.name} 执行失败`, stringifyError(responseData.data), responseData.extra);
5254
5232
  this.task.logger.info(`${func.name} action failed`);
5255
5233
  } else this.task.logger.info(`${func.name} action success`);
5256
5234
  return responseData;