karin-plugin-kkk 2.36.3 → 2.38.0
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/CHANGELOG.md +45 -0
- package/config/default_config/app.yaml +1 -1
- package/lib/build-metadata.json +5 -5
- package/lib/core_chunk/amagi.d.mts +1087 -473
- package/lib/core_chunk/{index-B2QgJ0_6.d.mts → index-CZWy-8Jl.d.mts} +1 -76
- package/lib/core_chunk/main.js +2078 -2055
- package/lib/core_chunk/richtext.d.mts +75 -1
- package/lib/core_chunk/template.d.mts +718 -712
- package/lib/core_chunk/vendor.js +7471 -6840
- package/lib/karin-plugin-kkk.css +457 -300
- package/lib/web/assets/CronEditor-WXijzmDW.js +1 -0
- package/lib/web/assets/DesktopLayout--iy5sAfQ.js +1 -0
- package/lib/web/assets/MobileLayout-f8WFKU7S.js +1 -0
- package/lib/web/assets/ThemeSwitch-BHSl6vlV.js +1 -0
- package/lib/web/assets/index-CDqOqICt.css +2 -0
- package/lib/web/assets/index-CEplgYEW.js +47 -0
- package/lib/web/assets/separator-Bm0SRDXt.js +1 -0
- package/lib/web/index.html +2 -2
- package/package.json +3 -3
- package/lib/core_chunk/index-_og592jD.d.mts +0 -172
- package/lib/web/assets/CronEditor-rHmpAxFj.js +0 -1
- package/lib/web/assets/DesktopLayout-Cr5ZibGs.js +0 -1
- package/lib/web/assets/MobileLayout-WN2r3MCa.js +0 -1
- package/lib/web/assets/ThemeSwitch-DMmlpRk7.js +0 -1
- package/lib/web/assets/index-DU0mjeqO.js +0 -47
- package/lib/web/assets/index-hQel6cUs.css +0 -2
- package/lib/web/assets/separator-DSAWGreF.js +0 -1
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import { A as RichTextDocument } from "./index-B2QgJ0_6.mjs";
|
|
1
|
+
import { o as RichTextDocument } from "./index-CZWy-8Jl.mjs";
|
|
3
2
|
import { EventEmitter as EventEmitter$1 } from "node:events";
|
|
4
3
|
import { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
5
4
|
import React$1 from "react";
|
|
6
|
-
import { EventEmitter as EventEmitter$2 } from "events";
|
|
7
|
-
import { Agent, ClientRequest, ClientRequestArgs, IncomingMessage, OutgoingHttpHeaders, Server } from "http";
|
|
8
|
-
import { Server as Server$1 } from "https";
|
|
9
|
-
import { createConnection } from "net";
|
|
10
|
-
import { SecureContextOptions } from "tls";
|
|
11
|
-
import { URL } from "url";
|
|
12
|
-
import { ZlibOptions } from "zlib";
|
|
13
|
-
|
|
14
5
|
//#region ../template/src/types/platforms/douyin/articleWork.d.ts
|
|
15
6
|
/**
|
|
16
7
|
* 文章图片信息
|
|
@@ -29,21 +20,37 @@ interface ArticleImage {
|
|
|
29
20
|
* 抖音文章作品组件属性接口
|
|
30
21
|
*/
|
|
31
22
|
interface DouyinArticleWorkProps extends BaseComponentProps<{
|
|
32
|
-
/** 文章标题 */
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
23
|
+
/** 文章标题 */
|
|
24
|
+
title: string;
|
|
25
|
+
/** 文章Markdown内容 */
|
|
26
|
+
markdown: string;
|
|
27
|
+
/** 文章图片列表 */
|
|
28
|
+
images: ArticleImage[];
|
|
29
|
+
/** 阅读时间(分钟) */
|
|
30
|
+
read_time: number;
|
|
31
|
+
/** 点赞数 */
|
|
32
|
+
dianzan: string;
|
|
33
|
+
/** 评论数 */
|
|
34
|
+
pinglun: string;
|
|
35
|
+
/** 收藏数 */
|
|
36
|
+
shouchang: string;
|
|
37
|
+
/** 分享数 */
|
|
38
|
+
share: string;
|
|
39
|
+
/** 创建时间 */
|
|
40
|
+
create_time: string;
|
|
41
|
+
/** 用户头像URL */
|
|
42
|
+
avater_url: string;
|
|
43
|
+
/** 用户名 */
|
|
44
|
+
username: string;
|
|
45
|
+
/** 抖音号 */
|
|
46
|
+
抖音号: string;
|
|
47
|
+
/** 获赞数 */
|
|
48
|
+
获赞: string;
|
|
49
|
+
/** 关注数 */
|
|
50
|
+
关注: string;
|
|
51
|
+
/** 粉丝数 */
|
|
52
|
+
粉丝: string;
|
|
53
|
+
/** 分享链接 */
|
|
47
54
|
share_url: string;
|
|
48
55
|
}> {}
|
|
49
56
|
//#endregion
|
|
@@ -52,46 +59,80 @@ interface DouyinArticleWorkProps extends BaseComponentProps<{
|
|
|
52
59
|
* 抖音评论组件属性接口
|
|
53
60
|
*/
|
|
54
61
|
interface DouyinCommentProps extends BaseComponentProps<{
|
|
55
|
-
/** 作品类型:视频/图集/合辑/文章 */
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
/** 作品类型:视频/图集/合辑/文章 */
|
|
63
|
+
Type: '视频' | '图集' | '合辑' | '文章';
|
|
64
|
+
/** 评论数量 */
|
|
65
|
+
CommentLength: number;
|
|
66
|
+
/** 视频大小(MB) */
|
|
67
|
+
VideoSize?: string;
|
|
68
|
+
/** 视频帧率(Hz) */
|
|
69
|
+
VideoFPS?: number;
|
|
70
|
+
/** 图片数量 */
|
|
71
|
+
ImageLength?: number;
|
|
72
|
+
/** 区域 */
|
|
73
|
+
Region: string;
|
|
74
|
+
/** 相关搜索(大家都在搜) */
|
|
75
|
+
suggestWrod: string[];
|
|
76
|
+
/** 视频分辨率 */
|
|
77
|
+
Resolution: string | null;
|
|
78
|
+
/** 分享链接 */
|
|
79
|
+
share_url: string;
|
|
80
|
+
/** 作者昵称 */
|
|
81
|
+
Author: string;
|
|
82
|
+
/** 作者头像 */
|
|
83
|
+
AuthorAvatar: string;
|
|
84
|
+
/** 作品统计 */
|
|
66
85
|
Statistics: {
|
|
67
86
|
digg_count: number;
|
|
68
87
|
comment_count: number;
|
|
69
88
|
share_count: number;
|
|
70
89
|
collect_count: number;
|
|
71
|
-
};
|
|
72
|
-
|
|
90
|
+
};
|
|
91
|
+
/** 发布时间戳(秒) */
|
|
92
|
+
CreateTime: number;
|
|
93
|
+
/** 评论数据列表 */
|
|
73
94
|
CommentsData: Array<{
|
|
74
|
-
/** 评论ID */
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
95
|
+
/** 评论ID */
|
|
96
|
+
id?: number;
|
|
97
|
+
/** 评论CID */
|
|
98
|
+
cid?: string;
|
|
99
|
+
/** 作品ID */
|
|
100
|
+
aweme_id?: string;
|
|
101
|
+
/** 用户头像URL */
|
|
102
|
+
userimageurl: string;
|
|
103
|
+
/** 用户昵称 */
|
|
104
|
+
nickname: string;
|
|
105
|
+
/** 标签类型 (1=作者) */
|
|
106
|
+
label_type?: number;
|
|
107
|
+
/** 状态标签 */
|
|
108
|
+
status_label?: string;
|
|
109
|
+
/** 评论内容 */
|
|
110
|
+
text: RichTextDocument;
|
|
111
|
+
/** 评论图片 */
|
|
112
|
+
commentimage?: string;
|
|
113
|
+
/** 贴纸 */
|
|
114
|
+
sticker?: string;
|
|
115
|
+
/** 创建时间戳(秒) */
|
|
116
|
+
create_time: number;
|
|
117
|
+
/** IP标签 */
|
|
118
|
+
ip_label: string;
|
|
119
|
+
/** 点赞数 */
|
|
120
|
+
digg_count: number;
|
|
121
|
+
/** 搜索文本 */
|
|
87
122
|
search_text?: Array<{
|
|
88
|
-
/** 搜索文本内容 */
|
|
123
|
+
/** 搜索文本内容 */
|
|
124
|
+
search_text: string;
|
|
125
|
+
/** 搜索查询ID */
|
|
89
126
|
search_query_id: string;
|
|
90
|
-
}> | null;
|
|
91
|
-
|
|
92
|
-
|
|
127
|
+
}> | null;
|
|
128
|
+
/** 是否@用户ID */
|
|
129
|
+
is_At_user_id?: any;
|
|
130
|
+
/** 回复评论数据 */
|
|
131
|
+
replyComment?: DouyinSubComment[];
|
|
132
|
+
/** 作者是否点赞 */
|
|
93
133
|
is_author_digged?: boolean;
|
|
94
|
-
}>;
|
|
134
|
+
}>;
|
|
135
|
+
/** 最大嵌套层级 */
|
|
95
136
|
maxDepth?: number;
|
|
96
137
|
}> {}
|
|
97
138
|
/**
|
|
@@ -129,21 +170,37 @@ interface DouyinSubComment {
|
|
|
129
170
|
* 抖音动态组件属性接口
|
|
130
171
|
*/
|
|
131
172
|
interface DouyinDynamicProps extends BaseComponentProps<{
|
|
132
|
-
/** 图片URL */
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
173
|
+
/** 图片URL */
|
|
174
|
+
image_url: string;
|
|
175
|
+
/** 描述内容 */
|
|
176
|
+
desc: string;
|
|
177
|
+
/** 点赞数 */
|
|
178
|
+
dianzan: string;
|
|
179
|
+
/** 评论数 */
|
|
180
|
+
pinglun: string;
|
|
181
|
+
/** 收藏数 */
|
|
182
|
+
shouchang: string;
|
|
183
|
+
/** 分享数 */
|
|
184
|
+
share: string;
|
|
185
|
+
/** 创建时间 */
|
|
186
|
+
create_time: string;
|
|
187
|
+
/** 用户头像URL */
|
|
188
|
+
avater_url: string;
|
|
189
|
+
/** 用户名 */
|
|
190
|
+
username: string;
|
|
191
|
+
/** 抖音号 */
|
|
192
|
+
抖音号: string;
|
|
193
|
+
/** 获赞数 */
|
|
194
|
+
获赞: string;
|
|
195
|
+
/** 关注数 */
|
|
196
|
+
关注: string;
|
|
197
|
+
/** 粉丝数 */
|
|
198
|
+
粉丝: string;
|
|
199
|
+
/** 分享链接 */
|
|
200
|
+
share_url: string;
|
|
201
|
+
/** 动态类型 */
|
|
202
|
+
dynamicTYPE?: string;
|
|
203
|
+
/** 合作信息 */
|
|
147
204
|
cooperation_info?: {
|
|
148
205
|
co_creator_nums: number;
|
|
149
206
|
co_creators: Array<{
|
|
@@ -160,20 +217,35 @@ interface DouyinDynamicProps extends BaseComponentProps<{
|
|
|
160
217
|
* 用于展示"谁喜欢了谁的作品"
|
|
161
218
|
*/
|
|
162
219
|
interface DouyinFavoriteListProps extends BaseComponentProps<{
|
|
163
|
-
/** 作品封面图片URL */
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
220
|
+
/** 作品封面图片URL */
|
|
221
|
+
image_url: string;
|
|
222
|
+
/** 作品描述内容 */
|
|
223
|
+
desc: string;
|
|
224
|
+
/** 点赞数 */
|
|
225
|
+
dianzan: string;
|
|
226
|
+
/** 评论数 */
|
|
227
|
+
pinglun: string;
|
|
228
|
+
/** 收藏数 */
|
|
229
|
+
shouchang: string;
|
|
230
|
+
/** 分享数 */
|
|
231
|
+
share: string;
|
|
232
|
+
/** 推荐数 */
|
|
233
|
+
tuijian: string;
|
|
234
|
+
/** 作品创建时间 */
|
|
235
|
+
create_time: string;
|
|
236
|
+
/** 点赞者(订阅者)用户名 */
|
|
237
|
+
liker_username: string;
|
|
238
|
+
/** 点赞者头像URL */
|
|
239
|
+
liker_avatar: string;
|
|
240
|
+
/** 点赞者抖音号 */
|
|
241
|
+
liker_douyin_id: string;
|
|
242
|
+
/** 作品作者用户名 */
|
|
243
|
+
author_username: string;
|
|
244
|
+
/** 作品作者头像URL */
|
|
245
|
+
author_avatar: string;
|
|
246
|
+
/** 作品作者抖音号 */
|
|
247
|
+
author_douyin_id: string;
|
|
248
|
+
/** 分享链接 */
|
|
177
249
|
share_url: string;
|
|
178
250
|
}> {}
|
|
179
251
|
//#endregion
|
|
@@ -184,38 +256,65 @@ type DouyinImageMediaType = 'static' | 'live' | 'clip';
|
|
|
184
256
|
* 抖音图文作品组件属性接口
|
|
185
257
|
*/
|
|
186
258
|
interface DouyinImageWorkProps extends BaseComponentProps<{
|
|
187
|
-
/**
|
|
188
|
-
|
|
189
|
-
|
|
259
|
+
/** 图文图片列表(首项为封面;组件从索引 1 起最多展示 3 张预览图) */
|
|
260
|
+
image_list: {
|
|
261
|
+
/** 图片列表,按原始顺序排列 */
|
|
262
|
+
images: Array<{
|
|
263
|
+
/** 图片 URL */
|
|
264
|
+
url: string;
|
|
265
|
+
/** 媒体类型 */
|
|
190
266
|
media_type: DouyinImageMediaType;
|
|
191
|
-
}>;
|
|
267
|
+
}>;
|
|
268
|
+
/** 作品总图片数(包含封面) */
|
|
192
269
|
total_count: number;
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
270
|
+
};
|
|
271
|
+
/** 标题(从描述中按首个句号拆分,含有效 @ 用户与 topic 节点) */
|
|
272
|
+
title?: RichTextDocument;
|
|
273
|
+
/** 描述内容(去除标题后的正文,含有效 @ 用户、topic/lineBreak 节点) */
|
|
274
|
+
desc: RichTextDocument;
|
|
275
|
+
/** IP 属地 */
|
|
276
|
+
ip_location?: string;
|
|
277
|
+
/** 热点搜索词 */
|
|
197
278
|
suggest_word?: {
|
|
198
279
|
hint_text: string;
|
|
199
280
|
word: string;
|
|
200
|
-
};
|
|
281
|
+
};
|
|
282
|
+
/** 背景音乐信息 */
|
|
201
283
|
music?: {
|
|
202
|
-
/** 音乐作者 */
|
|
203
|
-
|
|
284
|
+
/** 音乐作者 */
|
|
285
|
+
author: string;
|
|
286
|
+
/** 音乐标题 */
|
|
287
|
+
title: string;
|
|
288
|
+
/** 音乐封面 URL */
|
|
204
289
|
cover?: string;
|
|
205
|
-
};
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
290
|
+
};
|
|
291
|
+
/** 点赞数 */
|
|
292
|
+
dianzan: string;
|
|
293
|
+
/** 评论数 */
|
|
294
|
+
pinglun: string;
|
|
295
|
+
/** 收藏数 */
|
|
296
|
+
shouchang: string;
|
|
297
|
+
/** 分享数 */
|
|
298
|
+
share: string;
|
|
299
|
+
/** 创建时间(Unix 时间戳,秒) */
|
|
300
|
+
create_time: number;
|
|
301
|
+
/** 用户头像URL */
|
|
302
|
+
avater_url: string;
|
|
303
|
+
/** 用户名 */
|
|
304
|
+
username: string;
|
|
305
|
+
/** 抖音号 */
|
|
306
|
+
抖音号: string;
|
|
307
|
+
/** 获赞数 */
|
|
308
|
+
获赞: string;
|
|
309
|
+
/** 关注数 */
|
|
310
|
+
关注: string;
|
|
311
|
+
/** 粉丝数 */
|
|
312
|
+
粉丝: string;
|
|
313
|
+
/** 分享链接 */
|
|
314
|
+
share_url: string;
|
|
315
|
+
/** 动态类型 */
|
|
316
|
+
dynamicTYPE?: string;
|
|
317
|
+
/** 合作信息 */
|
|
219
318
|
cooperation_info?: {
|
|
220
319
|
co_creator_nums: number;
|
|
221
320
|
co_creators: Array<{
|
|
@@ -231,25 +330,45 @@ interface DouyinImageWorkProps extends BaseComponentProps<{
|
|
|
231
330
|
* 抖音直播组件属性接口
|
|
232
331
|
*/
|
|
233
332
|
interface DouyinLiveProps extends BaseComponentProps<{
|
|
234
|
-
/** 直播封面图片URL */
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
333
|
+
/** 直播封面图片URL */
|
|
334
|
+
image_url: string;
|
|
335
|
+
/** 直播标题/描述 */
|
|
336
|
+
text: string;
|
|
337
|
+
/** 直播分区标题 */
|
|
338
|
+
partition_title: string;
|
|
339
|
+
/** 房间号 */
|
|
340
|
+
room_id: string;
|
|
341
|
+
/** 总观看次数 */
|
|
342
|
+
total_viewers: string;
|
|
343
|
+
/** 在线观众数 */
|
|
344
|
+
online_viewers: string;
|
|
345
|
+
/** 用户头像URL */
|
|
346
|
+
avater_url: string;
|
|
347
|
+
/** 用户名 */
|
|
348
|
+
username: string;
|
|
349
|
+
/** 粉丝数 */
|
|
350
|
+
fans: string;
|
|
351
|
+
/** 动态类型 */
|
|
352
|
+
dynamicTYPE: string;
|
|
353
|
+
/** 分享链接 */
|
|
354
|
+
share_url: string;
|
|
355
|
+
/** 点赞数 */
|
|
356
|
+
like_count: string;
|
|
357
|
+
/** 在线人数文本 */
|
|
358
|
+
user_count_str: string;
|
|
359
|
+
/** 直播分辨率 */
|
|
360
|
+
resolution: string;
|
|
361
|
+
/** 主播签名 */
|
|
362
|
+
signature: string;
|
|
363
|
+
/** 城市 */
|
|
364
|
+
city: string;
|
|
365
|
+
/** 作品数 */
|
|
366
|
+
aweme_count: string;
|
|
367
|
+
/** 关注数 */
|
|
368
|
+
following_count: string;
|
|
369
|
+
/** 获赞数 */
|
|
370
|
+
total_favorited: string;
|
|
371
|
+
/** 是否有商品 */
|
|
253
372
|
has_commerce_goods: boolean;
|
|
254
373
|
}> {}
|
|
255
374
|
//#endregion
|
|
@@ -258,17 +377,29 @@ interface DouyinLiveProps extends BaseComponentProps<{
|
|
|
258
377
|
* 抖音音乐信息组件属性接口
|
|
259
378
|
*/
|
|
260
379
|
interface DouyinMusicInfoProps extends BaseComponentProps<{
|
|
261
|
-
/** 音乐封面图片URL */
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
380
|
+
/** 音乐封面图片URL */
|
|
381
|
+
image_url: string;
|
|
382
|
+
/** 音乐描述/标题 */
|
|
383
|
+
desc: string;
|
|
384
|
+
/** 音乐ID */
|
|
385
|
+
music_id: string;
|
|
386
|
+
/** 创建时间 */
|
|
387
|
+
create_time: string;
|
|
388
|
+
/** 使用该音乐的用户数量 */
|
|
389
|
+
user_count: string;
|
|
390
|
+
/** 用户头像URL */
|
|
391
|
+
avater_url: string;
|
|
392
|
+
/** 用户名 */
|
|
393
|
+
username: string;
|
|
394
|
+
/** 用户短ID */
|
|
395
|
+
user_shortid: string;
|
|
396
|
+
/** 获赞数 */
|
|
397
|
+
total_favorited: number;
|
|
398
|
+
/** 关注数 */
|
|
399
|
+
following_count: number;
|
|
400
|
+
/** 粉丝数 */
|
|
401
|
+
fans: number;
|
|
402
|
+
/** 分享链接 */
|
|
272
403
|
share_url: string;
|
|
273
404
|
}> {}
|
|
274
405
|
//#endregion
|
|
@@ -277,20 +408,35 @@ interface DouyinMusicInfoProps extends BaseComponentProps<{
|
|
|
277
408
|
* 抖音推荐列表组件属性接口
|
|
278
409
|
*/
|
|
279
410
|
interface DouyinRecommendListProps extends BaseComponentProps<{
|
|
280
|
-
/** 图片URL */
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
411
|
+
/** 图片URL */
|
|
412
|
+
image_url: string;
|
|
413
|
+
/** 描述内容 */
|
|
414
|
+
desc: string;
|
|
415
|
+
/** 点赞数 */
|
|
416
|
+
dianzan: string;
|
|
417
|
+
/** 评论数 */
|
|
418
|
+
pinglun: string;
|
|
419
|
+
/** 收藏数 */
|
|
420
|
+
shouchang: string;
|
|
421
|
+
/** 推荐数 */
|
|
422
|
+
tuijian: string;
|
|
423
|
+
/** 分享数 */
|
|
424
|
+
share: string;
|
|
425
|
+
/** 创建时间 */
|
|
426
|
+
create_time: string;
|
|
427
|
+
/** 推荐者(订阅者)用户名 */
|
|
428
|
+
recommender_username: string;
|
|
429
|
+
/** 推荐者头像URL */
|
|
430
|
+
recommender_avatar: string;
|
|
431
|
+
/** 推荐者抖音号 */
|
|
432
|
+
recommender_douyin_id: string;
|
|
433
|
+
/** 作品作者用户名 */
|
|
434
|
+
author_username: string;
|
|
435
|
+
/** 作品作者头像URL */
|
|
436
|
+
author_avatar: string;
|
|
437
|
+
/** 作品作者抖音号 */
|
|
438
|
+
author_douyin_id: string;
|
|
439
|
+
/** 分享链接 */
|
|
294
440
|
share_url: string;
|
|
295
441
|
}> {}
|
|
296
442
|
//#endregion
|
|
@@ -299,19 +445,32 @@ interface DouyinRecommendListProps extends BaseComponentProps<{
|
|
|
299
445
|
* 抖音用户列表组件属性接口
|
|
300
446
|
*/
|
|
301
447
|
interface DouyinUserListProps extends BaseComponentProps<{
|
|
302
|
-
/** 群组信息 */
|
|
303
|
-
|
|
304
|
-
|
|
448
|
+
/** 群组信息 */
|
|
449
|
+
groupInfo: {
|
|
450
|
+
/** 群号 */
|
|
451
|
+
groupId: string;
|
|
452
|
+
/** 群名称 */
|
|
453
|
+
groupName: string;
|
|
454
|
+
/** 群头像 */
|
|
305
455
|
groupAvatar: string;
|
|
306
|
-
};
|
|
456
|
+
};
|
|
457
|
+
/** 用户列表数据 */
|
|
307
458
|
renderOpt: {
|
|
308
|
-
/** 用户头像图片URL */
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
459
|
+
/** 用户头像图片URL */
|
|
460
|
+
avatar_img: string;
|
|
461
|
+
/** 用户名 */
|
|
462
|
+
username: string;
|
|
463
|
+
/** 抖音短ID */
|
|
464
|
+
short_id: string;
|
|
465
|
+
/** 粉丝数 */
|
|
466
|
+
fans: string;
|
|
467
|
+
/** 获赞总数 */
|
|
468
|
+
total_favorited: string;
|
|
469
|
+
/** 关注数 */
|
|
470
|
+
following_count: string;
|
|
471
|
+
/** 全局推送开关状态 */
|
|
472
|
+
switch: boolean;
|
|
473
|
+
/** 推送类型列表 */
|
|
315
474
|
pushTypes: string[];
|
|
316
475
|
}[];
|
|
317
476
|
}> {}
|
|
@@ -321,174 +480,130 @@ interface DouyinUserListProps extends BaseComponentProps<{
|
|
|
321
480
|
* 用户视频列表页面的数据类型定义
|
|
322
481
|
*/
|
|
323
482
|
type VideoListItem = {
|
|
324
|
-
/** 视频ID */
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
483
|
+
/** 视频ID */
|
|
484
|
+
aweme_id: string;
|
|
485
|
+
/** 视频索引 */
|
|
486
|
+
index?: number;
|
|
487
|
+
/** 是否置顶 */
|
|
488
|
+
is_top: boolean;
|
|
489
|
+
/** 视频标题/描述 */
|
|
490
|
+
title: string;
|
|
491
|
+
/** 视频封面URL */
|
|
492
|
+
cover: string;
|
|
493
|
+
/** 视频时长(秒) */
|
|
494
|
+
duration: number;
|
|
495
|
+
/** 创建时间戳 */
|
|
496
|
+
create_time: number;
|
|
497
|
+
/** 统计数据 */
|
|
331
498
|
statistics: {
|
|
332
|
-
/** 点赞数 */
|
|
333
|
-
|
|
334
|
-
|
|
499
|
+
/** 点赞数 */
|
|
500
|
+
like_count: number;
|
|
501
|
+
/** 评论数 */
|
|
502
|
+
comment_count: number;
|
|
503
|
+
/** 分享数 */
|
|
504
|
+
share_count: number;
|
|
505
|
+
/** 收藏数 */
|
|
335
506
|
collect_count: number;
|
|
336
|
-
};
|
|
337
|
-
|
|
507
|
+
};
|
|
508
|
+
/** 是否为视频(true)还是图集(false) */
|
|
509
|
+
is_video: boolean;
|
|
510
|
+
/** 背景音乐信息 */
|
|
338
511
|
music?: {
|
|
339
|
-
/** 音乐标题 */
|
|
512
|
+
/** 音乐标题 */
|
|
513
|
+
title: string;
|
|
514
|
+
/** 音乐作者 */
|
|
340
515
|
author: string;
|
|
341
516
|
};
|
|
342
517
|
};
|
|
343
518
|
type UserVideoListData = {
|
|
344
|
-
/** 用户基本信息 */
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
519
|
+
/** 用户基本信息 */
|
|
520
|
+
user: {
|
|
521
|
+
/** 头像图片(可能为 null) */
|
|
522
|
+
head_image: string | null;
|
|
523
|
+
/** 用户昵称 */
|
|
524
|
+
nickname: string;
|
|
525
|
+
/** 抖音号 */
|
|
526
|
+
short_id: string;
|
|
527
|
+
/** 头像URL */
|
|
528
|
+
avatar: string;
|
|
529
|
+
/** 用户签名/简介 */
|
|
530
|
+
signature: string;
|
|
531
|
+
/** 粉丝数 */
|
|
532
|
+
follower_count: number;
|
|
533
|
+
/** 关注数 */
|
|
534
|
+
following_count: number;
|
|
535
|
+
/** 获赞总数 */
|
|
536
|
+
total_favorited: number;
|
|
537
|
+
/** 是否认证 */
|
|
538
|
+
verified: boolean;
|
|
539
|
+
/** IP属地 */
|
|
354
540
|
ip_location: string;
|
|
355
|
-
};
|
|
356
|
-
|
|
541
|
+
};
|
|
542
|
+
/** 视频列表 */
|
|
543
|
+
videos: Array<VideoListItem>;
|
|
544
|
+
/** 超时秒数 */
|
|
357
545
|
timeoutSeconds?: number;
|
|
358
546
|
};
|
|
359
547
|
interface DouyinUserVideoListProps {
|
|
360
548
|
data: UserVideoListData;
|
|
361
549
|
}
|
|
362
550
|
//#endregion
|
|
363
|
-
//#region ../template/src/types/platforms/douyin/videoInfo.d.ts
|
|
364
|
-
/**
|
|
365
|
-
* 抖音视频统计信息接口
|
|
366
|
-
*/
|
|
367
|
-
interface DouyinVideoStatistics {
|
|
368
|
-
/** 点赞数 */
|
|
369
|
-
admire_count: number;
|
|
370
|
-
/** 视频ID */
|
|
371
|
-
aweme_id: string;
|
|
372
|
-
/** 收藏数 */
|
|
373
|
-
collect_count: number;
|
|
374
|
-
/** 评论数 */
|
|
375
|
-
comment_count: number;
|
|
376
|
-
/** 点赞数 */
|
|
377
|
-
digg_count: number;
|
|
378
|
-
/** 播放数 */
|
|
379
|
-
play_count: number;
|
|
380
|
-
/** 推荐数 */
|
|
381
|
-
recommend_count?: number;
|
|
382
|
-
/** 分享数 */
|
|
383
|
-
share_count: number;
|
|
384
|
-
}
|
|
385
|
-
/**
|
|
386
|
-
* 抖音作者信息接口
|
|
387
|
-
*/
|
|
388
|
-
interface DouyinAuthor {
|
|
389
|
-
/** 作者名称 */
|
|
390
|
-
name: string;
|
|
391
|
-
/** 作者头像URL */
|
|
392
|
-
avatar: string;
|
|
393
|
-
/** 抖音号 */
|
|
394
|
-
short_id: string;
|
|
395
|
-
}
|
|
396
|
-
/**
|
|
397
|
-
* 抖音用户主页扩展信息接口
|
|
398
|
-
*/
|
|
399
|
-
interface DouyinUserProfile {
|
|
400
|
-
/** IP属地 */
|
|
401
|
-
ip_location: string;
|
|
402
|
-
/** 粉丝数 */
|
|
403
|
-
follower_count: number;
|
|
404
|
-
/** 获赞数 */
|
|
405
|
-
total_favorited: number;
|
|
406
|
-
/** 作品数 */
|
|
407
|
-
aweme_count: number;
|
|
408
|
-
/** 性别 1:男 2:女 0:未知 */
|
|
409
|
-
gender: number;
|
|
410
|
-
/** 年龄 */
|
|
411
|
-
user_age: number;
|
|
412
|
-
}
|
|
413
|
-
/**
|
|
414
|
-
* 抖音视频信息数据接口
|
|
415
|
-
*/
|
|
416
|
-
interface DouyinVideoInfoData {
|
|
417
|
-
/** 视频描述 */
|
|
418
|
-
desc: string;
|
|
419
|
-
/** 统计信息 */
|
|
420
|
-
statistics: DouyinVideoStatistics;
|
|
421
|
-
/** 视频ID */
|
|
422
|
-
aweme_id: string;
|
|
423
|
-
/** 作者信息 */
|
|
424
|
-
author: DouyinAuthor;
|
|
425
|
-
/** 用户主页扩展信息 */
|
|
426
|
-
user_profile?: DouyinUserProfile;
|
|
427
|
-
/** 视频封面图片URL */
|
|
428
|
-
image_url: string;
|
|
429
|
-
/** 封面图片尺寸 */
|
|
430
|
-
cover_size?: {
|
|
431
|
-
width: number;
|
|
432
|
-
height: number;
|
|
433
|
-
};
|
|
434
|
-
/** 创建时间戳 */
|
|
435
|
-
create_time: number;
|
|
436
|
-
/** 音乐信息 */
|
|
437
|
-
music?: {
|
|
438
|
-
author: string;
|
|
439
|
-
title: string;
|
|
440
|
-
cover: string;
|
|
441
|
-
};
|
|
442
|
-
/** 视频原始信息 */
|
|
443
|
-
video?: {
|
|
444
|
-
duration: number;
|
|
445
|
-
width: number;
|
|
446
|
-
height: number;
|
|
447
|
-
ratio: string;
|
|
448
|
-
};
|
|
449
|
-
/** 是否使用深色主题 */
|
|
450
|
-
useDarkTheme?: boolean;
|
|
451
|
-
}
|
|
452
|
-
/**
|
|
453
|
-
* 抖音视频信息组件属性接口
|
|
454
|
-
*/
|
|
455
|
-
interface DouyinVideoInfoProps {
|
|
456
|
-
/** 视频数据 */
|
|
457
|
-
data: DouyinVideoInfoData;
|
|
458
|
-
}
|
|
459
|
-
//#endregion
|
|
460
551
|
//#region ../template/src/types/platforms/douyin/videoWork.d.ts
|
|
461
552
|
/**
|
|
462
553
|
* 抖音视频作品组件属性接口
|
|
463
554
|
*/
|
|
464
555
|
interface DouyinVideoWorkProps extends BaseComponentProps<{
|
|
465
|
-
/** 视频封面URL */
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
556
|
+
/** 视频封面URL */
|
|
557
|
+
image_url: string;
|
|
558
|
+
/** 标题(视频作品主文案,含有效 @ 用户与 topic 节点) */
|
|
559
|
+
title?: RichTextDocument;
|
|
560
|
+
/** 描述内容(视频作品通常为空文档) */
|
|
561
|
+
desc: RichTextDocument;
|
|
562
|
+
/** IP 属地 */
|
|
563
|
+
ip_location?: string;
|
|
564
|
+
/** 热点搜索词 */
|
|
469
565
|
suggest_word?: {
|
|
470
566
|
hint_text: string;
|
|
471
567
|
word: string;
|
|
472
|
-
};
|
|
568
|
+
};
|
|
569
|
+
/** 背景音乐信息 */
|
|
473
570
|
music?: {
|
|
474
|
-
/** 音乐作者 */
|
|
475
|
-
|
|
571
|
+
/** 音乐作者 */
|
|
572
|
+
author: string;
|
|
573
|
+
/** 音乐标题 */
|
|
574
|
+
title: string;
|
|
575
|
+
/** 音乐封面 URL */
|
|
476
576
|
cover?: string;
|
|
477
|
-
};
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
577
|
+
};
|
|
578
|
+
/** 视频时长(毫秒) */
|
|
579
|
+
duration?: number;
|
|
580
|
+
/** 点赞数 */
|
|
581
|
+
dianzan: string;
|
|
582
|
+
/** 评论数 */
|
|
583
|
+
pinglun: string;
|
|
584
|
+
/** 收藏数 */
|
|
585
|
+
shouchang: string;
|
|
586
|
+
/** 分享数 */
|
|
587
|
+
share: string;
|
|
588
|
+
/** 创建时间(Unix 时间戳,秒) */
|
|
589
|
+
create_time: number;
|
|
590
|
+
/** 用户头像URL */
|
|
591
|
+
avater_url: string;
|
|
592
|
+
/** 用户名 */
|
|
593
|
+
username: string;
|
|
594
|
+
/** 抖音号 */
|
|
595
|
+
抖音号: string;
|
|
596
|
+
/** 获赞数 */
|
|
597
|
+
获赞: string;
|
|
598
|
+
/** 关注数 */
|
|
599
|
+
关注: string;
|
|
600
|
+
/** 粉丝数 */
|
|
601
|
+
粉丝: string;
|
|
602
|
+
/** 分享链接 */
|
|
603
|
+
share_url: string;
|
|
604
|
+
/** 动态类型 */
|
|
605
|
+
dynamicTYPE?: string;
|
|
606
|
+
/** 合作信息 */
|
|
492
607
|
cooperation_info?: {
|
|
493
608
|
co_creator_nums: number;
|
|
494
609
|
co_creators: Array<{
|
|
@@ -503,7 +618,8 @@ interface DouyinVideoWorkProps extends BaseComponentProps<{
|
|
|
503
618
|
//#region ../template/src/types/platforms/douyin/index.d.ts
|
|
504
619
|
/** 抖音二维码登录组件属性 */
|
|
505
620
|
interface DouyinQrcodeImgProps extends BaseComponentProps<{
|
|
506
|
-
/** 分享链接(用于生成自定义二维码) */
|
|
621
|
+
/** 分享链接(用于生成自定义二维码) */
|
|
622
|
+
share_url?: string;
|
|
507
623
|
}> {
|
|
508
624
|
/** 是否使用深色主题 */
|
|
509
625
|
useDarkTheme?: boolean;
|
|
@@ -678,14 +794,23 @@ interface BilibiliBangumiProps extends BaseComponentProps<BangumiBilibiliData> {
|
|
|
678
794
|
* B站评论组件属性接口
|
|
679
795
|
*/
|
|
680
796
|
interface BilibiliCommentProps extends BaseComponentProps<{
|
|
681
|
-
/** 作品类型:视频/图集/动态 */
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
797
|
+
/** 作品类型:视频/图集/动态 */
|
|
798
|
+
Type: '视频' | '动态';
|
|
799
|
+
/** 评论数量 */
|
|
800
|
+
CommentLength: string;
|
|
801
|
+
/** 视频大小(MB) */
|
|
802
|
+
VideoSize?: string;
|
|
803
|
+
/** 视频画质 */
|
|
804
|
+
Clarity?: string;
|
|
805
|
+
/** 图片数量 */
|
|
806
|
+
ImageLength?: number;
|
|
807
|
+
/** 分享链接 */
|
|
808
|
+
shareurl: string;
|
|
809
|
+
/** 分享URL */
|
|
810
|
+
share_url: string;
|
|
811
|
+
/** 视频分辨率 */
|
|
812
|
+
Resolution: string | null;
|
|
813
|
+
/** 评论数据 */
|
|
689
814
|
CommentsData: CommentItem[];
|
|
690
815
|
}> {}
|
|
691
816
|
/**
|
|
@@ -885,12 +1010,17 @@ interface BilibiliDynamicBaseData {
|
|
|
885
1010
|
* B站普通动态组件属性接口
|
|
886
1011
|
*/
|
|
887
1012
|
interface BilibiliDynamicProps extends BaseComponentProps<BilibiliDynamicBaseData & {
|
|
888
|
-
/** 图文动态标题 */
|
|
889
|
-
|
|
1013
|
+
/** 图文动态标题 */
|
|
1014
|
+
title?: string;
|
|
1015
|
+
/** 动态文本内容(富文本文档) */
|
|
1016
|
+
text: RichTextDocument | null;
|
|
1017
|
+
/** 图片URL数组 */
|
|
890
1018
|
image_url: Array<{
|
|
891
1019
|
image_src: string;
|
|
892
|
-
}>;
|
|
893
|
-
|
|
1020
|
+
}>;
|
|
1021
|
+
/** 图片布局方式 */
|
|
1022
|
+
imageLayout: string;
|
|
1023
|
+
/** 相关内容卡片 */
|
|
894
1024
|
additional?: BilibiliAdditionalData;
|
|
895
1025
|
}> {}
|
|
896
1026
|
/**
|
|
@@ -972,7 +1102,9 @@ interface BilibiliAdditionalData {
|
|
|
972
1102
|
* B站纯文动态组件属性接口
|
|
973
1103
|
*/
|
|
974
1104
|
interface BilibiliWordDynamicProps extends BaseComponentProps<BilibiliDynamicBaseData & {
|
|
975
|
-
/** 动态文本内容(富文本文档) */
|
|
1105
|
+
/** 动态文本内容(富文本文档) */
|
|
1106
|
+
text: RichTextDocument | null;
|
|
1107
|
+
/** 相关内容卡片 */
|
|
976
1108
|
additional?: BilibiliAdditionalData;
|
|
977
1109
|
}> {}
|
|
978
1110
|
//#endregion
|
|
@@ -981,36 +1113,62 @@ interface BilibiliWordDynamicProps extends BaseComponentProps<BilibiliDynamicBas
|
|
|
981
1113
|
* B站专栏动态组件属性接口
|
|
982
1114
|
*/
|
|
983
1115
|
interface BilibiliArticleDynamicProps extends BaseComponentProps<{
|
|
984
|
-
/** 用户头像URL */
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
1116
|
+
/** 用户头像URL */
|
|
1117
|
+
avatar_url: string;
|
|
1118
|
+
/** 头像框 */
|
|
1119
|
+
frame?: string;
|
|
1120
|
+
/** 用户名元数据 */
|
|
1121
|
+
usernameMeta: UsernameMetadata;
|
|
1122
|
+
/** 动态创建时间 */
|
|
1123
|
+
create_time: string;
|
|
1124
|
+
/** 装饰卡片 */
|
|
1125
|
+
decoration_card?: DecorationCardData;
|
|
1126
|
+
/** 专栏标题 */
|
|
1127
|
+
title: string;
|
|
1128
|
+
/** 专栏摘要 */
|
|
1129
|
+
summary: string;
|
|
1130
|
+
/** 专栏封面图片URL */
|
|
1131
|
+
banner_url?: string;
|
|
1132
|
+
/** 专栏分类 */
|
|
992
1133
|
categories: Array<{
|
|
993
1134
|
id: number;
|
|
994
1135
|
name: string;
|
|
995
1136
|
parent_id: number;
|
|
996
|
-
}>;
|
|
997
|
-
|
|
1137
|
+
}>;
|
|
1138
|
+
/** 专栏字数 */
|
|
1139
|
+
words: number;
|
|
1140
|
+
/** 专栏统计数据 */
|
|
998
1141
|
stats: {
|
|
999
|
-
/** 阅读数 */
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1142
|
+
/** 阅读数 */
|
|
1143
|
+
view: number;
|
|
1144
|
+
/** 点赞数 */
|
|
1145
|
+
like: number;
|
|
1146
|
+
/** 收藏数 */
|
|
1147
|
+
favorite: number;
|
|
1148
|
+
/** 评论数 */
|
|
1149
|
+
reply: number;
|
|
1150
|
+
/** 分享数 */
|
|
1151
|
+
share: number;
|
|
1152
|
+
/** 投币数 */
|
|
1153
|
+
coin: number;
|
|
1154
|
+
/** 转发动态 */
|
|
1005
1155
|
dynamic: number;
|
|
1006
|
-
};
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1156
|
+
};
|
|
1157
|
+
/** 专栏正文(richtext 格式) */
|
|
1158
|
+
body: RichTextDocument;
|
|
1159
|
+
/** 渲染时间 */
|
|
1160
|
+
render_time: string;
|
|
1161
|
+
/** 动态类型 */
|
|
1162
|
+
dynamicTYPE: string;
|
|
1163
|
+
/** 分享链接 */
|
|
1164
|
+
share_url: string;
|
|
1165
|
+
/** 用户短ID */
|
|
1166
|
+
user_shortid: string | number;
|
|
1167
|
+
/** 获赞总数 */
|
|
1168
|
+
total_favorited: string | number;
|
|
1169
|
+
/** 关注数 */
|
|
1170
|
+
following_count: string | number;
|
|
1171
|
+
/** 粉丝数 */
|
|
1014
1172
|
fans: string | number;
|
|
1015
1173
|
}> {}
|
|
1016
1174
|
//#endregion
|
|
@@ -1115,9 +1273,13 @@ interface OriginalContentLiveRcmd {
|
|
|
1115
1273
|
interface BilibiliForwardOriginalContentProps {
|
|
1116
1274
|
/** 原始内容 */
|
|
1117
1275
|
original_content: {
|
|
1118
|
-
/** AV类型内容 */
|
|
1119
|
-
|
|
1120
|
-
|
|
1276
|
+
/** AV类型内容 */
|
|
1277
|
+
DYNAMIC_TYPE_AV?: OriginalContentAV;
|
|
1278
|
+
/** 图文类型内容 */
|
|
1279
|
+
DYNAMIC_TYPE_DRAW?: OriginalContentDraw;
|
|
1280
|
+
/** 文字类型内容 */
|
|
1281
|
+
DYNAMIC_TYPE_WORD?: OriginalContentWord;
|
|
1282
|
+
/** 直播推荐类型内容 */
|
|
1121
1283
|
DYNAMIC_TYPE_LIVE_RCMD?: OriginalContentLiveRcmd;
|
|
1122
1284
|
};
|
|
1123
1285
|
}
|
|
@@ -1125,8 +1287,11 @@ interface BilibiliForwardOriginalContentProps {
|
|
|
1125
1287
|
* B站转发动态组件属性接口
|
|
1126
1288
|
*/
|
|
1127
1289
|
interface BilibiliForwardDynamicProps extends BaseComponentProps<BilibiliDynamicBaseData & {
|
|
1128
|
-
/** 动态文本内容(富文本文档) */
|
|
1129
|
-
|
|
1290
|
+
/** 动态文本内容(富文本文档) */
|
|
1291
|
+
text: RichTextDocument;
|
|
1292
|
+
/** 原始内容 */
|
|
1293
|
+
original_content: BilibiliForwardOriginalContentProps['original_content'];
|
|
1294
|
+
/** 图片URL */
|
|
1130
1295
|
imgList: string[] | null;
|
|
1131
1296
|
}> {}
|
|
1132
1297
|
//#endregion
|
|
@@ -1148,16 +1313,27 @@ interface BilibiliPosterPalettes {
|
|
|
1148
1313
|
* B站直播动态组件属性接口
|
|
1149
1314
|
*/
|
|
1150
1315
|
interface BilibiliLiveDynamicProps extends BaseComponentProps<{
|
|
1151
|
-
/** 直播封面 */
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1316
|
+
/** 直播封面 */
|
|
1317
|
+
image_url: string;
|
|
1318
|
+
/** 直播标题 */
|
|
1319
|
+
text: RichTextDocument;
|
|
1320
|
+
/** 直播房间信息(分区 | 房间号) */
|
|
1321
|
+
liveinf: string;
|
|
1322
|
+
/** 用户名元数据 */
|
|
1323
|
+
usernameMeta: UsernameMetadata;
|
|
1324
|
+
/** 用户头像URL */
|
|
1325
|
+
avatar_url: string;
|
|
1326
|
+
/** 头像框 */
|
|
1327
|
+
frame?: string;
|
|
1328
|
+
/** 粉丝数 */
|
|
1329
|
+
fans: string;
|
|
1330
|
+
/** 时间信息 */
|
|
1331
|
+
create_time: string;
|
|
1332
|
+
/** 直播开始时间 */
|
|
1333
|
+
now_time: string;
|
|
1334
|
+
/** 分享和配置 */
|
|
1335
|
+
share_url: string;
|
|
1336
|
+
/** 动态类型 */
|
|
1161
1337
|
dynamicTYPE: string;
|
|
1162
1338
|
}> {
|
|
1163
1339
|
/** 服务端预计算的海报色板(亮色/深色) */
|
|
@@ -1171,19 +1347,33 @@ interface BilibiliLiveDynamicProps extends BaseComponentProps<{
|
|
|
1171
1347
|
* B站视频动态组件属性接口
|
|
1172
1348
|
*/
|
|
1173
1349
|
interface BilibiliVideoDynamicProps extends BaseComponentProps<BilibiliDynamicBaseData & {
|
|
1174
|
-
/** 视频标题 */
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1350
|
+
/** 视频标题 */
|
|
1351
|
+
text: RichTextDocument;
|
|
1352
|
+
/** 视频描述 */
|
|
1353
|
+
desc: RichTextDocument;
|
|
1354
|
+
/** 动态正文(富文本文档) */
|
|
1355
|
+
dynamic_text: RichTextDocument | null;
|
|
1356
|
+
/** 视频封面图片URL */
|
|
1357
|
+
image_url: string;
|
|
1358
|
+
/** 硬币数 */
|
|
1359
|
+
coin: string | number;
|
|
1360
|
+
/** 浏览量 */
|
|
1361
|
+
view: string | number;
|
|
1362
|
+
/** 视频时长 */
|
|
1363
|
+
duration_text: string;
|
|
1364
|
+
/** 视频分P数量 */
|
|
1365
|
+
page_length: number;
|
|
1366
|
+
/** 共创者列表 (可选) */
|
|
1182
1367
|
staff?: Array<{
|
|
1183
|
-
/** 用户ID */
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1368
|
+
/** 用户ID */
|
|
1369
|
+
mid: number;
|
|
1370
|
+
/** 职位标题 (UP主/参演) */
|
|
1371
|
+
title: string;
|
|
1372
|
+
/** 用户名 */
|
|
1373
|
+
name: string;
|
|
1374
|
+
/** 头像URL */
|
|
1375
|
+
face: string;
|
|
1376
|
+
/** 粉丝数 */
|
|
1187
1377
|
follower: number;
|
|
1188
1378
|
}>;
|
|
1189
1379
|
}> {}
|
|
@@ -1193,19 +1383,32 @@ interface BilibiliVideoDynamicProps extends BaseComponentProps<BilibiliDynamicBa
|
|
|
1193
1383
|
* B站用户列表组件属性接口
|
|
1194
1384
|
*/
|
|
1195
1385
|
interface BilibiliUserListProps extends BaseComponentProps<{
|
|
1196
|
-
/** 群组信息 */
|
|
1197
|
-
|
|
1198
|
-
|
|
1386
|
+
/** 群组信息 */
|
|
1387
|
+
groupInfo: {
|
|
1388
|
+
/** 群号 */
|
|
1389
|
+
groupId: string;
|
|
1390
|
+
/** 群名称 */
|
|
1391
|
+
groupName: string;
|
|
1392
|
+
/** 群头像 */
|
|
1199
1393
|
groupAvatar: string;
|
|
1200
|
-
};
|
|
1394
|
+
};
|
|
1395
|
+
/** 用户列表数据 */
|
|
1201
1396
|
renderOpt: {
|
|
1202
|
-
/** 用户头像图片URL */
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1397
|
+
/** 用户头像图片URL */
|
|
1398
|
+
avatar_img: string;
|
|
1399
|
+
/** 用户名 */
|
|
1400
|
+
username: string;
|
|
1401
|
+
/** 用户UID */
|
|
1402
|
+
host_mid: string;
|
|
1403
|
+
/** 粉丝数 */
|
|
1404
|
+
fans: string;
|
|
1405
|
+
/** 获赞总数 */
|
|
1406
|
+
total_favorited: string;
|
|
1407
|
+
/** 关注数 */
|
|
1408
|
+
following_count: string;
|
|
1409
|
+
/** 全局推送开关状态 */
|
|
1410
|
+
switch: boolean;
|
|
1411
|
+
/** 推送类型列表 */
|
|
1209
1412
|
pushTypes?: ('video' | 'draw' | 'word' | 'live' | 'forward' | 'article')[];
|
|
1210
1413
|
}[];
|
|
1211
1414
|
}> {}
|
|
@@ -1297,7 +1500,8 @@ interface BilibiliVideoInfoProps extends BaseComponentProps<BilibiliVideoInfoDat
|
|
|
1297
1500
|
//#region ../template/src/types/platforms/bilibili/index.d.ts
|
|
1298
1501
|
/** B站二维码登录组件属性 */
|
|
1299
1502
|
interface BilibiliQrcodeImgProps extends BaseComponentProps<{
|
|
1300
|
-
/** 分享链接 */
|
|
1503
|
+
/** 分享链接 */
|
|
1504
|
+
share_url: string;
|
|
1301
1505
|
}> {}
|
|
1302
1506
|
//#endregion
|
|
1303
1507
|
//#region ../template/src/types/platforms/kuaishou/comment.d.ts
|
|
@@ -1305,13 +1509,21 @@ interface BilibiliQrcodeImgProps extends BaseComponentProps<{
|
|
|
1305
1509
|
* 快手评论组件属性接口
|
|
1306
1510
|
*/
|
|
1307
1511
|
interface KuaishouCommentProps extends BaseComponentProps<{
|
|
1308
|
-
/** 作品类型:视频/图集 */
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1512
|
+
/** 作品类型:视频/图集 */
|
|
1513
|
+
Type: '视频' | '图集';
|
|
1514
|
+
/** 评论数量 */
|
|
1515
|
+
CommentLength: number;
|
|
1516
|
+
/** 视频大小(MB) */
|
|
1517
|
+
VideoSize?: string;
|
|
1518
|
+
/** 点赞数量 */
|
|
1519
|
+
likeCount?: number;
|
|
1520
|
+
/** 观看次数 */
|
|
1521
|
+
viewCount?: number;
|
|
1522
|
+
/** 图片数量 */
|
|
1523
|
+
ImageLength?: number;
|
|
1524
|
+
/** 分享链接 */
|
|
1525
|
+
share_url: string;
|
|
1526
|
+
/** 评论数据 */
|
|
1315
1527
|
CommentsData: KuaishouCommentItem[];
|
|
1316
1528
|
}> {}
|
|
1317
1529
|
/**
|
|
@@ -1347,10 +1559,15 @@ interface KuaishouCommentItem {
|
|
|
1347
1559
|
* 小红书评论组件属性接口
|
|
1348
1560
|
*/
|
|
1349
1561
|
interface XiaohongshuCommentProps extends BaseComponentProps<{
|
|
1350
|
-
/** 笔记类型:图文/视频 */
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1562
|
+
/** 笔记类型:图文/视频 */
|
|
1563
|
+
Type: '图文' | '视频';
|
|
1564
|
+
/** 评论数量 */
|
|
1565
|
+
CommentLength: number;
|
|
1566
|
+
/** 图片数量 */
|
|
1567
|
+
ImageLength?: number;
|
|
1568
|
+
/** 分享链接 */
|
|
1569
|
+
share_url: string;
|
|
1570
|
+
/** 评论数据 - 简化为直接的评论数组 */
|
|
1354
1571
|
CommentsData: XiaohongshuCommentItem[];
|
|
1355
1572
|
}> {}
|
|
1356
1573
|
/**
|
|
@@ -1511,9 +1728,13 @@ interface XiaohongshuNoteInfoProps extends BaseComponentProps<XiaohongshuNoteInf
|
|
|
1511
1728
|
* 帮助页面组件属性接口
|
|
1512
1729
|
*/
|
|
1513
1730
|
interface HelpProps extends BaseComponentProps<{
|
|
1514
|
-
/** 页面标题 */
|
|
1515
|
-
|
|
1516
|
-
|
|
1731
|
+
/** 页面标题 */
|
|
1732
|
+
title?: string;
|
|
1733
|
+
/** 角色:主人/普通 */
|
|
1734
|
+
role?: 'master' | 'member';
|
|
1735
|
+
/** 菜单数据:按角色筛选后的分组 */
|
|
1736
|
+
menu?: MenuGroup[];
|
|
1737
|
+
/** 简单的列表数据 (用于 Help.tsx 渲染) */
|
|
1517
1738
|
list: {
|
|
1518
1739
|
title: string;
|
|
1519
1740
|
description: string;
|
|
@@ -1543,273 +1764,13 @@ interface MenuGroup {
|
|
|
1543
1764
|
items: MenuItem[];
|
|
1544
1765
|
/** 子分组(可选) */
|
|
1545
1766
|
subGroups?: {
|
|
1546
|
-
/** 子分组标题 */
|
|
1767
|
+
/** 子分组标题 */
|
|
1768
|
+
title: string;
|
|
1769
|
+
/** 子分组菜单项 */
|
|
1547
1770
|
items: MenuItem[];
|
|
1548
1771
|
}[];
|
|
1549
1772
|
}
|
|
1550
1773
|
//#endregion
|
|
1551
|
-
//#region ../../node_modules/.pnpm/@karinjs+ws@1.0.4/node_modules/@karinjs/ws/dist/index.d.ts
|
|
1552
|
-
// can not get all overload of BufferConstructor['from'], need to copy all it's first arguments here
|
|
1553
|
-
// https://github.com/microsoft/TypeScript/issues/32164
|
|
1554
|
-
type BufferLike = string | Buffer | DataView | number | ArrayBufferView | Uint8Array | ArrayBuffer | SharedArrayBuffer | Blob | readonly any[] | readonly number[] | {
|
|
1555
|
-
valueOf(): ArrayBuffer;
|
|
1556
|
-
} | {
|
|
1557
|
-
valueOf(): SharedArrayBuffer;
|
|
1558
|
-
} | {
|
|
1559
|
-
valueOf(): Uint8Array;
|
|
1560
|
-
} | {
|
|
1561
|
-
valueOf(): readonly number[];
|
|
1562
|
-
} | {
|
|
1563
|
-
valueOf(): string;
|
|
1564
|
-
} | {
|
|
1565
|
-
[Symbol.toPrimitive](hint: string): string;
|
|
1566
|
-
}; // WebSocket socket.
|
|
1567
|
-
declare class WebSocket extends EventEmitter$2 {
|
|
1568
|
-
/** The connection is not yet open. */
|
|
1569
|
-
static readonly CONNECTING: 0;
|
|
1570
|
-
/** The connection is open and ready to communicate. */
|
|
1571
|
-
static readonly OPEN: 1;
|
|
1572
|
-
/** The connection is in the process of closing. */
|
|
1573
|
-
static readonly CLOSING: 2;
|
|
1574
|
-
/** The connection is closed. */
|
|
1575
|
-
static readonly CLOSED: 3;
|
|
1576
|
-
binaryType: "nodebuffer" | "arraybuffer" | "fragments";
|
|
1577
|
-
readonly bufferedAmount: number;
|
|
1578
|
-
readonly extensions: string;
|
|
1579
|
-
/** Indicates whether the websocket is paused */
|
|
1580
|
-
readonly isPaused: boolean;
|
|
1581
|
-
readonly protocol: string;
|
|
1582
|
-
/** The current state of the connection */
|
|
1583
|
-
readonly readyState: typeof WebSocket.CONNECTING | typeof WebSocket.OPEN | typeof WebSocket.CLOSING | typeof WebSocket.CLOSED;
|
|
1584
|
-
readonly url: string;
|
|
1585
|
-
/** The connection is not yet open. */
|
|
1586
|
-
readonly CONNECTING: 0;
|
|
1587
|
-
/** The connection is open and ready to communicate. */
|
|
1588
|
-
readonly OPEN: 1;
|
|
1589
|
-
/** The connection is in the process of closing. */
|
|
1590
|
-
readonly CLOSING: 2;
|
|
1591
|
-
/** The connection is closed. */
|
|
1592
|
-
readonly CLOSED: 3;
|
|
1593
|
-
onopen: ((event: WebSocket.Event) => void) | null;
|
|
1594
|
-
onerror: ((event: WebSocket.ErrorEvent) => void) | null;
|
|
1595
|
-
onclose: ((event: WebSocket.CloseEvent) => void) | null;
|
|
1596
|
-
onmessage: ((event: WebSocket.MessageEvent) => void) | null;
|
|
1597
|
-
constructor(address: null);
|
|
1598
|
-
constructor(address: string | URL, options?: WebSocket.ClientOptions | ClientRequestArgs);
|
|
1599
|
-
constructor(address: string | URL, protocols?: string | string[], options?: WebSocket.ClientOptions | ClientRequestArgs);
|
|
1600
|
-
close(code?: number, data?: string | Buffer): void;
|
|
1601
|
-
ping(data?: any, mask?: boolean, cb?: (err: Error) => void): void;
|
|
1602
|
-
pong(data?: any, mask?: boolean, cb?: (err: Error) => void): void; // https://github.com/websockets/ws/issues/2076#issuecomment-1250354722
|
|
1603
|
-
send(data: BufferLike, cb?: (err?: Error) => void): void;
|
|
1604
|
-
send(data: BufferLike, options: {
|
|
1605
|
-
mask?: boolean | undefined;
|
|
1606
|
-
binary?: boolean | undefined;
|
|
1607
|
-
compress?: boolean | undefined;
|
|
1608
|
-
fin?: boolean | undefined;
|
|
1609
|
-
}, cb?: (err?: Error) => void): void;
|
|
1610
|
-
terminate(): void;
|
|
1611
|
-
/**
|
|
1612
|
-
* Pause the websocket causing it to stop emitting events. Some events can still be
|
|
1613
|
-
* emitted after this is called, until all buffered data is consumed. This method
|
|
1614
|
-
* is a noop if the ready state is `CONNECTING` or `CLOSED`.
|
|
1615
|
-
*/
|
|
1616
|
-
pause(): void;
|
|
1617
|
-
/**
|
|
1618
|
-
* Make a paused socket resume emitting events. This method is a noop if the ready
|
|
1619
|
-
* state is `CONNECTING` or `CLOSED`.
|
|
1620
|
-
*/
|
|
1621
|
-
resume(): void; // HTML5 WebSocket events
|
|
1622
|
-
addEventListener<K extends keyof WebSocket.WebSocketEventMap>(type: K, listener: ((event: WebSocket.WebSocketEventMap[K]) => void) | {
|
|
1623
|
-
handleEvent(event: WebSocket.WebSocketEventMap[K]): void;
|
|
1624
|
-
}, options?: WebSocket.EventListenerOptions): void;
|
|
1625
|
-
removeEventListener<K extends keyof WebSocket.WebSocketEventMap>(type: K, listener: ((event: WebSocket.WebSocketEventMap[K]) => void) | {
|
|
1626
|
-
handleEvent(event: WebSocket.WebSocketEventMap[K]): void;
|
|
1627
|
-
}): void; // Events
|
|
1628
|
-
on(event: "close", listener: (this: WebSocket, code: number, reason: Buffer) => void): this;
|
|
1629
|
-
on(event: "error", listener: (this: WebSocket, error: Error) => void): this;
|
|
1630
|
-
on(event: "upgrade", listener: (this: WebSocket, request: IncomingMessage) => void): this;
|
|
1631
|
-
on(event: "message", listener: (this: WebSocket, data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1632
|
-
on(event: "open", listener: (this: WebSocket) => void): this;
|
|
1633
|
-
on(event: "ping" | "pong", listener: (this: WebSocket, data: Buffer) => void): this;
|
|
1634
|
-
on(event: "redirect", listener: (this: WebSocket, url: string, request: ClientRequest) => void): this;
|
|
1635
|
-
on(event: "unexpected-response", listener: (this: WebSocket, request: ClientRequest, response: IncomingMessage) => void): this;
|
|
1636
|
-
on(event: string | symbol, listener: (this: WebSocket, ...args: any[]) => void): this;
|
|
1637
|
-
once(event: "close", listener: (this: WebSocket, code: number, reason: Buffer) => void): this;
|
|
1638
|
-
once(event: "error", listener: (this: WebSocket, error: Error) => void): this;
|
|
1639
|
-
once(event: "upgrade", listener: (this: WebSocket, request: IncomingMessage) => void): this;
|
|
1640
|
-
once(event: "message", listener: (this: WebSocket, data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1641
|
-
once(event: "open", listener: (this: WebSocket) => void): this;
|
|
1642
|
-
once(event: "ping" | "pong", listener: (this: WebSocket, data: Buffer) => void): this;
|
|
1643
|
-
once(event: "redirect", listener: (this: WebSocket, url: string, request: ClientRequest) => void): this;
|
|
1644
|
-
once(event: "unexpected-response", listener: (this: WebSocket, request: ClientRequest, response: IncomingMessage) => void): this;
|
|
1645
|
-
once(event: string | symbol, listener: (this: WebSocket, ...args: any[]) => void): this;
|
|
1646
|
-
off(event: "close", listener: (this: WebSocket, code: number, reason: Buffer) => void): this;
|
|
1647
|
-
off(event: "error", listener: (this: WebSocket, error: Error) => void): this;
|
|
1648
|
-
off(event: "upgrade", listener: (this: WebSocket, request: IncomingMessage) => void): this;
|
|
1649
|
-
off(event: "message", listener: (this: WebSocket, data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1650
|
-
off(event: "open", listener: (this: WebSocket) => void): this;
|
|
1651
|
-
off(event: "ping" | "pong", listener: (this: WebSocket, data: Buffer) => void): this;
|
|
1652
|
-
off(event: "redirect", listener: (this: WebSocket, url: string, request: ClientRequest) => void): this;
|
|
1653
|
-
off(event: "unexpected-response", listener: (this: WebSocket, request: ClientRequest, response: IncomingMessage) => void): this;
|
|
1654
|
-
off(event: string | symbol, listener: (this: WebSocket, ...args: any[]) => void): this;
|
|
1655
|
-
addListener(event: "close", listener: (code: number, reason: Buffer) => void): this;
|
|
1656
|
-
addListener(event: "error", listener: (error: Error) => void): this;
|
|
1657
|
-
addListener(event: "upgrade", listener: (request: IncomingMessage) => void): this;
|
|
1658
|
-
addListener(event: "message", listener: (data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1659
|
-
addListener(event: "open", listener: () => void): this;
|
|
1660
|
-
addListener(event: "ping" | "pong", listener: (data: Buffer) => void): this;
|
|
1661
|
-
addListener(event: "redirect", listener: (url: string, request: ClientRequest) => void): this;
|
|
1662
|
-
addListener(event: "unexpected-response", listener: (request: ClientRequest, response: IncomingMessage) => void): this;
|
|
1663
|
-
addListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
1664
|
-
removeListener(event: "close", listener: (code: number, reason: Buffer) => void): this;
|
|
1665
|
-
removeListener(event: "error", listener: (error: Error) => void): this;
|
|
1666
|
-
removeListener(event: "upgrade", listener: (request: IncomingMessage) => void): this;
|
|
1667
|
-
removeListener(event: "message", listener: (data: WebSocket.RawData, isBinary: boolean) => void): this;
|
|
1668
|
-
removeListener(event: "open", listener: () => void): this;
|
|
1669
|
-
removeListener(event: "ping" | "pong", listener: (data: Buffer) => void): this;
|
|
1670
|
-
removeListener(event: "redirect", listener: (url: string, request: ClientRequest) => void): this;
|
|
1671
|
-
removeListener(event: "unexpected-response", listener: (request: ClientRequest, response: IncomingMessage) => void): this;
|
|
1672
|
-
removeListener(event: string | symbol, listener: (...args: any[]) => void): this;
|
|
1673
|
-
}
|
|
1674
|
-
declare namespace WebSocket {
|
|
1675
|
-
/**
|
|
1676
|
-
* Data represents the raw message payload received over the WebSocket.
|
|
1677
|
-
*/
|
|
1678
|
-
type RawData = Buffer | ArrayBuffer | Buffer[];
|
|
1679
|
-
/**
|
|
1680
|
-
* Data represents the message payload received over the WebSocket.
|
|
1681
|
-
*/
|
|
1682
|
-
type Data = string | Buffer | ArrayBuffer | Buffer[];
|
|
1683
|
-
/**
|
|
1684
|
-
* CertMeta represents the accepted types for certificate & key data.
|
|
1685
|
-
*/
|
|
1686
|
-
type CertMeta = string | string[] | Buffer | Buffer[];
|
|
1687
|
-
/**
|
|
1688
|
-
* VerifyClientCallbackSync is a synchronous callback used to inspect the
|
|
1689
|
-
* incoming message. The return value (boolean) of the function determines
|
|
1690
|
-
* whether or not to accept the handshake.
|
|
1691
|
-
*/
|
|
1692
|
-
type VerifyClientCallbackSync<Request extends IncomingMessage = IncomingMessage> = (info: {
|
|
1693
|
-
origin: string;
|
|
1694
|
-
secure: boolean;
|
|
1695
|
-
req: Request;
|
|
1696
|
-
}) => boolean;
|
|
1697
|
-
/**
|
|
1698
|
-
* VerifyClientCallbackAsync is an asynchronous callback used to inspect the
|
|
1699
|
-
* incoming message. The return value (boolean) of the function determines
|
|
1700
|
-
* whether or not to accept the handshake.
|
|
1701
|
-
*/
|
|
1702
|
-
type VerifyClientCallbackAsync<Request extends IncomingMessage = IncomingMessage> = (info: {
|
|
1703
|
-
origin: string;
|
|
1704
|
-
secure: boolean;
|
|
1705
|
-
req: Request;
|
|
1706
|
-
}, callback: (res: boolean, code?: number, message?: string, headers?: OutgoingHttpHeaders) => void) => void;
|
|
1707
|
-
/**
|
|
1708
|
-
* FinishRequestCallback is a callback for last minute customization of the
|
|
1709
|
-
* headers. If finishRequest is set, then it has the responsibility to call
|
|
1710
|
-
* request.end() once it is done setting request headers.
|
|
1711
|
-
*/
|
|
1712
|
-
type FinishRequestCallback = (request: ClientRequest, websocket: WebSocket) => void;
|
|
1713
|
-
interface ClientOptions extends SecureContextOptions {
|
|
1714
|
-
protocol?: string | undefined;
|
|
1715
|
-
followRedirects?: boolean | undefined;
|
|
1716
|
-
generateMask?(mask: Buffer): void;
|
|
1717
|
-
handshakeTimeout?: number | undefined;
|
|
1718
|
-
maxRedirects?: number | undefined;
|
|
1719
|
-
perMessageDeflate?: boolean | PerMessageDeflateOptions | undefined;
|
|
1720
|
-
localAddress?: string | undefined;
|
|
1721
|
-
protocolVersion?: number | undefined;
|
|
1722
|
-
headers?: {
|
|
1723
|
-
[key: string]: string;
|
|
1724
|
-
} | undefined;
|
|
1725
|
-
origin?: string | undefined;
|
|
1726
|
-
agent?: Agent | undefined;
|
|
1727
|
-
host?: string | undefined;
|
|
1728
|
-
family?: number | undefined;
|
|
1729
|
-
checkServerIdentity?(servername: string, cert: CertMeta): boolean;
|
|
1730
|
-
rejectUnauthorized?: boolean | undefined;
|
|
1731
|
-
allowSynchronousEvents?: boolean | undefined;
|
|
1732
|
-
autoPong?: boolean | undefined;
|
|
1733
|
-
maxPayload?: number | undefined;
|
|
1734
|
-
skipUTF8Validation?: boolean | undefined;
|
|
1735
|
-
createConnection?: typeof createConnection | undefined;
|
|
1736
|
-
finishRequest?: FinishRequestCallback | undefined;
|
|
1737
|
-
}
|
|
1738
|
-
interface PerMessageDeflateOptions {
|
|
1739
|
-
serverNoContextTakeover?: boolean | undefined;
|
|
1740
|
-
clientNoContextTakeover?: boolean | undefined;
|
|
1741
|
-
serverMaxWindowBits?: number | undefined;
|
|
1742
|
-
clientMaxWindowBits?: number | undefined;
|
|
1743
|
-
zlibDeflateOptions?: {
|
|
1744
|
-
flush?: number | undefined;
|
|
1745
|
-
finishFlush?: number | undefined;
|
|
1746
|
-
chunkSize?: number | undefined;
|
|
1747
|
-
windowBits?: number | undefined;
|
|
1748
|
-
level?: number | undefined;
|
|
1749
|
-
memLevel?: number | undefined;
|
|
1750
|
-
strategy?: number | undefined;
|
|
1751
|
-
dictionary?: Buffer | Buffer[] | DataView | undefined;
|
|
1752
|
-
info?: boolean | undefined;
|
|
1753
|
-
} | undefined;
|
|
1754
|
-
zlibInflateOptions?: ZlibOptions | undefined;
|
|
1755
|
-
threshold?: number | undefined;
|
|
1756
|
-
concurrencyLimit?: number | undefined;
|
|
1757
|
-
}
|
|
1758
|
-
interface Event {
|
|
1759
|
-
type: string;
|
|
1760
|
-
target: WebSocket;
|
|
1761
|
-
}
|
|
1762
|
-
interface ErrorEvent {
|
|
1763
|
-
error: any;
|
|
1764
|
-
message: string;
|
|
1765
|
-
type: string;
|
|
1766
|
-
target: WebSocket;
|
|
1767
|
-
}
|
|
1768
|
-
interface CloseEvent {
|
|
1769
|
-
wasClean: boolean;
|
|
1770
|
-
code: number;
|
|
1771
|
-
reason: string;
|
|
1772
|
-
type: string;
|
|
1773
|
-
target: WebSocket;
|
|
1774
|
-
}
|
|
1775
|
-
interface MessageEvent {
|
|
1776
|
-
data: Data;
|
|
1777
|
-
type: string;
|
|
1778
|
-
target: WebSocket;
|
|
1779
|
-
}
|
|
1780
|
-
interface WebSocketEventMap {
|
|
1781
|
-
open: Event;
|
|
1782
|
-
error: ErrorEvent;
|
|
1783
|
-
close: CloseEvent;
|
|
1784
|
-
message: MessageEvent;
|
|
1785
|
-
}
|
|
1786
|
-
interface EventListenerOptions {
|
|
1787
|
-
once?: boolean | undefined;
|
|
1788
|
-
}
|
|
1789
|
-
interface ServerOptions<U extends typeof WebSocket = typeof WebSocket, V extends typeof IncomingMessage = typeof IncomingMessage> {
|
|
1790
|
-
host?: string | undefined;
|
|
1791
|
-
port?: number | undefined;
|
|
1792
|
-
backlog?: number | undefined;
|
|
1793
|
-
server?: Server<V> | Server$1<V> | undefined;
|
|
1794
|
-
verifyClient?: VerifyClientCallbackAsync<InstanceType<V>> | VerifyClientCallbackSync<InstanceType<V>> | undefined;
|
|
1795
|
-
handleProtocols?: (protocols: Set<string>, request: InstanceType<V>) => string | false;
|
|
1796
|
-
path?: string | undefined;
|
|
1797
|
-
noServer?: boolean | undefined;
|
|
1798
|
-
allowSynchronousEvents?: boolean | undefined;
|
|
1799
|
-
autoPong?: boolean | undefined;
|
|
1800
|
-
clientTracking?: boolean | undefined;
|
|
1801
|
-
perMessageDeflate?: boolean | PerMessageDeflateOptions | undefined;
|
|
1802
|
-
maxPayload?: number | undefined;
|
|
1803
|
-
skipUTF8Validation?: boolean | undefined;
|
|
1804
|
-
WebSocket?: U | undefined;
|
|
1805
|
-
}
|
|
1806
|
-
interface AddressInfo {
|
|
1807
|
-
address: string;
|
|
1808
|
-
family: string;
|
|
1809
|
-
port: number;
|
|
1810
|
-
}
|
|
1811
|
-
}
|
|
1812
|
-
//#endregion
|
|
1813
1774
|
//#region ../../node_modules/.pnpm/node-karin@1.16.2/node_modules/node-karin/dist/index.d.ts
|
|
1814
1775
|
//#endregion
|
|
1815
1776
|
//#region src/types/adapter/info.d.ts
|
|
@@ -1893,11 +1854,7 @@ interface AdapterInfo$1 {
|
|
|
1893
1854
|
connectTime: number;
|
|
1894
1855
|
/** 鉴权秘钥 */
|
|
1895
1856
|
secret: string | null;
|
|
1896
|
-
}
|
|
1897
|
-
//#region src/types/event/account.d.ts
|
|
1898
|
-
/**
|
|
1899
|
-
* 适配器账号信息
|
|
1900
|
-
*/
|
|
1857
|
+
}
|
|
1901
1858
|
//#endregion
|
|
1902
1859
|
//#region ../template/src/types/platforms/other/handlerError.d.ts
|
|
1903
1860
|
/**
|
|
@@ -1938,20 +1895,35 @@ type AdapterInfo = Omit<AdapterInfo$1, 'index' | 'secret' | 'connectTime' | 'add
|
|
|
1938
1895
|
* API错误组件属性接口
|
|
1939
1896
|
*/
|
|
1940
1897
|
interface ApiErrorProps extends BaseComponentProps<{
|
|
1941
|
-
/** 错误类型 */
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1898
|
+
/** 错误类型 */
|
|
1899
|
+
type: 'business_error';
|
|
1900
|
+
/** 平台名称 */
|
|
1901
|
+
platform: 'douyin' | 'bilibili' | 'kuaishou' | 'system' | 'unknown';
|
|
1902
|
+
/** 错误信息 */
|
|
1903
|
+
error: BusinessError;
|
|
1904
|
+
/** 调用的方法名 */
|
|
1905
|
+
method: string;
|
|
1906
|
+
/** 错误发生时间 */
|
|
1907
|
+
timestamp: string;
|
|
1908
|
+
/** 收集到的日志信息 */
|
|
1909
|
+
logs?: LogEntry[];
|
|
1910
|
+
/** 触发命令 */
|
|
1911
|
+
triggerCommand?: string;
|
|
1912
|
+
/** 框架版本 */
|
|
1913
|
+
frameworkVersion: string;
|
|
1914
|
+
/** 插件版本 */
|
|
1915
|
+
pluginVersion: string;
|
|
1916
|
+
/** 构建时间 */
|
|
1917
|
+
buildTime?: string;
|
|
1918
|
+
/** Commit ID */
|
|
1919
|
+
commitHash?: string;
|
|
1920
|
+
/** 适配器信息 */
|
|
1921
|
+
adapterInfo?: AdapterInfo;
|
|
1922
|
+
/** 是否为验证流程 */
|
|
1923
|
+
isVerification?: boolean;
|
|
1924
|
+
/** 验证链接 */
|
|
1925
|
+
verificationUrl?: string;
|
|
1926
|
+
/** 分享链接(用于生成二维码) */
|
|
1955
1927
|
share_url?: string;
|
|
1956
1928
|
}> {}
|
|
1957
1929
|
//#endregion
|
|
@@ -1960,31 +1932,44 @@ interface ApiErrorProps extends BaseComponentProps<{
|
|
|
1960
1932
|
* 更新日志组件属性接口
|
|
1961
1933
|
*/
|
|
1962
1934
|
interface ChangelogProps extends BaseComponentProps<{
|
|
1963
|
-
/** 是否包含更新提示 */
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1935
|
+
/** 是否包含更新提示 */
|
|
1936
|
+
Tip?: boolean;
|
|
1937
|
+
/** 后端传入的 Markdown 源码 */
|
|
1938
|
+
markdown: string;
|
|
1939
|
+
/** 本地版本号 */
|
|
1940
|
+
localVersion: string;
|
|
1941
|
+
/** 远程版本号 */
|
|
1942
|
+
remoteVersion: string;
|
|
1943
|
+
/** 落后的版本数量 */
|
|
1944
|
+
lagVersionCount?: number;
|
|
1945
|
+
/** 构建时间 */
|
|
1946
|
+
buildTime?: string;
|
|
1947
|
+
/** 版本差异对比页面分享链接 */
|
|
1969
1948
|
share_url?: string;
|
|
1970
1949
|
}> {}
|
|
1971
1950
|
//#endregion
|
|
1972
1951
|
//#region ../template/src/types/platforms/other/VersionWarningProps.d.ts
|
|
1973
1952
|
interface VersionWarningProps extends BaseComponentProps<{
|
|
1974
|
-
/** 插件构建时的 karin 版本 */
|
|
1953
|
+
/** 插件构建时的 karin 版本 */
|
|
1954
|
+
requireVersion: string;
|
|
1955
|
+
/** 当前运行的 karin 版本 */
|
|
1975
1956
|
currentVersion: string;
|
|
1976
1957
|
}> {}
|
|
1977
1958
|
//#endregion
|
|
1978
1959
|
//#region ../template/src/types/platforms/other/qrlogin.d.ts
|
|
1979
1960
|
/** APP 扫码登录组件属性 */
|
|
1980
1961
|
interface QrLoginProps extends BaseComponentProps<{
|
|
1981
|
-
/** 服务器地址 */
|
|
1962
|
+
/** 服务器地址 */
|
|
1963
|
+
serverUrl: string;
|
|
1964
|
+
/** 分享链接(用于生成二维码) */
|
|
1982
1965
|
share_url: string;
|
|
1983
1966
|
}> {}
|
|
1984
1967
|
//#endregion
|
|
1985
1968
|
//#region ../template/src/types/platforms/other/livePhotoTip.d.ts
|
|
1986
1969
|
interface LivePhotoTipProps extends BaseComponentProps<{
|
|
1987
|
-
/** 提示标题 */
|
|
1970
|
+
/** 提示标题 */
|
|
1971
|
+
title?: string;
|
|
1972
|
+
/** 附加说明 */
|
|
1988
1973
|
description?: string;
|
|
1989
1974
|
}> {}
|
|
1990
1975
|
//#endregion
|
|
@@ -1993,26 +1978,36 @@ interface LivePhotoTipProps extends BaseComponentProps<{
|
|
|
1993
1978
|
* 群组解析统计数据接口
|
|
1994
1979
|
*/
|
|
1995
1980
|
interface GroupStatisticsProps extends BaseComponentProps<{
|
|
1996
|
-
/** 群组ID */
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
1981
|
+
/** 群组ID */
|
|
1982
|
+
groupId: string;
|
|
1983
|
+
/** 群组名称 */
|
|
1984
|
+
groupName?: string;
|
|
1985
|
+
/** 群组人数 */
|
|
1986
|
+
groupMemberCount?: number;
|
|
1987
|
+
/** 群组头像 */
|
|
1988
|
+
groupAvatar?: string;
|
|
1989
|
+
/** 群组总解析次数 */
|
|
1990
|
+
groupTotalParses: number;
|
|
1991
|
+
/** 群组唯一用户数 */
|
|
1992
|
+
groupUniqueUsers: number;
|
|
1993
|
+
/** 各平台解析数据 */
|
|
2002
1994
|
platformData: {
|
|
2003
1995
|
douyin: number;
|
|
2004
1996
|
bilibili: number;
|
|
2005
1997
|
kuaishou: number;
|
|
2006
1998
|
xiaohongshu: number;
|
|
2007
|
-
};
|
|
2008
|
-
|
|
1999
|
+
};
|
|
2000
|
+
/** 全局总群组数 */
|
|
2001
|
+
globalTotalGroups: number;
|
|
2002
|
+
/** 全局总解析次数 */
|
|
2009
2003
|
globalTotalParses: number;
|
|
2010
2004
|
}> {}
|
|
2011
2005
|
/**
|
|
2012
2006
|
* 全局解析统计数据接口
|
|
2013
2007
|
*/
|
|
2014
2008
|
interface GlobalStatisticsProps extends BaseComponentProps<{
|
|
2015
|
-
/** 所有统计数据 */
|
|
2009
|
+
/** 所有统计数据 */
|
|
2010
|
+
allStats: Array<{
|
|
2016
2011
|
id: number;
|
|
2017
2012
|
groupId: string;
|
|
2018
2013
|
userId: string;
|
|
@@ -2020,7 +2015,8 @@ interface GlobalStatisticsProps extends BaseComponentProps<{
|
|
|
2020
2015
|
parseCount: number;
|
|
2021
2016
|
createdAt: string;
|
|
2022
2017
|
updatedAt: string;
|
|
2023
|
-
}>;
|
|
2018
|
+
}>;
|
|
2019
|
+
/** 历史数据(最近30天) */
|
|
2024
2020
|
historyData: Array<{
|
|
2025
2021
|
date: string;
|
|
2026
2022
|
totalParses: number;
|
|
@@ -2028,7 +2024,8 @@ interface GlobalStatisticsProps extends BaseComponentProps<{
|
|
|
2028
2024
|
bilibili: number;
|
|
2029
2025
|
kuaishou: number;
|
|
2030
2026
|
xiaohongshu: number;
|
|
2031
|
-
}>;
|
|
2027
|
+
}>;
|
|
2028
|
+
/** 群组信息映射 */
|
|
2032
2029
|
groupInfoMap: Record<string, {
|
|
2033
2030
|
groupName?: string;
|
|
2034
2031
|
groupAvatar?: string;
|
|
@@ -2050,19 +2047,28 @@ interface RenderRequest<T = Record<string, unknown>> {
|
|
|
2050
2047
|
useDarkTheme: boolean;
|
|
2051
2048
|
/** 版本信息 */
|
|
2052
2049
|
version?: {
|
|
2053
|
-
/** 框架插件 */
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2050
|
+
/** 框架插件 */
|
|
2051
|
+
plugin: string;
|
|
2052
|
+
/** 插件名称 */
|
|
2053
|
+
pluginName: string;
|
|
2054
|
+
/** 插件版本 */
|
|
2055
|
+
pluginVersion: string;
|
|
2056
|
+
/** 发布类型 */
|
|
2057
|
+
releaseType: 'Stable' | 'Preview';
|
|
2058
|
+
/** 驱动框架 */
|
|
2059
|
+
poweredBy: string;
|
|
2060
|
+
/** 框架版本 */
|
|
2061
|
+
frameworkVersion: string;
|
|
2062
|
+
/** 是否有可用更新 */
|
|
2059
2063
|
hasUpdate?: boolean;
|
|
2060
2064
|
};
|
|
2061
2065
|
/** 水印比特大小 */
|
|
2062
2066
|
watermarkTextBitSize: number;
|
|
2063
2067
|
/** 渲染数据 */
|
|
2064
2068
|
data: T & {
|
|
2065
|
-
/** 是否使用深色主题 */
|
|
2069
|
+
/** 是否使用深色主题 */
|
|
2070
|
+
useDarkTheme?: boolean;
|
|
2071
|
+
/** 二维码分享链接 */
|
|
2066
2072
|
share_url?: string;
|
|
2067
2073
|
};
|
|
2068
2074
|
}
|
|
@@ -2086,13 +2092,14 @@ interface BaseComponentProps<T = Record<string, any>> extends Pick<RenderRequest
|
|
|
2086
2092
|
watermarkTextBitSize?: RenderRequest['watermarkTextBitSize'];
|
|
2087
2093
|
/** 渲染数据 - 子组件的具体参数 */
|
|
2088
2094
|
data: T & {
|
|
2089
|
-
/** 是否使用深色主题 */
|
|
2095
|
+
/** 是否使用深色主题 */
|
|
2096
|
+
useDarkTheme: boolean;
|
|
2090
2097
|
};
|
|
2091
2098
|
}
|
|
2092
2099
|
/**
|
|
2093
2100
|
* 抖音平台组件ID
|
|
2094
2101
|
*/
|
|
2095
|
-
type DouyinComponentIds = 'article-work' | 'comment' | 'dynamic' | 'favorite-list' | 'image-work' | 'live' | 'musicinfo' | 'recommend-list' | 'user_profile' | 'userlist' | 'video-work' | '
|
|
2102
|
+
type DouyinComponentIds = 'article-work' | 'comment' | 'dynamic' | 'favorite-list' | 'image-work' | 'live' | 'musicinfo' | 'recommend-list' | 'user_profile' | 'userlist' | 'video-work' | 'user_videolist' | 'qrcodeImg';
|
|
2096
2103
|
/**
|
|
2097
2104
|
* B站平台组件ID
|
|
2098
2105
|
*/
|
|
@@ -2132,7 +2139,6 @@ interface PathToDataTypeMap {
|
|
|
2132
2139
|
'douyin/user_profile': DouyinUserVideoListProps['data'];
|
|
2133
2140
|
'douyin/userlist': DouyinUserListProps['data'];
|
|
2134
2141
|
'douyin/video-work': DouyinVideoWorkProps['data'];
|
|
2135
|
-
'douyin/videoInfo': DouyinVideoInfoProps['data'];
|
|
2136
2142
|
'douyin/qrcodeImg': DouyinQrcodeImgProps['data'];
|
|
2137
2143
|
'bilibili/comment': BilibiliCommentProps['data'];
|
|
2138
2144
|
'bilibili/userlist': BilibiliUserListProps['data'];
|