@iflyrpa/actions 1.2.11-beta.1 → 1.2.11-beta.2

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.js CHANGED
@@ -1269,9 +1269,14 @@ var __webpack_exports__ = {};
1269
1269
  dd: String(date.getDate()).padStart(2, '0'),
1270
1270
  hh: String(date.getHours()).padStart(2, '0'),
1271
1271
  mm: String(date.getMinutes()).padStart(2, '0'),
1272
- ss: String(date.getSeconds()).padStart(2, '0')
1272
+ ss: String(date.getSeconds()).padStart(2, '0'),
1273
+ M: String(date.getMonth() + 1),
1274
+ d: String(date.getDate()),
1275
+ h: String(date.getHours()),
1276
+ m: String(date.getMinutes()),
1277
+ s: String(date.getSeconds())
1273
1278
  };
1274
- return formatStr.replace(/yyyy|yy|MM|dd|hh|mm|ss/g, (key)=>map[key]);
1279
+ return formatStr.replace(/yyyy|yy|MM|dd|hh|mm|ss|M|d|h|m|s/g, (key)=>map[key]);
1275
1280
  }
1276
1281
  }
1277
1282
  const replaceImgSrc = (html, callback)=>{
@@ -1542,6 +1547,7 @@ var __webpack_exports__ = {};
1542
1547
  cover_source: "upload",
1543
1548
  activity_list
1544
1549
  };
1550
+ params.settingInfo.timer && (publishData['timer_time'] = params.settingInfo.timer);
1545
1551
  const isDraft = "draft" === params.saveType;
1546
1552
  const saveUrl = isDraft ? "https://baijiahao.baidu.com/pcui/article/save?callback=bjhdraft" : "https://baijiahao.baidu.com/pcui/article/publish?callback=bjhpublish";
1547
1553
  const res = await http.api({
@@ -1663,13 +1669,16 @@ var __webpack_exports__ = {};
1663
1669
  if (await findActivity.count() > 0) findActivity.first().locator("..").click();
1664
1670
  }
1665
1671
  }
