@iflyrpa/actions 1.2.7 → 1.2.8
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/actions/searchXiaohongshuTopicList/index.d.ts +7 -0
- package/dist/actions/xiaohongshuPublish/index.d.ts +1 -0
- package/dist/bundle.js +74 -9
- package/dist/bundle.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +74 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +74 -9
- package/dist/index.mjs.map +1 -1
- package/dist/types.d.ts +6 -0
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CommonAction } from "@iflyrpa/share";
|
|
2
|
+
import type { ActiomCommonParams, Xiaohongshu } from "../../types";
|
|
3
|
+
export interface SearchXiaohongshuTopicListParams extends ActiomCommonParams {
|
|
4
|
+
searchValue: string;
|
|
5
|
+
}
|
|
6
|
+
export type PublishAction = CommonAction<SearchXiaohongshuTopicListParams, Xiaohongshu.Topic[]>;
|
|
7
|
+
export declare const searchXiaohongshuTopicList: PublishAction;
|
|
@@ -20,6 +20,7 @@ export interface XiaohongshuPublishParams extends ActiomCommonParams {
|
|
|
20
20
|
content: string;
|
|
21
21
|
address?: Xiaohongshu.Location;
|
|
22
22
|
selfDeclaration?: SelfDeclaration;
|
|
23
|
+
topic?: Xiaohongshu.Topic[];
|
|
23
24
|
visibleRange: "public" | "private";
|
|
24
25
|
isImmediatelyPublish?: boolean;
|
|
25
26
|
scheduledPublish?: string;
|
package/dist/bundle.js
CHANGED
|
@@ -13583,6 +13583,36 @@ var __webpack_exports__ = {};
|
|
|
13583
13583
|
return success([]);
|
|
13584
13584
|
}
|
|
13585
13585
|
};
|
|
13586
|
+
const searchXiaohongshuTopicList = async (_task, params)=>{
|
|
13587
|
+
const http = new Http({
|
|
13588
|
+
headers: {
|
|
13589
|
+
cookie: params.cookies.map((it)=>`${it.name}=${it.value}`).join(";"),
|
|
13590
|
+
referer: "https://creator.xiaohongshu.com",
|
|
13591
|
+
origin: "https://creator.xiaohongshu.com"
|
|
13592
|
+
}
|
|
13593
|
+
});
|
|
13594
|
+
try {
|
|
13595
|
+
const result = await http.api({
|
|
13596
|
+
method: "post",
|
|
13597
|
+
url: "https://edith.xiaohongshu.com/web_api/sns/v1/search/topic",
|
|
13598
|
+
data: {
|
|
13599
|
+
keyword: params.searchValue,
|
|
13600
|
+
suggest_topic_request: {
|
|
13601
|
+
title: "",
|
|
13602
|
+
desc: `#${params.searchValue}`
|
|
13603
|
+
},
|
|
13604
|
+
page: {
|
|
13605
|
+
page_size: 20,
|
|
13606
|
+
page: 1
|
|
13607
|
+
}
|
|
13608
|
+
},
|
|
13609
|
+
defaultErrorMsg: "话题搜索异常,请稍后重试。"
|
|
13610
|
+
});
|
|
13611
|
+
return success(0 === result.code ? result.data.topic_info_dtos : [], '获取话题成功');
|
|
13612
|
+
} catch (error) {
|
|
13613
|
+
return success([]);
|
|
13614
|
+
}
|
|
13615
|
+
};
|
|
13586
13616
|
const mock_errnoMap = {
|
|
13587
13617
|
20004020: "图片上传异常,请重新绑定账号后同步。",
|
|
13588
13618
|
7115: "正文图片和封面图片推荐jpg、png格式。",
|
|
@@ -15436,7 +15466,9 @@ var __webpack_exports__ = {};
|
|
|
15436
15466
|
}
|
|
15437
15467
|
}
|
|
15438
15468
|
const xiaohongshuPublish_mock_errnoMap = {
|
|
15439
|
-
|
|
15469
|
+
915: "所属C端账号手机号被修改,请重新登录",
|
|
15470
|
+
903: "账户已登出,需重新登陆重试!",
|
|
15471
|
+
902: "登录已过期,请重新登录!"
|
|
15440
15472
|
};
|
|
15441
15473
|
const xsEncrypt = new XsEncrypt();
|
|
15442
15474
|
const xiaohongshuPublish_mock_mockAction = async (task, params)=>{
|
|
@@ -15506,13 +15538,34 @@ var __webpack_exports__ = {};
|
|
|
15506
15538
|
};
|
|
15507
15539
|
};
|
|
15508
15540
|
const coverInfos = await Promise.all(params.banners.map((it, idx)=>uploadFile(it, idx)));
|
|
15541
|
+
if (params.topic && params.topic.length > 0) await Promise.all(params.topic.map(async (topic)=>{
|
|
15542
|
+
if (!topic["id"]) {
|
|
15543
|
+
const topicData = {
|
|
15544
|
+
topic_names: topic["name"]
|
|
15545
|
+
};
|
|
15546
|
+
const topicDataStr = xsEncrypt.dumps(topicData);
|
|
15547
|
+
const publishXt = Date.now().toString();
|
|
15548
|
+
const publishXs = await xsEncrypt.encryptXs(`/web_api/sns/capa/postgw/topic/batch_customized${topicDataStr}`, a1Cookie, publishXt);
|
|
15549
|
+
let createTopic = await http.api({
|
|
15550
|
+
method: "POST",
|
|
15551
|
+
url: "https://edith.xiaohongshu.com/web_api/sns/capa/postgw/topic/batch_customized",
|
|
15552
|
+
headers: {
|
|
15553
|
+
"x-s": publishXs,
|
|
15554
|
+
"x-t": publishXt
|
|
15555
|
+
},
|
|
15556
|
+
data: topicData,
|
|
15557
|
+
defaultErrorMsg: "话题创建异常,请稍后重试。"
|
|
15558
|
+
});
|
|
15559
|
+
Object.assign(topic, createTopic.data.topic_infos[0]);
|
|
15560
|
+
}
|
|
15561
|
+
}));
|
|
15509
15562
|
const publishData = {
|
|
15510
15563
|
common: {
|
|
15511
15564
|
ats: [],
|
|
15512
15565
|
biz_relations: [],
|
|
15513
15566
|
desc: params?.content,
|
|
15514
15567
|
goods_info: {},
|
|
15515
|
-
hash_tag: [],
|
|
15568
|
+
hash_tag: params.topic || [],
|
|
15516
15569
|
note_id: "",
|
|
15517
15570
|
source: JSON.stringify({
|
|
15518
15571
|
type: "web",
|
|
@@ -15630,6 +15683,7 @@ var __webpack_exports__ = {};
|
|
|
15630
15683
|
'/api/galaxy/v2/creator/activity_center/list',
|
|
15631
15684
|
'/web_api/sns/v5/creator/topic/template/list',
|
|
15632
15685
|
'/web_api/sns/v5/creator/file/encryption',
|
|
15686
|
+
'/web_api/sns/capa/postgw/topic/batch_customized',
|
|
15633
15687
|
'/web_api/sns/v2/note'
|
|
15634
15688
|
];
|
|
15635
15689
|
await page.route('**', async (route, request)=>{
|
|
@@ -15651,11 +15705,11 @@ var __webpack_exports__ = {};
|
|
|
15651
15705
|
});
|
|
15652
15706
|
return;
|
|
15653
15707
|
}
|
|
15654
|
-
const isNoteRequest = urlObj.pathname.includes(interceptUrls[
|
|
15708
|
+
const isNoteRequest = urlObj.pathname.includes(interceptUrls[5]);
|
|
15655
15709
|
const xs = await (isNoteRequest ? (async ()=>{
|
|
15656
15710
|
const publishData = JSON.parse(request.postData() || "");
|
|
15657
15711
|
const publishDataStr = rpa_xsEncrypt.dumps(publishData);
|
|
15658
|
-
return rpa_xsEncrypt.encryptXs(interceptUrls[
|
|
15712
|
+
return rpa_xsEncrypt.encryptXs(interceptUrls[5] + publishDataStr, a1Cookie, xt);
|
|
15659
15713
|
})() : rpa_xsEncrypt.encryptXs(fetchCoverUrl, a1Cookie, xt));
|
|
15660
15714
|
const newHeaders = {
|
|
15661
15715
|
...request.headers(),
|
|
@@ -15709,7 +15763,7 @@ var __webpack_exports__ = {};
|
|
|
15709
15763
|
data: page.url()
|
|
15710
15764
|
};
|
|
15711
15765
|
}
|
|
15712
|
-
await page.locator("#content-area .menu-container .publish-video
|
|
15766
|
+
await page.locator("#content-area .menu-container .publish-video .btn").click();
|
|
15713
15767
|
await page.locator('.creator-container .header .creator-tab:not([style*="-9999px"]) .title').filter({
|
|
15714
15768
|
hasText: /^上传图文$/
|
|
15715
15769
|
}).click();
|
|
@@ -15726,7 +15780,15 @@ var __webpack_exports__ = {};
|
|
|
15726
15780
|
await titleInstance.fill(params.title);
|
|
15727
15781
|
const descInstance = page.locator(".editor-container #quillEditor .ql-editor");
|
|
15728
15782
|
await descInstance.click();
|
|
15729
|
-
await descInstance.
|
|
15783
|
+
await descInstance.pressSequentially(params.content.replace(/#.*?\[.*?]\#/g, ""));
|
|
15784
|
+
if (params.topic && params.topic.length > 0) for (const it of params.topic){
|
|
15785
|
+
await descInstance.pressSequentially(`#${it["name"]}`);
|
|
15786
|
+
await page.locator('.ql-mention-loading').waitFor({
|
|
15787
|
+
state: 'detached'
|
|
15788
|
+
});
|
|
15789
|
+
await page.waitForTimeout(1000);
|
|
15790
|
+
await page.locator('#quill-mention-item-0 .item-view-num').click();
|
|
15791
|
+
}
|
|
15730
15792
|
const container = page.locator(".creator-container .content .scroll-content");
|
|
15731
15793
|
await container.focus();
|
|
15732
15794
|
await page.mouse.wheel(0, 500);
|
|
@@ -15735,8 +15797,8 @@ var __webpack_exports__ = {};
|
|
|
15735
15797
|
}), params.address.name);
|
|
15736
15798
|
if (params.selfDeclaration) {
|
|
15737
15799
|
await page.locator(".media-settings .flexbox").filter({
|
|
15738
|
-
hasText: "
|
|
15739
|
-
}).locator(".d-select-
|
|
15800
|
+
hasText: "内容类型声明"
|
|
15801
|
+
}).locator(".d-select-placeholder").click();
|
|
15740
15802
|
const poperInstance = await getPoperInstance();
|
|
15741
15803
|
const selfDeclarationInstance = poperInstance.locator(".d-options .d-option");
|
|
15742
15804
|
if ("fictional-rendition" === params.selfDeclaration.type) await selfDeclarationInstance.filter({
|
|
@@ -15813,7 +15875,7 @@ var __webpack_exports__ = {};
|
|
|
15813
15875
|
return executeAction(xiaohongshuPublish_mock_mockAction, xiaohongshuPublish_rpa_rpaAction)(task, params);
|
|
15814
15876
|
};
|
|
15815
15877
|
var package_namespaceObject = {
|
|
15816
|
-
i8: "1.2.
|
|
15878
|
+
i8: "1.2.7"
|
|
15817
15879
|
};
|
|
15818
15880
|
class Action {
|
|
15819
15881
|
constructor(task){
|
|
@@ -15850,6 +15912,9 @@ var __webpack_exports__ = {};
|
|
|
15850
15912
|
xiaohongshuPublish(params) {
|
|
15851
15913
|
return this.bindTask(xiaohongshuPublish, params);
|
|
15852
15914
|
}
|
|
15915
|
+
searchXiaohongshuTopicList(params) {
|
|
15916
|
+
return this.bindTask(searchXiaohongshuTopicList, params);
|
|
15917
|
+
}
|
|
15853
15918
|
searchXiaohongshuLocation(params) {
|
|
15854
15919
|
return this.bindTask(searchXiaohongshuLocation, params);
|
|
15855
15920
|
}
|