yz-yuki-plugin 2.0.8-0 → 2.0.8-1
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.
|
@@ -83,6 +83,9 @@ noSplitHeight: 7500
|
|
|
83
83
|
# 动态卡片分页截图高度,默认8000px(仅填数字,无需填入单位),请勿设置过大或过小。启用分片截图时生效。
|
|
84
84
|
splitHeight: 8000
|
|
85
85
|
|
|
86
|
+
# 渲染动态内容是否暂停 GIF 动图,默认 0 否,1 是。
|
|
87
|
+
isPauseGif: 0
|
|
88
|
+
|
|
86
89
|
# 直播动态是否@全体成员,默认 0 关闭,1 开启。
|
|
87
90
|
# 开启前请检查 <机器人> 是否有 [管理员权限] 或 [聊天平台是否支持],某些聊天平台或类型不支持@全体成员,如qq官方机器人等。
|
|
88
91
|
liveAtAll: 0
|
|
@@ -212,6 +212,7 @@ class BiliTask {
|
|
|
212
212
|
let isSplit = !!biliConfigData.isSplit === false ? false : true; // 是否启用分片截图,默认为 true
|
|
213
213
|
let style = isSplit ? '' : `.unfold { max-height: ${biliConfigData?.noSplitHeight ?? 7500}px; }`; // 不启用分片截图模式的样式
|
|
214
214
|
let splitHeight = biliConfigData?.splitHeight || 8000; // 分片截图高度,默认 8000, 单位 px,启用分片截图时生效
|
|
215
|
+
let isPauseGif = !!biliConfigData?.isPauseGif === true ? true : false; // 是否暂停 GIF 动图,默认为 false
|
|
215
216
|
const urlQrcodeData = await QRCode.toDataURL(extentData?.url);
|
|
216
217
|
let renderData = this.buildRenderData(extentData, urlQrcodeData, boxGrid);
|
|
217
218
|
const ScreenshotOptionsData = {
|
|
@@ -224,7 +225,8 @@ class BiliTask {
|
|
|
224
225
|
quality: 98
|
|
225
226
|
},
|
|
226
227
|
saveHtmlfile: false,
|
|
227
|
-
pageSplitHeight: splitHeight
|
|
228
|
+
pageSplitHeight: splitHeight,
|
|
229
|
+
isPauseGif: isPauseGif
|
|
228
230
|
};
|
|
229
231
|
let imgs = await this.renderDynamicCard(uid, renderData, ScreenshotOptionsData);
|
|
230
232
|
if (!imgs)
|
|
@@ -279,22 +281,25 @@ class BiliTask {
|
|
|
279
281
|
* @returns 渲染数据
|
|
280
282
|
*/
|
|
281
283
|
buildRenderData(extentData, urlQrcodeData, boxGrid) {
|
|
284
|
+
const baseData = {
|
|
285
|
+
appName: 'bilibili',
|
|
286
|
+
boxGrid: boxGrid,
|
|
287
|
+
type: extentData?.type,
|
|
288
|
+
face: extentData?.face,
|
|
289
|
+
pendant: extentData?.pendant,
|
|
290
|
+
name: extentData?.name,
|
|
291
|
+
pubTs: extentData?.pubTs,
|
|
292
|
+
title: extentData?.title,
|
|
293
|
+
content: extentData?.content,
|
|
294
|
+
urlImgData: urlQrcodeData,
|
|
295
|
+
created: extentData?.created,
|
|
296
|
+
pics: extentData?.pics,
|
|
297
|
+
category: extentData?.category
|
|
298
|
+
};
|
|
282
299
|
if (extentData.orig && extentData.orig.length !== 0) {
|
|
283
300
|
return {
|
|
284
301
|
data: {
|
|
285
|
-
|
|
286
|
-
boxGrid: boxGrid,
|
|
287
|
-
type: extentData?.type,
|
|
288
|
-
face: extentData?.face,
|
|
289
|
-
pendant: extentData?.pendant,
|
|
290
|
-
name: extentData?.name,
|
|
291
|
-
pubTs: extentData?.pubTs,
|
|
292
|
-
title: extentData?.title,
|
|
293
|
-
content: extentData?.content,
|
|
294
|
-
urlImgData: urlQrcodeData,
|
|
295
|
-
created: extentData?.created,
|
|
296
|
-
pics: extentData?.pics,
|
|
297
|
-
category: extentData?.category,
|
|
302
|
+
...baseData,
|
|
298
303
|
orig: {
|
|
299
304
|
data: {
|
|
300
305
|
type: extentData?.orig?.data?.type,
|
|
@@ -312,23 +317,7 @@ class BiliTask {
|
|
|
312
317
|
};
|
|
313
318
|
}
|
|
314
319
|
else {
|
|
315
|
-
return {
|
|
316
|
-
data: {
|
|
317
|
-
appName: 'bilibili',
|
|
318
|
-
boxGrid: boxGrid,
|
|
319
|
-
type: extentData?.type,
|
|
320
|
-
face: extentData?.face,
|
|
321
|
-
pendant: extentData?.pendant,
|
|
322
|
-
name: extentData?.name,
|
|
323
|
-
pubTs: extentData?.pubTs,
|
|
324
|
-
title: extentData?.title,
|
|
325
|
-
content: extentData?.content,
|
|
326
|
-
urlImgData: urlQrcodeData,
|
|
327
|
-
created: extentData?.created,
|
|
328
|
-
pics: extentData?.pics,
|
|
329
|
-
category: extentData?.category
|
|
330
|
-
}
|
|
331
|
-
};
|
|
320
|
+
return { data: baseData };
|
|
332
321
|
}
|
|
333
322
|
}
|
|
334
323
|
/**
|
|
@@ -177,6 +177,7 @@ class WeiboTask {
|
|
|
177
177
|
let isSplit = !!weiboConfigData.isSplit === false ? false : true; // 是否启用分片截图,默认为 true
|
|
178
178
|
let style = isSplit ? '' : `.unfold { max-height: ${weiboConfigData?.noSplitHeight ?? 7500}px; }`; // 不启用分片截图模式的样式
|
|
179
179
|
let splitHeight = weiboConfigData?.splitHeight ?? 8000; // 分片截图高度,默认 8000, 单位 px,启用分片截图时生效
|
|
180
|
+
let isPauseGif = !!weiboConfigData?.isPauseGif === true ? true : false; // 是否暂停 GIF 动图,默认为 false
|
|
180
181
|
const extentData = { ...data };
|
|
181
182
|
const urlQrcodeData = await QRCode.toDataURL(extentData?.url);
|
|
182
183
|
let renderData = this.buildRenderData(extentData, urlQrcodeData, boxGrid);
|
|
@@ -190,7 +191,8 @@ class WeiboTask {
|
|
|
190
191
|
quality: 98
|
|
191
192
|
},
|
|
192
193
|
saveHtmlfile: false,
|
|
193
|
-
pageSplitHeight: splitHeight
|
|
194
|
+
pageSplitHeight: splitHeight,
|
|
195
|
+
isPauseGif: isPauseGif
|
|
194
196
|
};
|
|
195
197
|
let imgs = await this.renderDynamicCard(uid, renderData, ScreenshotOptionsData);
|
|
196
198
|
if (!imgs)
|
|
@@ -245,22 +247,25 @@ class WeiboTask {
|
|
|
245
247
|
* @returns 渲染数据
|
|
246
248
|
*/
|
|
247
249
|
buildRenderData(extentData, urlQrcodeData, boxGrid) {
|
|
250
|
+
const baseData = {
|
|
251
|
+
appName: 'weibo',
|
|
252
|
+
boxGrid: boxGrid,
|
|
253
|
+
type: extentData?.type,
|
|
254
|
+
face: extentData?.face,
|
|
255
|
+
pendant: extentData?.pendant,
|
|
256
|
+
name: extentData?.name,
|
|
257
|
+
pubTs: extentData?.pubTs,
|
|
258
|
+
title: extentData?.title,
|
|
259
|
+
content: extentData?.content,
|
|
260
|
+
urlImgData: urlQrcodeData,
|
|
261
|
+
created: extentData?.created,
|
|
262
|
+
pics: extentData?.pics,
|
|
263
|
+
category: extentData?.category
|
|
264
|
+
};
|
|
248
265
|
if (extentData.orig && extentData.orig.length !== 0) {
|
|
249
266
|
return {
|
|
250
267
|
data: {
|
|
251
|
-
|
|
252
|
-
boxGrid: boxGrid,
|
|
253
|
-
type: extentData?.type,
|
|
254
|
-
face: extentData?.face,
|
|
255
|
-
pendant: extentData?.pendant,
|
|
256
|
-
name: extentData?.name,
|
|
257
|
-
pubTs: extentData?.pubTs,
|
|
258
|
-
title: extentData?.title,
|
|
259
|
-
content: extentData?.content,
|
|
260
|
-
urlImgData: urlQrcodeData,
|
|
261
|
-
created: extentData?.created,
|
|
262
|
-
pics: extentData?.pics,
|
|
263
|
-
category: extentData?.category,
|
|
268
|
+
...baseData,
|
|
264
269
|
orig: {
|
|
265
270
|
data: {
|
|
266
271
|
type: extentData?.orig?.data?.type,
|
|
@@ -278,23 +283,7 @@ class WeiboTask {
|
|
|
278
283
|
};
|
|
279
284
|
}
|
|
280
285
|
else {
|
|
281
|
-
return {
|
|
282
|
-
data: {
|
|
283
|
-
appName: 'weibo',
|
|
284
|
-
boxGrid: boxGrid,
|
|
285
|
-
type: extentData?.type,
|
|
286
|
-
face: extentData?.face,
|
|
287
|
-
pendant: extentData?.pendant,
|
|
288
|
-
name: extentData?.name,
|
|
289
|
-
pubTs: extentData?.pubTs,
|
|
290
|
-
title: extentData?.title,
|
|
291
|
-
content: extentData?.content,
|
|
292
|
-
urlImgData: urlQrcodeData,
|
|
293
|
-
created: extentData?.created,
|
|
294
|
-
pics: extentData?.pics,
|
|
295
|
-
category: extentData?.category
|
|
296
|
-
}
|
|
297
|
-
};
|
|
286
|
+
return { data: baseData };
|
|
298
287
|
}
|
|
299
288
|
}
|
|
300
289
|
/**
|
|
@@ -53,7 +53,9 @@ class YukiPuppeteerRender {
|
|
|
53
53
|
pageHeight = Math.round(boundingBox.height / num); //动态调整分片高度,防止过短影响观感。
|
|
54
54
|
await page.setViewport({ width: boundingBox.width + 50, height: pageHeight + 100 });
|
|
55
55
|
// 禁止 GIF 动图播放
|
|
56
|
-
|
|
56
|
+
if (Options?.isPauseGif === true) {
|
|
57
|
+
await page.addStyleTag({ content: `img[src$=".gif"] {animation-play-state: paused !important;}` });
|
|
58
|
+
}
|
|
57
59
|
// 是否保存 html 文件
|
|
58
60
|
if (Options?.saveHtmlfile === true) {
|
|
59
61
|
const htmlContent = await page.content();
|