1666
- const articleId = await new Promise((resolve)=>{
1672
+ const { articleId, message } = await new Promise(async (resolve)=>{
1667
1673
  const handleResponse = async (response)=>{
1668
1674
  const url = response.url();
1669
1675
  if (url.includes("/pcui/article/save") || url.includes("/pcui/article/publish")) {
1670
1676
  const jsonResponse = await response.json();
1671
1677
  page.off("response", handleResponse);
1672
- resolve(jsonResponse?.ret?.article_id);
1678
+ resolve({
1679
+ articleId: jsonResponse?.ret?.article_id,
1680
+ message: jsonResponse?.errmsg
1681
+ });
1673
1682
  }
1674
1683
  };
1675
1684
  page.on("response", handleResponse);
@@ -1677,12 +1686,74 @@ var __webpack_exports__ = {};
1677
1686
  if ("draft" === params.saveType) operatorContainer.locator(".op-btn-outter-content").filter({
1678
1687
  hasText: "存草稿"
1679
1688
  }).locator("button").click();
1680
- else operatorContainer.locator(".op-btn-outter-content").filter({
1681
- hasText: "发布"
1689
+ else if (params.settingInfo.timer) {
1690
+ await operatorContainer.locator(".op-btn-outter-content").filter({
1691
+ hasText: "定时发布"
1692
+ }).locator("button").click();
1693
+ await page.locator(".timepublish-wrap-select .select-wrap", {
1694
+ hasText: "日"
1695
+ }).click();
1696
+ await page.locator('#select-date_list + * .cheetah-select-item-option', {
1697
+ hasText: TimeFormatter.format(params.settingInfo.timer, "M月dd日")
1698
+ }).click();
1699
+ await page.waitForTimeout(200);
1700
+ await page.locator(".timepublish-wrap-select .select-wrap", {
1701
+ hasText: "点"
1702
+ }).click();
1703
+ await page.locator('#select-hour_list +div.rc-virtual-list').hover();
1704
+ const scrollHourInfo = await page.evaluate(()=>{
1705
+ const hourInner = document.querySelector('#select-hour_list + * .rc-virtual-list-holder-inner');
1706
+ const hourElementHeight = hourInner?.children[0].clientHeight || 36;
1707
+ const hourMapsElem = Array.from(document.querySelectorAll('#select-hour_list + * .cheetah-select-item-option .cheetah-select-item-option-content'));
1708
+ const hourMap = hourMapsElem.map((item)=>item.textContent?.trim());
1709
+ return {
1710
+ elementHeight: hourElementHeight,
1711
+ elementItem: hourMap
1712
+ };
1713
+ });
1714
+ const fistHourElem = scrollHourInfo.elementItem[0];
1715
+ let fistHourElemH = Number(fistHourElem?.split("点")[0]);
1716
+ const lastHourElem = scrollHourInfo.elementItem[scrollHourInfo.elementItem.length - 1];
1717
+ let lastHourElemH = Number(lastHourElem?.split("点")[0]);
1718
+ let targetTimeH = Number(TimeFormatter.format(params.settingInfo.timer, 'h'));
1719
+ await page.mouse.wheel(0, targetTimeH > lastHourElemH ? (targetTimeH - lastHourElemH) * scrollHourInfo.elementHeight : targetTimeH < fistHourElemH ? -(fistHourElemH - targetTimeH) * scrollHourInfo.elementHeight : 0);
1720
+ await page.locator("#select-hour_list + * .cheetah-select-item-option ", {
1721
+ hasText: targetTimeH + "点"
1722
+ }).click();
1723
+ await page.waitForTimeout(200);
1724
+ await page.locator(".timepublish-wrap-select .select-wrap", {
1725
+ hasText: "分"
1726
+ }).click();
1727
+ await page.locator('#select-minute_list +div.rc-virtual-list').hover();
1728
+ const scrollMinuteInfo = await page.evaluate(()=>{
1729
+ const hourInner = document.querySelector('#select-minute_list + * .rc-virtual-list-holder-inner');
1730
+ const hourElementHeight = hourInner?.children[0].clientHeight || 36;
1731
+ const hourMapsElem = Array.from(document.querySelectorAll('#select-minute_list + * .cheetah-select-item-option .cheetah-select-item-option-content'));
1732
+ const hourMap = hourMapsElem.map((item)=>item.textContent?.trim());
1733
+ return {
1734
+ elementHeight: hourElementHeight,
1735
+ elementItem: hourMap
1736
+ };
1737
+ });
1738
+ const fistMinuteElem = scrollMinuteInfo.elementItem[0];
1739
+ let fistMinuteElemH = Number(fistMinuteElem?.split("分")[0]);
1740
+ const lastMinuteElem = scrollMinuteInfo.elementItem[scrollMinuteInfo.elementItem.length - 1];
1741
+ let lastMinuteElemH = Number(lastMinuteElem?.split("分")[0]);
1742
+ let targetTimeM = Number(TimeFormatter.format(params.settingInfo.timer, 'm'));
1743
+ await page.mouse.wheel(0, targetTimeM > lastMinuteElemH ? (targetTimeM - lastMinuteElemH) * scrollMinuteInfo.elementHeight : targetTimeM < fistMinuteElemH ? -(fistMinuteElemH - targetTimeM) * scrollMinuteInfo.elementHeight : 0);
1744
+ await page.locator("#select-minute_list + * .cheetah-select-item-option ", {
1745
+ hasText: targetTimeM + "分"
1746
+ }).click();
1747
+ await page.waitForTimeout(200);
1748
+ await page.locator(".cheetah-modal-confirm-btns button").filter({
1749
+ hasText: "定时发布"
1750
+ }).click();
1751
+ } else operatorContainer.locator(".op-btn-outter-content").filter({
1752
+ hasText: /^发布/
1682
1753
  }).locator("button").click();
1683
1754
  });
1684
1755
  await page.close();
1685
- return (0, share_namespaceObject.success)(articleId);
1756
+ return (0, share_namespaceObject.success)(articleId, articleId ? "发布成功" : message);
1686
1757
  };
1687
1758
  const baijiahaoPublish = async (task, params)=>{
1688
1759
  if ("rpa" === params.actionType) return rpaAction(task, params);
@@ -1863,7 +1934,7 @@ var __webpack_exports__ = {};
1863
1934
  2005: "账号无【申明原创】权限,请关闭申明后重试。",
1864
1935
  100004: "用户未登录或登陆已过期,请重新登陆后重试。"
1865
1936
  };
1866
- const generatorFormData = (data)=>Object.entries(data).map(([key, value])=>{
1937
+ const mock_generatorFormData = (data)=>Object.entries(data).map(([key, value])=>{
1867
1938
  const encodedKey = encodeURIComponent(key);
1868
1939
  const encodedValue = encodeURIComponent(String(value));
1869
1940
  return `${encodedKey}=${encodedValue}`;
@@ -2015,14 +2086,14 @@ var __webpack_exports__ = {};
2015
2086
  const msToken = params.cookies.find((it)=>"msToken" === it.name)?.value;
2016
2087
  let publishOption = {};
2017
2088
  if (msToken) {
2018
- const postHeaders = generatorFormData({
2089
+ const postHeaders = mock_generatorFormData({
2019
2090
  source: "mp",
2020
2091
  type: "article",
2021
2092
  aid: 1231,
2022
2093
  mp_publish_ab_val: 0,
2023
2094
  msToken: msToken
2024
2095
  });
2025
- const postData = generatorFormData(publishData);
2096
+ const postData = mock_generatorFormData(publishData);
2026
2097
  let a_bogus = GenAB(postHeaders, postData);
2027
2098
  publishOption = {
2028
2099
  method: "post",
@@ -2046,6 +2117,7 @@ var __webpack_exports__ = {};
2046
2117
  const publishResult = await http.api(publishOption);
2047
2118
  return (0, share_namespaceObject.success)(publishResult.data.pgc_id);
2048
2119
  };
2120
+ const rpa_GenAB = __webpack_require__("./src/utils/ttABEncrypt.js");
2049
2121
  const rpa_rpaAction = async (task, params)=>{
2050
2122
  const tmpCachePath = task.getTmpPath();
2051
2123
  const commonCookies = {
@@ -2080,9 +2152,30 @@ var __webpack_exports__ = {};
2080
2152
  await page.route('**', async (route, request)=>{
2081
2153
  const url = new URL(request.url());
2082
2154
  if (interceptUrls.some((pattern)=>url.pathname.includes(pattern))) {
2083
- url.searchParams.set('aid', '1');
2155
+ const headers = {
2156
+ ...request.headers(),
2157
+ "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36"
2158
+ };
2159
+ const generatorFormData = (data)=>Object.entries(data).map(([key, value])=>{
2160
+ const encodedKey = encodeURIComponent(key);
2161
+ const encodedValue = encodeURIComponent(String(value));
2162
+ return `${encodedKey}=${encodedValue}`;
2163
+ }).join('&');
2164
+ const postHeaders = generatorFormData({
2165
+ source: "mp",
2166
+ type: "article",
2167
+ aid: 1231,
2168
+ mp_publish_ab_val: 0,
2169
+ msToken: url.searchParams.get('msToken')
2170
+ });
2171
+ const postData = request.postData() || "";
2172
+ let a_bogus = rpa_GenAB(postHeaders, postData);
2173
+ url.searchParams.set('aid', "1231");
2174
+ url.searchParams.set('mp_publish_ab_val', "0");
2175
+ url.searchParams.set('a_bogus', a_bogus);
2084
2176
  await route.continue({
2085
- url: url.toString()
2177
+ url: url.toString(),
2178
+ headers: headers
2086
2179
  });
2087
2180
  } else await route.continue();
2088
2181
  });
@@ -2163,7 +2256,7 @@ var __webpack_exports__ = {};
2163
2256
  }).locator("xpath=..");
2164
2257
  exclusiveContainer.locator(".exclusive .exclusive-checkbox-wraper .byte-checkbox").click();
2165
2258
  }
2166
- const articleId = await new Promise((resolve)=>{
2259
+ const articleId = await new Promise(async (resolve)=>{
2167
2260
  const handleResponse = async (response)=>{
2168
2261
  const url = response.url();
2169
2262
  if (url.includes("/mp/agw/article/publish")) {
@@ -2173,7 +2266,32 @@ var __webpack_exports__ = {};
2173
2266
  }
2174
2267
  };
2175
2268
  page.on("response", handleResponse);
2176
- page.locator(".publish-footer button").filter({
2269
+ if (params.settingInfo.timer) {
2270
+ await page.locator(".publish-footer button").filter({
2271
+ hasText: "定时发布"
2272
+ }).click();
2273
+ await page.waitForSelector('button.publish-btn:not(.byte-btn-loading) >> nth=1', {
2274
+ state: 'attached'
2275
+ });
2276
+ await page.locator(".byte-modal-content .day-select .byte-select-view-value").click();
2277
+ await page.locator('li.byte-select-option', {
2278
+ hasText: TimeFormatter.format(params.settingInfo.timer, "MM月dd日")
2279
+ }).click();
2280
+ await page.waitForTimeout(200);
2281
+ await page.locator(".byte-modal-content .hour-select .byte-select-view-value").click();
2282
+ await page.locator('li.byte-select-option', {
2283
+ hasText: TimeFormatter.format(params.settingInfo.timer, "h")
2284
+ }).click();
2285
+ await page.waitForTimeout(200);
2286
+ await page.locator(".byte-modal-content .minute-select .byte-select-view-value").click();
2287
+ await page.locator('li.byte-select-option', {
2288
+ hasText: TimeFormatter.format(params.settingInfo.timer, "m")
2289
+ }).click();
2290
+ await page.waitForTimeout(200);
2291
+ await page.locator(".byte-modal-footer button").filter({
2292
+ hasText: "预览并定时发布"
2293
+ }).click();
2294
+ } else await page.locator(".publish-footer button").filter({
2177
2295
  hasText: "预览并发布"
2178
2296
  }).click();
2179
2297
  });
@@ -2184,13 +2302,13 @@ var __webpack_exports__ = {};
2184
2302
  }
2185
2303
  if ("publish" === params.saveType) {
2186
2304
  await page.locator(".publish-footer button").filter({
2187
- hasText: "确认发布"
2305
+ hasText: params.settingInfo.timer ? "定时发布" : "确认发布"
2188
2306
  }).waitFor({
2189
2307
  state: "visible"
2190
2308
  });
2191
2309
  await page.waitForTimeout(200);
2192
2310
  await page.locator(".publish-footer button").filter({
2193
- hasText: "确认发布"
2311
+ hasText: params.settingInfo.timer ? "定时发布" : "确认发布"
2194
2312
  }).click();
2195
2313
  }
2196
2314
  await page.close();
@@ -2465,7 +2583,8 @@ var __webpack_exports__ = {};
2465
2583
  "-4": "不支持发布审核中或转码中的视频",
2466
2584
  "-2": "不支持发布审核中或转码中的视频",
2467
2585
  770001: "不支持发布审核中或转码中的视频",
2468
- 200074: "系统繁忙,请稍后重试!"
2586
+ 200074: "系统繁忙,请稍后重试!",
2587
+ 64702: "标题超出64字长度限制,请修改标题后重试。"
2469
2588
  };
2470
2589
  const ignoreErrno = [
2471
2590
  154019
@@ -2475,7 +2594,7 @@ var __webpack_exports__ = {};
2475
2594
  已关注的用户: 2,
2476
2595
  已关注7天及以上的用户: 3
2477
2596
  };
2478
- const mock_generatorFormData = (data)=>{
2597
+ const weixinPublish_mock_generatorFormData = (data)=>{
2479
2598
  const formData = new URLSearchParams();
2480
2599
  for (const [key, value] of Object.entries(data))formData.append(key, String(value));
2481
2600
  return formData.toString();
@@ -2491,7 +2610,7 @@ var __webpack_exports__ = {};
2491
2610
  token: params.token,
2492
2611
  lang: "zh_CN"
2493
2612
  },
2494
- data: mock_generatorFormData(data)
2613
+ data: weixinPublish_mock_generatorFormData(data)
2495
2614
  });
2496
2615
  } catch (error) {
2497
2616
  resData = error?.data;
@@ -2605,7 +2724,7 @@ var __webpack_exports__ = {};
2605
2724
  params: {
2606
2725
  action: "searchacct"
2607
2726
  },
2608
- data: mock_generatorFormData({
2727
+ data: weixinPublish_mock_generatorFormData({
2609
2728
  lang: "zh_CN",
2610
2729
  f: "json",
2611
2730
  ajax: 1,
@@ -2734,7 +2853,7 @@ var __webpack_exports__ = {};
2734
2853
  params: {
2735
2854
  action: 'addautoreply'
2736
2855
  },
2737
- data: mock_generatorFormData({
2856
+ data: weixinPublish_mock_generatorFormData({
2738
2857
  type: 1,
2739
2858
  fingerprint,
2740
2859
  token: params.token,
@@ -2856,7 +2975,7 @@ var __webpack_exports__ = {};
2856
2975
  type: 77,
2857
2976
  lang: "zh_CN"
2858
2977
  },
2859
- data: mock_generatorFormData(draftData),
2978
+ data: weixinPublish_mock_generatorFormData(draftData),
2860
2979
  defaultErrorMsg: "创建草稿失败,请稍后重试发布。"
2861
2980
  });
2862
2981
  if ("draft" === params.saveType) return {
@@ -2889,7 +3008,7 @@ var __webpack_exports__ = {};
2889
3008
  lang: "zh_CN",
2890
3009
  token: params.token
2891
3010
  },
2892
- data: mock_generatorFormData({
3011
+ data: weixinPublish_mock_generatorFormData({
2893
3012
  token: params.token,
2894
3013
  lang: "zh_CN",
2895
3014
  f: "json",
@@ -2920,7 +3039,7 @@ var __webpack_exports__ = {};
2920
3039
  token: params.token,
2921
3040
  lang: "zh_CN"
2922
3041
  },
2923
- data: mock_generatorFormData({
3042
+ data: weixinPublish_mock_generatorFormData({
2924
3043
  appmsgid: appMsgId,
2925
3044
  fingerprint,
2926
3045
  token: params.token,
@@ -2932,7 +3051,7 @@ var __webpack_exports__ = {};
2932
3051
  await http.api({
2933
3052
  method: "post",
2934
3053
  url: "https://mp.weixin.qq.com/cgi-bin/masssend?action=check_same_material",
2935
- data: mock_generatorFormData({
3054
+ data: weixinPublish_mock_generatorFormData({
2936
3055
  msgid: appMsgId,
2937
3056
  fingerprint,
2938
3057
  token: params.token,
@@ -2971,7 +3090,7 @@ var __webpack_exports__ = {};
2971
3090
  token: params.token,
2972
3091
  lang: "zh_CN"
2973
3092
  },
2974
- data: mock_generatorFormData({
3093
+ data: weixinPublish_mock_generatorFormData({
2975
3094
  appmsg_id: appMsgId,
2976
3095
  fingerprint,
2977
3096
  token: params.token,
@@ -2990,7 +3109,7 @@ var __webpack_exports__ = {};
2990
3109
  params: {
2991
3110
  action: "check_music"
2992
3111
  },
2993
- data: mock_generatorFormData({
3112
+ data: weixinPublish_mock_generatorFormData({
2994
3113
  appmsgid: appMsgId,
2995
3114
  masssend_check: 1,
2996
3115
  fingerprint,
@@ -3010,7 +3129,7 @@ var __webpack_exports__ = {};
3010
3129
  lang: "zh_CN",
3011
3130
  1: 1
3012
3131
  },
3013
- data: mock_generatorFormData({
3132
+ data: weixinPublish_mock_generatorFormData({
3014
3133
  token: params.token,
3015
3134
  lang: "zh_CN",
3016
3135
  f: "json",
@@ -3030,7 +3149,7 @@ var __webpack_exports__ = {};
3030
3149
  lang: "zh_CN",
3031
3150
  1: 1
3032
3151
  },
3033
- data: mock_generatorFormData({
3152
+ data: weixinPublish_mock_generatorFormData({
3034
3153
  token: params.token,
3035
3154
  lang: "zh_CN",
3036
3155
  f: "json",
@@ -3062,6 +3181,7 @@ var __webpack_exports__ = {};
3062
3181
  ticket: getTicketResult.ticket,
3063
3182
  uuid,
3064
3183
  msgid: operation_seq,
3184
+ open_email: !!params.settingInfo.timer,
3065
3185
  ...params.masssend ? {} : {
3066
3186
  publish_type: 1
3067
3187
  }
@@ -3084,7 +3204,7 @@ var __webpack_exports__ = {};
3084
3204
  lang: "zh_CN",
3085
3205
  timespam: Date.now()
3086
3206
  },
3087
- data: mock_generatorFormData({
3207
+ data: weixinPublish_mock_generatorFormData({
3088
3208
  token: params.token,
3089
3209
  lang: "zh_CN",
3090
3210
  f: "json",
@@ -3114,7 +3234,7 @@ var __webpack_exports__ = {};
3114
3234
  lang: "zh_CN",
3115
3235
  1: 1
3116
3236
  },
3117
- data: mock_generatorFormData({
3237
+ data: weixinPublish_mock_generatorFormData({
3118
3238
  token: params.token,
3119
3239
  lang: "zh_CN",
3120
3240
  f: "json",
@@ -3136,7 +3256,7 @@ var __webpack_exports__ = {};
3136
3256
  is_release_publish_page: 1
3137
3257
  }
3138
3258
  },
3139
- data: mock_generatorFormData({
3259
+ data: weixinPublish_mock_generatorFormData({
3140
3260
  token: params.token,
3141
3261
  lang: "zh_CN",
3142
3262
  f: "json",
@@ -3153,7 +3273,7 @@ var __webpack_exports__ = {};
3153
3273
  country: "",
3154
3274
  province: "",
3155
3275
  city: "",
3156
- send_time: "0",
3276
+ send_time: params.settingInfo.timer ? params.settingInfo.timer : "0",
3157
3277
  type: "10",
3158
3278
  share_page: "1",
3159
3279
  synctxweibo: "0",
@@ -3170,7 +3290,7 @@ var __webpack_exports__ = {};
3170
3290
  }),
3171
3291
  defaultErrorMsg: params.masssend ? "文章群发异常,请尝试关闭群发或稍后重试。" : "文章发布异常,请稍后重试。"
3172
3292
  });
3173
- return (0, share_namespaceObject.success)(appMsgId, "微信公众号发布完成。");
3293
+ return (0, share_namespaceObject.success)(appMsgId, params.settingInfo.timer ? "微信公众号文章定时发布成功。" : "微信公众号发布完成。");
3174
3294
  };
3175
3295
  const waitQrcodeResultMaxTime = 2000 * scanRetryMaxCount;
3176
3296
  const weixinPublish_rpa_rpaAction = async (task, params)=>{
@@ -3291,6 +3411,10 @@ var __webpack_exports__ = {};
3291
3411
  checkInterval: 1000,
3292
3412
  stopAfterClick: false
3293
3413
  });
3414
+ PopupListener(page, '[extclass="weui-desktop-dialog_simple"] .weui-desktop-dialog', "小店", '[extclass="weui-desktop-dialog_simple"] .weui-desktop-icon-btn.weui-desktop-dialog__close-btn', {
3415
+ checkInterval: 1000,
3416
+ stopAfterClick: true
3417
+ });
3294
3418
  const titleInstance = page.locator("#js_title_main textarea#title");
3295
3419
  await titleInstance.click();
3296
3420
  await titleInstance.fill(params.title);
@@ -3447,8 +3571,8 @@ var __webpack_exports__ = {};
3447
3571
  const wxInteraction_bd = wxInteraction_setting.locator('.weui-desktop-dialog__bd');
3448
3572
  const wxInteraction_ft = wxInteraction_setting.locator('.weui-desktop-dialog__ft');
3449
3573
  if ("public" == params.settingInfo.wxInteraction.Type) {
3450
- await wxInteraction_bd.locator('.weui-desktop-form__check-label', {
3451
- hasText: '留言'
3574
+ await wxInteraction_bd.locator('.weui-desktop-form__check-label span', {
3575
+ hasText: /^(开启|留言)$/
3452
3576
  }).click();
3453
3577
  const comment_area = wxInteraction_bd.locator('.comment-options-block.pt0');
3454
3578
  const reply_area = wxInteraction_bd.locator('.comment-options-block.bb0.pb0');
@@ -3466,8 +3590,8 @@ var __webpack_exports__ = {};
3466
3590
  }).click();
3467
3591
  if (params.settingInfo.wxInteraction.Option?.elect_reply) await reply_area.locator('.weui-desktop-switch__box').check();
3468
3592
  else await reply_area.locator('.weui-desktop-switch__input').isChecked() && reply_area.locator('.weui-desktop-switch__box').uncheck();
3469
- } else if ("private" == params.settingInfo.wxInteraction.Type) await wxInteraction_bd.locator('.weui-desktop-form__check-label', {
3470
- hasText: '快捷私信'
3593
+ } else if ("private" == params.settingInfo.wxInteraction.Type) await wxInteraction_bd.locator('.weui-desktop-form__check-label span', {
3594
+ hasText: /^(快捷私信|不开启)$/
3471
3595
  }).click();
3472
3596
  await wxInteraction_ft.locator('.weui-desktop-btn.weui-desktop-btn_primary').click();
3473
3597
  }
@@ -3493,7 +3617,7 @@ var __webpack_exports__ = {};
3493
3617
  await poperInstance.locator('.frm_radio_item label[for="not_recomment_0"]').click();
3494
3618
  }
3495
3619
  await page.waitForTimeout(1000);
3496
- const articleId = await new Promise((resolve)=>{
3620
+ const articleId = await new Promise(async (resolve)=>{
3497
3621
  const handleResponse = async (response)=>{
3498
3622
  const url = response.url();
3499
3623
  const query = parseUrlQueryString(url);
@@ -3505,7 +3629,34 @@ var __webpack_exports__ = {};
3505
3629
  };
3506
3630
  page.on("response", handleResponse);
3507
3631
  page.locator("#editor_pannel #bottom_main #js_button_area #js_send button").click();
3632
+ await page.waitForTimeout(200);
3633
+ if (params.settingInfo.timer) {
3634
+ await page.locator(".mass-send .mass-send__td-setting", {
3635
+ hasText: "定时发表"
3636
+ }).locator(".weui-desktop-switch__box").check();
3637
+ let dateD = Number(TimeFormatter.format(params.settingInfo.timer, "d"));
3638
+ let nowD = Number(TimeFormatter.format(Date.now(), "d"));
3639
+ await page.locator(".mass-send__timer .weui-desktop-form__dropdown__dt").click();
3640
+ const dropMenu = page.locator(".mass-send__timer .weui-desktop-dropdown-menu").locator(".weui-desktop-dropdown__list-ele");
3641
+ await dropMenu.filter({
3642
+ hasText: dateD == nowD ? "今天" : dateD == nowD + 1 ? "明天" : TimeFormatter.format(params.settingInfo.timer, "M月d日")
3643
+ }).click();
3644
+ const timeDropMenu = page.locator(".mass-send__timer .weui-desktop-picker__time:visible");
3645
+ await timeDropMenu.locator(".weui-desktop-form__input").fill(TimeFormatter.format(params.settingInfo.timer, "hh:mm"));
3646
+ await timeDropMenu.locator("i.weui-desktop-icon__time").click();
3647
+ }
3508
3648
  });
3649
+ await page.waitForTimeout(200);
3650
+ if (params.masssend) {
3651
+ const times = Number(await page.locator(".mass-send .multi-sent__notice_time").locator('div[style="display: none;"] div:not([style*="display: none"]) span').textContent());
3652
+ if (0 == times) return {
3653
+ code: 200,
3654
+ message: "今日群发次数用尽,请明天再试。",
3655
+ data: ""
3656
+ };
3657
+ await page.locator(".mass-send .mass_send__notify").locator(".weui-desktop-switch__box").check();
3658
+ } else await page.locator(".mass-send .mass_send__notify").locator(".weui-desktop-switch__box").uncheck();
3659
+ await page.waitForTimeout(200);
3509
3660
  await page.waitForSelector('.new_mass_send_dialog .weui-desktop-dialog__wrp:not([style*="display: none"])', {
3510
3661
  state: "visible"
3511
3662
  });
@@ -3514,6 +3665,19 @@ var __webpack_exports__ = {};
3514
3665
  state: "visible"
3515
3666
  });
3516
3667
  await page.locator(".double_check_dialog .weui-desktop-dialog .weui-desktop-dialog__ft button.weui-desktop-btn_primary").click();
3668
+ await page.waitForTimeout(2000);
3669
+ const originalCheckDialog = page.locator('div[data-transfer="true"][width\\.number="800"][height\\.number="800"] .weui-desktop-dialog__title');
3670
+ if (await originalCheckDialog.count() > 0) {
3671
+ if (await originalCheckDialog.textContent() === "原创校验") {
3672
+ const popMassend = page.locator('div[data-transfer="true"][width\\.number="800"][height\\.number="800"]');
3673
+ await popMassend.locator(".weui-desktop-btn_primary", {
3674
+ hasText: "下一步"
3675
+ }).click();
3676
+ await popMassend.locator(".weui-desktop-btn_primary", {
3677
+ hasText: "继续"
3678
+ }).click();
3679
+ }
3680
+ }
3517
3681
  try {
3518
3682
  const startTime = Date.now();
3519
3683
  await new Promise(async (resolve, reject)=>{
@@ -4240,7 +4404,7 @@ var __webpack_exports__ = {};
4240
4404
  if ("mockApi" === params.actionType) return xiaohongshuPublish_mock_mockAction(task, params);
4241
4405
  return executeAction(xiaohongshuPublish_mock_mockAction, xiaohongshuPublish_rpa_rpaAction)(task, params);
4242
4406
  };
4243
- var package_namespaceObject = JSON.parse('{"i8":"1.2.11-beta.0"}');
4407
+ var package_namespaceObject = JSON.parse('{"i8":"1.2.11-beta.1"}');
4244
4408
  class Action {
4245
4409
  constructor(task){
4246
4410
  this.task = task;