karin-plugin-kkk 2.30.4 → 2.31.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.
- package/CHANGELOG.md +69 -0
- package/lib/build-metadata.json +5 -5
- package/lib/core_chunk/amagi.js +1 -1
- package/lib/core_chunk/amagiClient.js +1 -1
- package/lib/core_chunk/{index-CN7AJkHp.d.mts → index-DNlQJ2Zs.d.mts} +11 -3
- package/lib/core_chunk/main.js +1239 -1223
- package/lib/core_chunk/richtext.d.mts +2 -2
- package/lib/core_chunk/richtext.js +2 -2
- package/lib/core_chunk/template.d.mts +83 -101
- package/lib/core_chunk/vendor.js +1224 -865
- package/lib/karin-plugin-kkk.css +71 -17
- package/lib/root.js +1 -1
- package/package.json +4 -4
package/lib/core_chunk/main.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { i as __toESM } from "./rolldown-runtime.js";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as SiHonor, $n as require_protobufjs, $t as Moon, A as RiGroupLine, An as CircleEllipsis, At as Square, B as RiStarLine, Bn as Bookmark, Bt as ScanLine, C as BiImage, Cn as CornerDownLeft, Ct as UserPlus, D as AiOutlineVideoCamera, Dn as Clapperboard, Dt as Terminal, E as AiFillStar, En as Clock, Et as Trash2, F as RiLiveLine, Fn as ChartColumn, Ft as Shield, G as RiVerifiedBadgeFill, Gn as clsx, Gt as Quote, H as RiTiktokFill, Hn as ArrowDownToLine, Ht as RotateCcw, I as RiMessage3Fill, In as Camera, It as ShieldCheck, J as SiVivo, Jn as require_react, Jt as Plus, K as RiVideoLine, Kn as require_jsx_runtime, Kt as QrCode, L as RiPieChart2Fill, Ln as Calendar, Lt as Share2, M as RiHeart3Fill, Mn as CircleCheckBig, Mt as Sparkles, N as RiHeart3Line, Nn as CircleAlert, Nt as Smartphone, O as Markdown, On as CircleQuestionMark, Ot as Sun, P as RiHeartLine, Pn as Check, Pt as ShoppingBag, Q as SiHuawei, Qn as require_heic_decode, Qt as Music, R as RiShareForwardFill, Rn as Box, Rt as Settings2, S as FaUserGroup, Sn as Cpu, St as User, T as AiFillPushpin, Tn as Code, Tt as TriangleAlert, U as RiTrophyFill, Un as Chip, Ut as RefreshCw, V as RiThumbUpFill, Vn as BellRing, Vt as Save, W as RiUserFollowLine, Wn as Button, Wt as Radio, X as SiOppo, Xn as require_jsQR, Xt as Pencil, Y as SiSamsung, Yn as require_png, Yt as Play, Z as SiOneplus, Zn as require_jpeg_js, Zt as Palette, _ as MdLocationOn, _n as Eye, _t as X, a as purify, an as LoaderCircle, at as o, b as FaMusic, bn as Download, bt as Users, c as VictoryLine, cn as Info, ct as n, d as VictoryLabel, dn as Hash, dt as parse, en as Monitor, er as Chalk, et as SiGooglephotos, f as VictoryTheme, fn as GitBranch, ft as fromUnixTime, g as MdLightbulbOutline, gn as FilePlay, gt as Zap, h as MdInfoOutline, hn as FileText, ht as differenceInSeconds, i as Window, in as MapPin, it as SiAnthropic, j as RiHashtag, jn as CircleCheck, jt as SquarePen, k as RiArrowRightFill, kn as CircleFadingArrowUp, kt as Star, l as VictoryChart, ln as Image$1, lt as c, m as MdFitScreen, mn as Gamepad2, mt as format, n as require_lib, nn as Menu, nr as zod_default, nt as SiBilibili, o as VictoryScatter, on as Link, ot as m, p as rehypeHighlight, pn as Gift, pt as formatDistanceToNow, q as SiXiaomi, qn as require_server_node, qt as Puzzle, r as require_qr_code_styling, rn as Maximize, rt as SiApple, s as VictoryPie, sn as LayoutTemplate, st as a, t as createProxyMiddleware, tn as MessageCircle, tr as Xhshow, tt as SiGithub, u as VictoryAxis, un as Heart, ut as zhCN, v as MdSchedule, vn as EyeOff, vt as WandSparkles, w as AiFillHeart, wn as Copy, wt as Upload, x as FaTiktok, xn as Crown, xt as UsersRound, y as FaCommentDots, yn as ExternalLink, yt as Video, z as RiStarFill, zn as Bot, zt as Search } from "./vendor.js";
|
|
3
3
|
import "node:module";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import path, { resolve } from "node:path";
|
|
6
|
-
import URL$
|
|
6
|
+
import URL$2, { fileURLToPath } from "node:url";
|
|
7
7
|
import os, { platform } from "node:os";
|
|
8
8
|
import karin$1, { BOT_CONNECT, app, authMiddleware, checkPkgUpdate, checkPort, common, components, config, copyConfigSync, createBadRequestResponse, createNotFoundResponse, createServerErrorResponse, createSuccessResponse, db, defineConfig, ffmpeg, ffprobe, filesByExt, getBot, hooks, karin, karinPathHtml, karinPathTemp, logger, logger as logger$1, logs, mkdirSync, parseChangelog, range, render, requireFileSync, restart, segment, updatePkg, watch } from "node-karin";
|
|
9
9
|
import _ from "node-karin/lodash";
|
|
@@ -18,7 +18,7 @@ import util from "node:util";
|
|
|
18
18
|
import { Transform } from "node:stream";
|
|
19
19
|
import { pipeline } from "node:stream/promises";
|
|
20
20
|
import { embedWatermarkToPngBytes } from "@ikenxuan/watermark";
|
|
21
|
-
import { snapka } from "@
|
|
21
|
+
import { snapka } from "@karinjs/plugin-puppeteer";
|
|
22
22
|
import { newInjectedPage } from "fingerprint-injector";
|
|
23
23
|
//#region src/index.ts
|
|
24
24
|
globalThis.__kkkLoadStart ??= process.hrtime.bigint();
|
|
@@ -1613,8 +1613,8 @@ var xiaohongshuApiUrls = {
|
|
|
1613
1613
|
keyword: data.keyword,
|
|
1614
1614
|
page: data.page ?? 1,
|
|
1615
1615
|
page_size: data.page_size ?? 20,
|
|
1616
|
-
sort:
|
|
1617
|
-
note_type:
|
|
1616
|
+
sort: "general",
|
|
1617
|
+
note_type: 0,
|
|
1618
1618
|
search_id: xiaohongshuSign.getSearchId(),
|
|
1619
1619
|
image_formats: [
|
|
1620
1620
|
"jpg",
|
|
@@ -2632,7 +2632,7 @@ var douoyinAPIErrorCode = /* @__PURE__ */ function(douoyinAPIErrorCode) {
|
|
|
2632
2632
|
/** 当前用户未开播 */
|
|
2633
2633
|
douoyinAPIErrorCode["NOT_LIVE"] = "USER_NOT_LIVE";
|
|
2634
2634
|
/** 未知错误 */
|
|
2635
|
-
douoyinAPIErrorCode[
|
|
2635
|
+
douoyinAPIErrorCode["UNKNOWN"] = "UNKNOWN_ERROR";
|
|
2636
2636
|
return douoyinAPIErrorCode;
|
|
2637
2637
|
}({});
|
|
2638
2638
|
/** B站平台API错误码 */
|
|
@@ -2744,7 +2744,7 @@ var kuaishouAPIErrorCode = /* @__PURE__ */ function(kuaishouAPIErrorCode) {
|
|
|
2744
2744
|
/** Cookie无效或已过期 */
|
|
2745
2745
|
kuaishouAPIErrorCode["COOKIE"] = "INVALID_COOKIE";
|
|
2746
2746
|
/** 未知错误 */
|
|
2747
|
-
kuaishouAPIErrorCode[
|
|
2747
|
+
kuaishouAPIErrorCode["UNKNOWN"] = "UNKNOWN_ERROR";
|
|
2748
2748
|
return kuaishouAPIErrorCode;
|
|
2749
2749
|
}({});
|
|
2750
2750
|
/** 小红书平台API错误码 */
|
|
@@ -2752,7 +2752,7 @@ var xiaohongshuAPIErrorCode = /* @__PURE__ */ function(xiaohongshuAPIErrorCode)
|
|
|
2752
2752
|
/** Cookie无效或已过期 */
|
|
2753
2753
|
xiaohongshuAPIErrorCode["COOKIE"] = "INVALID_COOKIE";
|
|
2754
2754
|
/** 未知错误 */
|
|
2755
|
-
xiaohongshuAPIErrorCode[
|
|
2755
|
+
xiaohongshuAPIErrorCode["UNKNOWN"] = "UNKNOWN_ERROR";
|
|
2756
2756
|
/** 非法请求 */
|
|
2757
2757
|
xiaohongshuAPIErrorCode[xiaohongshuAPIErrorCode["ILLEGAL_REQUEST"] = 500] = "ILLEGAL_REQUEST";
|
|
2758
2758
|
/** 检测到帐号异常,请稍后重试 */
|
|
@@ -3270,7 +3270,7 @@ var XBogus = class {
|
|
|
3270
3270
|
* @returns 包含完整URL、X-Bogus值和使用的User-Agent的元组
|
|
3271
3271
|
*/
|
|
3272
3272
|
getXBogus(url, ua) {
|
|
3273
|
-
const parsedUrl = new URL$
|
|
3273
|
+
const parsedUrl = new URL$2.URL(url);
|
|
3274
3274
|
const urlPath = parsedUrl.pathname + parsedUrl.search;
|
|
3275
3275
|
const currentUa = ua ?? this.defaultUa;
|
|
3276
3276
|
const rc4EncryptedUa = this.rc4Encrypt(this.uaKey, currentUa);
|
|
@@ -10140,7 +10140,7 @@ function getApiRoute(platform, methodType) {
|
|
|
10140
10140
|
* 构建后使用 __VERSION__,开发环境从 package.json 读取
|
|
10141
10141
|
*/
|
|
10142
10142
|
var getVersion = () => {
|
|
10143
|
-
return "6.1.
|
|
10143
|
+
return "6.1.3";
|
|
10144
10144
|
};
|
|
10145
10145
|
var VERSION = getVersion();
|
|
10146
10146
|
/**
|
|
@@ -10935,6 +10935,10 @@ var QRCodeScanner = class {
|
|
|
10935
10935
|
try {
|
|
10936
10936
|
const response = await axios.get(imageUrl, { responseType: "arraybuffer" });
|
|
10937
10937
|
const buffer = Buffer.from(response.data);
|
|
10938
|
+
if (!this.detectImageFormat(buffer)) {
|
|
10939
|
+
logger.debug("URL 内容不是支持的图片格式,跳过二维码扫描");
|
|
10940
|
+
return null;
|
|
10941
|
+
}
|
|
10938
10942
|
return this.scanFromBuffer(buffer);
|
|
10939
10943
|
} catch (error) {
|
|
10940
10944
|
logger.error("识别二维码时发生错误:", error);
|
|
@@ -11254,7 +11258,7 @@ var QRCodeScanner = class {
|
|
|
11254
11258
|
*/
|
|
11255
11259
|
static async parseHEIC(buffer) {
|
|
11256
11260
|
try {
|
|
11257
|
-
const decoded = await (0, import_heic_decode.default)({ buffer
|
|
11261
|
+
const decoded = await (0, import_heic_decode.default)({ buffer });
|
|
11258
11262
|
logger.debug(`HEIC 解析成功: ${decoded.width}x${decoded.height}`);
|
|
11259
11263
|
return {
|
|
11260
11264
|
width: decoded.width,
|
|
@@ -11512,23 +11516,47 @@ var Common = new class Tools {
|
|
|
11512
11516
|
* @param e event 消息事件
|
|
11513
11517
|
* @returns 被引用的消息
|
|
11514
11518
|
*/
|
|
11519
|
+
/**
|
|
11520
|
+
* 尝试从图片 URL 识别二维码并返回支持的平台链接
|
|
11521
|
+
* @param imageUrl 图片 URL
|
|
11522
|
+
* @param source 来源描述(用于日志)
|
|
11523
|
+
* @returns 识别到的平台链接,或 null
|
|
11524
|
+
*/
|
|
11525
|
+
async tryScanImageQrCode(imageUrl, source) {
|
|
11526
|
+
try {
|
|
11527
|
+
logger.debug(`检测到${source}为图片,尝试识别二维码...`);
|
|
11528
|
+
const qrContent = await QRCodeScanner.scanFromUrl(imageUrl);
|
|
11529
|
+
if (qrContent && QRCodeScanner.isSupportedPlatform(qrContent)) {
|
|
11530
|
+
logger.debug(`从${source}二维码中识别到支持的平台链接: ${qrContent}`);
|
|
11531
|
+
return qrContent;
|
|
11532
|
+
} else if (qrContent) logger.debug(`识别到二维码内容但不是支持的平台: ${qrContent}`);
|
|
11533
|
+
} catch (error) {
|
|
11534
|
+
logger.error(`识别${source}二维码时发生错误:`, error);
|
|
11535
|
+
}
|
|
11536
|
+
return null;
|
|
11537
|
+
}
|
|
11515
11538
|
async getReplyMessage(e) {
|
|
11516
11539
|
if (e.replyId) {
|
|
11517
11540
|
const reply = await e.bot.getMsg(e.contact, e.replyId);
|
|
11518
|
-
for (const v of reply.elements) if (v.type === "text")
|
|
11519
|
-
|
|
11520
|
-
|
|
11521
|
-
|
|
11522
|
-
|
|
11523
|
-
|
|
11524
|
-
|
|
11525
|
-
|
|
11526
|
-
|
|
11527
|
-
|
|
11528
|
-
|
|
11529
|
-
|
|
11530
|
-
|
|
11531
|
-
|
|
11541
|
+
for (const v of reply.elements) if (v.type === "text") {
|
|
11542
|
+
try {
|
|
11543
|
+
const parsed = JSON.parse(v.text);
|
|
11544
|
+
if (parsed.type === "markdown" && parsed.data?.content) {
|
|
11545
|
+
const content = parsed.data.content;
|
|
11546
|
+
const imageRegex = /!\[.*?\]\((.*?)\)/g;
|
|
11547
|
+
let match;
|
|
11548
|
+
while ((match = imageRegex.exec(content)) !== null) {
|
|
11549
|
+
const qrResult = await this.tryScanImageQrCode(match[1], "引用消息中的 markdown 图片");
|
|
11550
|
+
if (qrResult) return qrResult;
|
|
11551
|
+
}
|
|
11552
|
+
return content;
|
|
11553
|
+
}
|
|
11554
|
+
} catch {}
|
|
11555
|
+
return v.text;
|
|
11556
|
+
} else if (v.type === "json") return v.data;
|
|
11557
|
+
else if (v.type === "image") {
|
|
11558
|
+
const qrResult = await this.tryScanImageQrCode(v.file, "引用消息");
|
|
11559
|
+
if (qrResult) return qrResult;
|
|
11532
11560
|
}
|
|
11533
11561
|
}
|
|
11534
11562
|
return "";
|
|
@@ -14561,7 +14589,7 @@ var ViteLogo = ({ className = "w-auto h-12" }) => /* @__PURE__ */ (0, import_jsx
|
|
|
14561
14589
|
* @param props 组件属性
|
|
14562
14590
|
* @returns JSX元素
|
|
14563
14591
|
*/
|
|
14564
|
-
var DefaultLayout = ({ children, version, data, scale = 3, className = "", style = {} }) => {
|
|
14592
|
+
var DefaultLayout = ({ children, version, data, scale = 3, className = "", style = {}, watermarkTextBitSize }) => {
|
|
14565
14593
|
const { useDarkTheme } = data;
|
|
14566
14594
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14567
14595
|
className: clsx("w-360 shrink-0 bg-background text-foreground font-[HarmonyOSHans-Regular]", useDarkTheme ? "dark" : "light", className),
|
|
@@ -14575,9 +14603,9 @@ var DefaultLayout = ({ children, version, data, scale = 3, className = "", style
|
|
|
14575
14603
|
maxWidth: "1440px",
|
|
14576
14604
|
...style
|
|
14577
14605
|
},
|
|
14578
|
-
children: [children, version ? /* @__PURE__ */ (0, import_jsx_runtime.
|
|
14606
|
+
children: [children, version ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14579
14607
|
className: "relative z-50 pt-32 pb-20 text-foreground/80",
|
|
14580
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14608
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
14581
14609
|
className: "flex relative justify-center items-center space-x-8",
|
|
14582
14610
|
children: [
|
|
14583
14611
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -14697,8 +14725,20 @@ var DefaultLayout = ({ children, version, data, scale = 3, className = "", style
|
|
|
14697
14725
|
})]
|
|
14698
14726
|
})] })
|
|
14699
14727
|
]
|
|
14728
|
+
}), typeof watermarkTextBitSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
14729
|
+
className: "flex justify-center",
|
|
14730
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
14731
|
+
className: "text-xs font-mono text-foreground/30",
|
|
14732
|
+
children: ["Restore ID: ", watermarkTextBitSize]
|
|
14733
|
+
})
|
|
14734
|
+
})]
|
|
14735
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
14736
|
+
className: "flex items-center justify-center h-24",
|
|
14737
|
+
children: typeof watermarkTextBitSize === "number" && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
14738
|
+
className: "text-xs font-mono text-foreground/30",
|
|
14739
|
+
children: ["Restore ID: ", watermarkTextBitSize]
|
|
14700
14740
|
})
|
|
14701
|
-
})
|
|
14741
|
+
})]
|
|
14702
14742
|
});
|
|
14703
14743
|
};
|
|
14704
14744
|
//#endregion
|
|
@@ -15337,11 +15377,14 @@ var createParagraphNode = (nodes) => ({
|
|
|
15337
15377
|
nodes
|
|
15338
15378
|
});
|
|
15339
15379
|
/** 创建图片节点。 */
|
|
15340
|
-
var createImageNode = (src, alt) => ({
|
|
15380
|
+
var createImageNode = (src, alt, caption) => ({
|
|
15341
15381
|
type: "image",
|
|
15342
15382
|
src,
|
|
15343
|
-
alt
|
|
15383
|
+
alt,
|
|
15384
|
+
caption
|
|
15344
15385
|
});
|
|
15386
|
+
/** 创建水平分隔线节点。 */
|
|
15387
|
+
var createHorizontalRuleNode = () => ({ type: "horizontalRule" });
|
|
15345
15388
|
/** 创建引用块节点。 */
|
|
15346
15389
|
var createBlockquoteNode = (nodes) => ({
|
|
15347
15390
|
type: "blockquote",
|
|
@@ -15416,7 +15459,8 @@ var extractRichTextPlainText = (document) => {
|
|
|
15416
15459
|
case "blockquote":
|
|
15417
15460
|
case "listItem": return node.nodes.map(extractFromNode).join("");
|
|
15418
15461
|
case "list": return node.items.map(extractFromNode).join("");
|
|
15419
|
-
case "lineBreak":
|
|
15462
|
+
case "lineBreak":
|
|
15463
|
+
case "horizontalRule": return "";
|
|
15420
15464
|
case "image": return "";
|
|
15421
15465
|
case "codeBlock": return node.content;
|
|
15422
15466
|
case "linkCard": return node.title;
|
|
@@ -15764,15 +15808,24 @@ var renderNodeToReact = (node, index, options) => {
|
|
|
15764
15808
|
case "image": {
|
|
15765
15809
|
const safeSrc = sanitizeImageSource(node.src);
|
|
15766
15810
|
if (!safeSrc) return null;
|
|
15767
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.
|
|
15768
|
-
|
|
15769
|
-
|
|
15770
|
-
|
|
15771
|
-
|
|
15772
|
-
|
|
15773
|
-
|
|
15811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
15812
|
+
"data-richtext-node": "image",
|
|
15813
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
15814
|
+
className: "rounded-4xl",
|
|
15815
|
+
src: safeSrc,
|
|
15816
|
+
alt: node.alt || "",
|
|
15817
|
+
referrerPolicy: "no-referrer",
|
|
15818
|
+
crossOrigin: "anonymous"
|
|
15819
|
+
}), node.caption && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
15820
|
+
className: "mt-6 text-center text-[36px] text-foreground/60 select-text",
|
|
15821
|
+
children: node.caption
|
|
15822
|
+
})]
|
|
15774
15823
|
}, `image-${index}`);
|
|
15775
15824
|
}
|
|
15825
|
+
case "horizontalRule": return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
15826
|
+
className: "my-16 w-full h-px bg-border",
|
|
15827
|
+
"data-richtext-node": "horizontalRule"
|
|
15828
|
+
}, `hr-${index}`);
|
|
15776
15829
|
case "blockquote": return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("blockquote", {
|
|
15777
15830
|
"data-richtext-node": "blockquote",
|
|
15778
15831
|
children: node.nodes.map((child, childIndex) => renderNodeToReact(child, childIndex, options))
|
|
@@ -15989,6 +16042,28 @@ var CoinIcon = ({ className, size, variant = "solid" }) => {
|
|
|
15989
16042
|
})
|
|
15990
16043
|
});
|
|
15991
16044
|
};
|
|
16045
|
+
/** B站官方浏览图标 */
|
|
16046
|
+
var ViewIcon = ({ className, size, variant = "solid" }) => {
|
|
16047
|
+
if (variant === "line") return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
16048
|
+
viewBox: "0 0 16 16",
|
|
16049
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16050
|
+
className,
|
|
16051
|
+
fill: "currentColor",
|
|
16052
|
+
width: size,
|
|
16053
|
+
height: size,
|
|
16054
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M8 3.3320333333333334C6.321186666666667 3.3320333333333334 4.855333333333333 3.4174399999999996 3.820593333333333 3.5013466666666666C3.1014733333333333 3.5596599999999996 2.5440733333333334 4.109013333333333 2.48 4.821693333333333C2.4040466666666664 5.666533333333334 2.333333333333333 6.780666666666666 2.333333333333333 7.998666666666666C2.333333333333333 9.216733333333334 2.4040466666666664 10.330866666666665 2.48 11.175699999999999C2.5440733333333334 11.888366666666666 3.1014733333333333 12.437733333333334 3.820593333333333 12.496066666666666C4.855333333333333 12.579933333333333 6.321186666666667 12.665333333333333 8 12.665333333333333C9.678999999999998 12.665333333333333 11.144933333333334 12.579933333333333 12.179733333333333 12.496033333333333C12.898733333333332 12.4377 13.456 11.888533333333331 13.520066666666667 11.176033333333333C13.595999999999998 10.331533333333333 13.666666666666666 9.217633333333332 13.666666666666666 7.998666666666666C13.666666666666666 6.779766666666667 13.595999999999998 5.665846666666667 13.520066666666667 4.821366666666666C13.456 4.108866666666666 12.898733333333332 3.55968 12.179733333333333 3.5013666666666663C11.144933333333334 3.417453333333333 9.678999999999998 3.3320333333333334 8 3.3320333333333334zM3.7397666666666667 2.50462C4.794879999999999 2.41906 6.288386666666666 2.3320333333333334 8 2.3320333333333334C9.7118 2.3320333333333334 11.2054 2.4190733333333334 12.260533333333331 2.5046399999999998C13.458733333333331 2.6018133333333333 14.407866666666665 3.5285199999999994 14.516066666666667 4.73182C14.593933333333332 5.597933333333334 14.666666666666666 6.7427 14.666666666666666 7.998666666666666C14.666666666666666 9.2547 14.593933333333332 10.399466666666665 14.516066666666667 11.2656C14.407866666666665 12.468866666666665 13.458733333333331 13.395566666666667 12.260533333333331 13.492766666666665C11.2054 13.578333333333333 9.7118 13.665333333333333 8 13.665333333333333C6.288386666666666 13.665333333333333 4.794879999999999 13.578333333333333 3.7397666666666667 13.492799999999999C2.541373333333333 13.395599999999998 1.5922066666666668 12.468633333333333 1.4840200000000001 11.265266666666665C1.4061199999999998 10.3988 1.3333333333333333 9.253866666666667 1.3333333333333333 7.998666666666666C1.3333333333333333 6.743533333333333 1.4061199999999998 5.598579999999999 1.4840200000000001 4.732153333333333C1.5922066666666668 3.5287466666666667 2.541373333333333 2.601793333333333 3.7397666666666667 2.50462z" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9.8092 7.3125C10.338433333333333 7.618066666666666 10.338433333333333 8.382 9.809166666666666 8.687533333333333L7.690799999999999 9.910599999999999C7.161566666666666 10.216133333333332 6.5 9.8342 6.500006666666666 9.223066666666666L6.500006666666666 6.776999999999999C6.500006666666666 6.165873333333334 7.161566666666666 5.783913333333333 7.690799999999999 6.089479999999999L9.8092 7.3125z" })]
|
|
16055
|
+
});
|
|
16056
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
16057
|
+
viewBox: "0 0 16 16",
|
|
16058
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
16059
|
+
className,
|
|
16060
|
+
fill: "currentColor",
|
|
16061
|
+
fillRule: "evenodd",
|
|
16062
|
+
width: size,
|
|
16063
|
+
height: size,
|
|
16064
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M3.7397666666666667 2.50462C4.794879999999999 2.41906 6.288386666666666 2.3320333333333334 8 2.3320333333333334C9.7118 2.3320333333333334 11.2054 2.4190733333333334 12.260533333333331 2.5046399999999998C13.458733333333331 2.6018133333333333 14.407866666666665 3.5285199999999994 14.516066666666667 4.73182C14.593933333333332 5.597933333333334 14.666666666666666 6.7427 14.666666666666666 7.998666666666666C14.666666666666666 9.2547 14.593933333333332 10.399466666666665 14.516066666666667 11.2656C14.407866666666665 12.468866666666665 13.458733333333331 13.395566666666667 12.260533333333331 13.492766666666665C11.2054 13.578333333333333 9.7118 13.665333333333333 8 13.665333333333333C6.288386666666666 13.665333333333333 4.794879999999999 13.578333333333333 3.7397666666666667 13.492799999999999C2.541373333333333 13.395599999999998 1.5922066666666668 12.468633333333333 1.4840200000000001 11.265266666666665C1.4061199999999998 10.3988 1.3333333333333333 9.253866666666667 1.3333333333333333 7.998666666666666C1.3333333333333333 6.743533333333333 1.4061199999999998 5.598579999999999 1.4840200000000001 4.732153333333333C1.5922066666666668 3.5287466666666667 2.541373333333333 2.601793333333333 3.7397666666666667 2.50462z M9.8092 7.3125L7.6908 6.0895C7.1616 5.7839 6.5 6.1659 6.5 6.777L6.5 9.2231C6.5 9.8342 7.1616 10.2161 7.6908 9.9106L9.8092 8.6875C10.3384 8.382 10.3384 7.6181 9.8092 7.3125z" })
|
|
16065
|
+
});
|
|
16066
|
+
};
|
|
15992
16067
|
/** B站官方评论图标 */
|
|
15993
16068
|
var CommentIcon = ({ className, size, variant = "solid" }) => {
|
|
15994
16069
|
if (variant === "line") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", {
|
|
@@ -16112,10 +16187,10 @@ var formatBilibiliLikeCount = (count) => {
|
|
|
16112
16187
|
};
|
|
16113
16188
|
var renderBilibiliUserName = (uname, unameColor, vipstatus) => {
|
|
16114
16189
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
16115
|
-
className: "inline-block leading-[1.2]",
|
|
16190
|
+
className: "inline-block leading-[1.2] font-medium whitespace-nowrap",
|
|
16116
16191
|
style: {
|
|
16117
16192
|
color: unameColor ?? "#888",
|
|
16118
|
-
fontWeight: vipstatus === 1 ?
|
|
16193
|
+
fontWeight: vipstatus === 1 ? 500 : void 0
|
|
16119
16194
|
},
|
|
16120
16195
|
children: uname
|
|
16121
16196
|
});
|
|
@@ -16944,164 +17019,323 @@ var BilibiliArticleDynamic = import_react.memo((props) => {
|
|
|
16944
17019
|
});
|
|
16945
17020
|
BilibiliArticleDynamic.displayName = "BilibiliArticleDynamic";
|
|
16946
17021
|
//#endregion
|
|
16947
|
-
//#region ../template/src/components/platforms/bilibili/dynamic/
|
|
17022
|
+
//#region ../template/src/components/platforms/bilibili/dynamic/CommonComponents.tsx
|
|
16948
17023
|
/**
|
|
16949
|
-
* B
|
|
17024
|
+
* B站动态用户信息组件
|
|
16950
17025
|
*/
|
|
16951
|
-
var
|
|
16952
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
16953
|
-
|
|
16954
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16955
|
-
className: "flex items-center
|
|
16956
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
16957
|
-
|
|
16958
|
-
|
|
16959
|
-
|
|
16960
|
-
|
|
16961
|
-
|
|
16962
|
-
|
|
17026
|
+
var BilibiliDynamicUserInfo = (props) => {
|
|
17027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17028
|
+
className: "flex gap-10 items-center justify-between px-0 pb-0 pl-24 pr-10",
|
|
17029
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17030
|
+
className: "flex gap-10 items-center",
|
|
17031
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17032
|
+
className: "relative",
|
|
17033
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17034
|
+
src: props.avatar_url,
|
|
17035
|
+
alt: "头像",
|
|
17036
|
+
className: "w-32 h-32 rounded-full shadow-medium",
|
|
17037
|
+
isCircular: true
|
|
17038
|
+
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17039
|
+
src: props.frame,
|
|
17040
|
+
alt: "头像框",
|
|
17041
|
+
className: "absolute inset-0 transform scale-180"
|
|
17042
|
+
})]
|
|
17043
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17044
|
+
className: "flex flex-col gap-8 text-7xl",
|
|
17045
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17046
|
+
className: "text-6xl font-bold select-text text-foreground",
|
|
17047
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17048
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17049
|
+
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
17050
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(c, {
|
|
17051
|
+
size: 40,
|
|
17052
|
+
weight: "fill"
|
|
17053
|
+
}), props.create_time]
|
|
17054
|
+
})]
|
|
16963
17055
|
})]
|
|
16964
|
-
}),
|
|
16965
|
-
|
|
16966
|
-
|
|
17056
|
+
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17057
|
+
className: "shrink-0",
|
|
17058
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DecorationCard, { data: props.decoration_card })
|
|
17059
|
+
})]
|
|
17060
|
+
});
|
|
16967
17061
|
};
|
|
16968
17062
|
/**
|
|
16969
|
-
* B
|
|
17063
|
+
* B站动态状态组件
|
|
16970
17064
|
*/
|
|
16971
|
-
var
|
|
16972
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
16973
|
-
className: "flex flex-col
|
|
16974
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16975
|
-
className: "flex overflow-hidden relative flex-col flex-1 items-center w-11/12 rounded-5xl shadow-large",
|
|
16976
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
16977
|
-
src: props.data.image_url,
|
|
16978
|
-
alt: "封面",
|
|
16979
|
-
className: "object-contain w-full h-full rounded-3xl"
|
|
16980
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
16981
|
-
className: "flex absolute bottom-12 right-16",
|
|
16982
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
16983
|
-
src: "/image/bilibili/play.svg",
|
|
16984
|
-
alt: "播放图标",
|
|
16985
|
-
className: "w-40 h-40"
|
|
16986
|
-
})
|
|
16987
|
-
})]
|
|
16988
|
-
})
|
|
16989
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-10" })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
16990
|
-
className: "flex flex-col w-full leading-relaxed px-16",
|
|
17065
|
+
var BilibiliDynamicStatus = (props) => {
|
|
17066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17067
|
+
className: "flex flex-col gap-10 px-18 w-full leading-relaxed",
|
|
16991
17068
|
children: [
|
|
16992
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
16993
|
-
className: "
|
|
16994
|
-
children:
|
|
16995
|
-
|
|
16996
|
-
|
|
16997
|
-
|
|
16998
|
-
|
|
16999
|
-
|
|
17000
|
-
|
|
17001
|
-
|
|
17069
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17070
|
+
className: "flex gap-6 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
17071
|
+
children: [
|
|
17072
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17073
|
+
className: "flex gap-2 items-center",
|
|
17074
|
+
children: [
|
|
17075
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, {
|
|
17076
|
+
size: 50,
|
|
17077
|
+
className: "mt-2"
|
|
17078
|
+
}),
|
|
17079
|
+
props.dianzan,
|
|
17080
|
+
"点赞"
|
|
17081
|
+
]
|
|
17082
|
+
}),
|
|
17083
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
17084
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17085
|
+
className: "flex gap-2 items-center",
|
|
17086
|
+
children: [
|
|
17087
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommentIcon, { size: 48 }),
|
|
17088
|
+
props.pinglun,
|
|
17089
|
+
"评论"
|
|
17090
|
+
]
|
|
17091
|
+
}),
|
|
17092
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
17093
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17094
|
+
className: "flex gap-2 items-center",
|
|
17095
|
+
children: [
|
|
17096
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShareIcon, { size: 48 }),
|
|
17097
|
+
props.share,
|
|
17098
|
+
"分享"
|
|
17099
|
+
]
|
|
17100
|
+
})
|
|
17101
|
+
]
|
|
17002
17102
|
}),
|
|
17003
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
17004
|
-
|
|
17005
|
-
|
|
17006
|
-
|
|
17007
|
-
|
|
17008
|
-
|
|
17009
|
-
|
|
17010
|
-
|
|
17011
|
-
|
|
17012
|
-
|
|
17013
|
-
})
|
|
17103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17104
|
+
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
17105
|
+
children: [
|
|
17106
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(c, {
|
|
17107
|
+
size: 52,
|
|
17108
|
+
weight: "fill"
|
|
17109
|
+
}),
|
|
17110
|
+
"图片生成于: ",
|
|
17111
|
+
props.render_time
|
|
17112
|
+
]
|
|
17014
17113
|
}),
|
|
17015
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-30" }),
|
|
17016
17114
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17017
|
-
className: "flex
|
|
17115
|
+
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-[#006A9E] dark:text-[#58B0D5]",
|
|
17116
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Link, { size: 46 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["https://t.bilibili.com/", props.dynamic_id] })]
|
|
17117
|
+
})
|
|
17118
|
+
]
|
|
17119
|
+
});
|
|
17120
|
+
};
|
|
17121
|
+
/**
|
|
17122
|
+
* B站动态底部信息组件
|
|
17123
|
+
*/
|
|
17124
|
+
var BilibiliDynamicFooter = (props) => {
|
|
17125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17126
|
+
className: "flex justify-between items-start px-20 pb-20",
|
|
17127
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17128
|
+
className: "flex flex-col gap-12",
|
|
17129
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17130
|
+
className: "flex gap-12 items-start",
|
|
17018
17131
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17019
|
-
className: "
|
|
17020
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.
|
|
17021
|
-
|
|
17132
|
+
className: "relative shrink-0",
|
|
17133
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17134
|
+
src: props.avatar_url,
|
|
17135
|
+
alt: "头像",
|
|
17136
|
+
className: "rounded-full shadow-medium w-35 h-auto",
|
|
17137
|
+
isCircular: true
|
|
17138
|
+
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17139
|
+
src: props.frame,
|
|
17140
|
+
alt: "头像框",
|
|
17141
|
+
className: "absolute inset-0 transform scale-180"
|
|
17142
|
+
})]
|
|
17143
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17144
|
+
className: "flex flex-col gap-5",
|
|
17145
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17146
|
+
className: "text-7xl font-bold select-text",
|
|
17147
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17148
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17149
|
+
className: "flex gap-2 items-center text-4xl text-muted",
|
|
17150
|
+
children: [props.showUidHash && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17151
|
+
className: "text-muted",
|
|
17152
|
+
children: "#"
|
|
17153
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17154
|
+
className: "text-muted select-text",
|
|
17155
|
+
children: ["UID: ", props.user_shortid]
|
|
17156
|
+
})]
|
|
17157
|
+
})]
|
|
17158
|
+
})]
|
|
17159
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17160
|
+
className: "text-3xl flex gap-6 items-center text-foreground/70",
|
|
17161
|
+
children: [
|
|
17162
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17163
|
+
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17022
17164
|
children: [
|
|
17023
17165
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17024
|
-
className: "flex gap-
|
|
17025
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size:
|
|
17026
|
-
className: "
|
|
17027
|
-
children:
|
|
17028
|
-
})]
|
|
17029
|
-
}),
|
|
17030
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17031
|
-
className: "flex gap-3 items-center",
|
|
17032
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommentIcon, { size: 48 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17033
|
-
className: "select-text",
|
|
17034
|
-
children: [props.data.pinglun, "评论"]
|
|
17166
|
+
className: "flex gap-1 items-center",
|
|
17167
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 36 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17168
|
+
className: "text-muted",
|
|
17169
|
+
children: "获赞"
|
|
17035
17170
|
})]
|
|
17036
17171
|
}),
|
|
17037
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
17038
|
-
|
|
17039
|
-
|
|
17040
|
-
|
|
17041
|
-
children: [props.data.share, "分享"]
|
|
17042
|
-
})]
|
|
17172
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17173
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17174
|
+
className: "select-text font-medium text-4xl",
|
|
17175
|
+
children: props.total_favorited
|
|
17043
17176
|
})
|
|
17044
17177
|
]
|
|
17045
|
-
}),
|
|
17046
|
-
|
|
17178
|
+
}),
|
|
17179
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17180
|
+
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17047
17181
|
children: [
|
|
17048
17182
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17049
|
-
className: "flex gap-
|
|
17050
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17051
|
-
className: "
|
|
17052
|
-
children:
|
|
17183
|
+
className: "flex gap-1 items-center",
|
|
17184
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ViewIcon, { size: 36 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17185
|
+
className: "text-muted",
|
|
17186
|
+
children: "关注"
|
|
17053
17187
|
})]
|
|
17054
17188
|
}),
|
|
17189
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17190
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17191
|
+
className: "select-text font-medium text-4xl",
|
|
17192
|
+
children: props.following_count
|
|
17193
|
+
})
|
|
17194
|
+
]
|
|
17195
|
+
}),
|
|
17196
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17197
|
+
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17198
|
+
children: [
|
|
17055
17199
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17056
|
-
className: "flex gap-
|
|
17057
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17058
|
-
|
|
17059
|
-
|
|
17200
|
+
className: "flex gap-1 items-center",
|
|
17201
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(o, {
|
|
17202
|
+
size: 36,
|
|
17203
|
+
weight: "fill"
|
|
17204
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17205
|
+
className: "text-muted",
|
|
17206
|
+
children: "粉丝"
|
|
17060
17207
|
})]
|
|
17061
17208
|
}),
|
|
17062
|
-
/* @__PURE__ */ (0, import_jsx_runtime.
|
|
17063
|
-
|
|
17064
|
-
|
|
17065
|
-
|
|
17066
|
-
children: ["视频时长: ", props.data.duration_text]
|
|
17067
|
-
})]
|
|
17209
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17210
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17211
|
+
className: "select-text font-medium text-4xl",
|
|
17212
|
+
children: props.fans
|
|
17068
17213
|
})
|
|
17069
17214
|
]
|
|
17215
|
+
})
|
|
17216
|
+
]
|
|
17217
|
+
})]
|
|
17218
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17219
|
+
className: "flex flex-col items-center gap-4",
|
|
17220
|
+
children: props.qrCodeDataUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
17221
|
+
src: props.qrCodeDataUrl,
|
|
17222
|
+
alt: "二维码",
|
|
17223
|
+
className: "h-auto w-75 rounded-2xl"
|
|
17224
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17225
|
+
className: "flex justify-center items-center rounded-2xl bg-surface w-100 h-100",
|
|
17226
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17227
|
+
className: "text-muted",
|
|
17228
|
+
children: "二维码"
|
|
17229
|
+
})
|
|
17230
|
+
})
|
|
17231
|
+
})]
|
|
17232
|
+
});
|
|
17233
|
+
};
|
|
17234
|
+
//#endregion
|
|
17235
|
+
//#region ../template/src/components/platforms/bilibili/dynamic/DYNAMIC_TYPE_AV.tsx
|
|
17236
|
+
/**
|
|
17237
|
+
* B站视频内容组件
|
|
17238
|
+
*/
|
|
17239
|
+
var BilibiliVideoContent = (props) => {
|
|
17240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17241
|
+
className: "px-16",
|
|
17242
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17243
|
+
className: "px-12 py-12 rounded-8xl bg-surface-secondary",
|
|
17244
|
+
children: [props.data.image_url && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17245
|
+
className: "items-center",
|
|
17246
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17247
|
+
className: "flex overflow-hidden relative flex-col flex-1 items-center rounded-5xl shadow-large",
|
|
17248
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17249
|
+
src: props.data.image_url,
|
|
17250
|
+
alt: "封面",
|
|
17251
|
+
className: "object-contain w-full h-full rounded-3xl"
|
|
17252
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17253
|
+
className: "flex absolute bottom-12 right-16",
|
|
17254
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
17255
|
+
src: "/image/bilibili/play.svg",
|
|
17256
|
+
alt: "播放图标",
|
|
17257
|
+
className: "w-40 h-40"
|
|
17258
|
+
})
|
|
17070
17259
|
})]
|
|
17071
|
-
})
|
|
17072
|
-
|
|
17073
|
-
|
|
17074
|
-
|
|
17075
|
-
|
|
17076
|
-
|
|
17077
|
-
|
|
17078
|
-
|
|
17079
|
-
}
|
|
17080
|
-
|
|
17081
|
-
|
|
17082
|
-
className: "
|
|
17083
|
-
|
|
17084
|
-
}),
|
|
17085
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17086
|
-
className: "flex gap-3 items-center",
|
|
17087
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17088
|
-
className: "select-text",
|
|
17089
|
-
children: ["动态ID: ", props.data.dynamic_id]
|
|
17090
|
-
})]
|
|
17260
|
+
})
|
|
17261
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-10" })] }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17262
|
+
className: "flex flex-col w-full leading-relaxed",
|
|
17263
|
+
children: [
|
|
17264
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17265
|
+
className: "relative items-center text-6xl font-bold tracking-wider wrap-break-word text-foreground leading-tight",
|
|
17266
|
+
children: props.data.text && renderRichTextToReact(props.data.text, {
|
|
17267
|
+
at: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17268
|
+
topic: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17269
|
+
lottery: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17270
|
+
webLink: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17271
|
+
vote: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17272
|
+
viewPicture: { className: "text-[#006A9E] dark:text-[#58B0D5]" }
|
|
17091
17273
|
})
|
|
17092
|
-
|
|
17093
|
-
|
|
17094
|
-
|
|
17095
|
-
|
|
17096
|
-
|
|
17097
|
-
|
|
17274
|
+
}),
|
|
17275
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-10" }),
|
|
17276
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17277
|
+
className: "text-5xl text-muted leading-normal wrap-break-word break-keep",
|
|
17278
|
+
children: props.data.desc && renderRichTextToReact(props.data.desc, {
|
|
17279
|
+
at: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17280
|
+
topic: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17281
|
+
lottery: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17282
|
+
webLink: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17283
|
+
vote: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17284
|
+
viewPicture: { className: "text-[#006A9E] dark:text-[#58B0D5]" }
|
|
17285
|
+
})
|
|
17286
|
+
}),
|
|
17287
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-20" }),
|
|
17288
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17289
|
+
className: "flex flex-col gap-8 text-foreground/70",
|
|
17290
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17291
|
+
className: "flex gap-12 items-center text-5xl font-light tracking-normal",
|
|
17292
|
+
children: [
|
|
17293
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17294
|
+
className: "flex gap-3 items-center",
|
|
17295
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CoinIcon, { size: 52 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17296
|
+
className: "select-text",
|
|
17297
|
+
children: [props.data.coin, "硬币"]
|
|
17298
|
+
})]
|
|
17299
|
+
}),
|
|
17300
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17301
|
+
className: "flex gap-3 items-center",
|
|
17302
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ViewIcon, {
|
|
17303
|
+
size: 52,
|
|
17304
|
+
variant: "solid"
|
|
17305
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17306
|
+
className: "select-text",
|
|
17307
|
+
children: [props.data.view, "播放"]
|
|
17308
|
+
})]
|
|
17309
|
+
}),
|
|
17310
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17311
|
+
className: "flex gap-3 items-center text-5xl font-light tracking-normal",
|
|
17312
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(c, {
|
|
17313
|
+
size: 52,
|
|
17314
|
+
weight: "fill"
|
|
17315
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17316
|
+
className: "select-text",
|
|
17317
|
+
children: [
|
|
17318
|
+
"时长(",
|
|
17319
|
+
props.data.page_length,
|
|
17320
|
+
"P): ",
|
|
17321
|
+
props.data.duration_text
|
|
17322
|
+
]
|
|
17323
|
+
})]
|
|
17324
|
+
})
|
|
17325
|
+
]
|
|
17326
|
+
})
|
|
17327
|
+
}),
|
|
17328
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-2" })
|
|
17329
|
+
]
|
|
17330
|
+
})]
|
|
17331
|
+
})
|
|
17332
|
+
});
|
|
17098
17333
|
};
|
|
17099
17334
|
/**
|
|
17100
|
-
* B
|
|
17335
|
+
* B站视频动态共创者组件
|
|
17101
17336
|
*/
|
|
17102
|
-
var
|
|
17337
|
+
var BilibiliVideoStaff = (props) => {
|
|
17103
17338
|
const otherStaff = props.data.staff?.filter((member) => member.mid !== Number(props.data.user_shortid)) || [];
|
|
17104
|
-
const currentUserRole = props.data.staff?.find((member) => member.mid === Number(props.data.user_shortid))?.title;
|
|
17105
17339
|
const listRef = import_react.useRef(null);
|
|
17106
17340
|
const [visibleCount, setVisibleCount] = import_react.useState(otherStaff.length);
|
|
17107
17341
|
import_react.useEffect(() => {
|
|
@@ -17116,167 +17350,59 @@ var BilibiliVideoDynamicFooter = (props) => {
|
|
|
17116
17350
|
window.addEventListener("resize", calc);
|
|
17117
17351
|
return () => window.removeEventListener("resize", calc);
|
|
17118
17352
|
}, [otherStaff.length]);
|
|
17119
|
-
|
|
17120
|
-
|
|
17121
|
-
|
|
17122
|
-
|
|
17123
|
-
|
|
17124
|
-
|
|
17125
|
-
|
|
17126
|
-
|
|
17127
|
-
|
|
17128
|
-
|
|
17129
|
-
|
|
17130
|
-
|
|
17131
|
-
|
|
17132
|
-
|
|
17133
|
-
|
|
17134
|
-
isCircular: true
|
|
17135
|
-
})
|
|
17136
|
-
}),
|
|
17137
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17138
|
-
className: "overflow-hidden mt-6 w-full text-3xl font-medium leading-tight text-center truncate whitespace-nowrap select-text text-foreground",
|
|
17139
|
-
children: member.name
|
|
17140
|
-
}),
|
|
17141
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17142
|
-
className: "overflow-hidden mt-2 w-full text-3xl leading-tight text-center truncate whitespace-nowrap select-text text-muted",
|
|
17143
|
-
children: member.title
|
|
17144
|
-
})
|
|
17145
|
-
]
|
|
17146
|
-
}, member.mid)), otherStaff.length > visibleCount && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17147
|
-
className: "flex flex-col items-center min-w-42 w-42 shrink-0",
|
|
17148
|
-
children: [
|
|
17149
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17150
|
-
className: "flex justify-center items-center rounded-full bg-surface-secondary w-30 h-30",
|
|
17151
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17152
|
-
className: "text-[42px] leading-none text-muted",
|
|
17153
|
-
children: "···"
|
|
17154
|
-
})
|
|
17155
|
-
}),
|
|
17156
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17157
|
-
className: "overflow-hidden mt-6 w-full text-3xl font-medium leading-tight text-center truncate whitespace-nowrap select-text text-foreground",
|
|
17158
|
-
children: [
|
|
17159
|
-
"还有",
|
|
17160
|
-
otherStaff.length - visibleCount,
|
|
17161
|
-
"人"
|
|
17162
|
-
]
|
|
17163
|
-
}),
|
|
17164
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17165
|
-
className: "overflow-hidden mt-2 w-full text-3xl leading-tight text-center truncate whitespace-nowrap select-text text-muted",
|
|
17166
|
-
children: "共创"
|
|
17167
|
-
})
|
|
17168
|
-
]
|
|
17169
|
-
})]
|
|
17170
|
-
})
|
|
17171
|
-
}),
|
|
17172
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" }),
|
|
17173
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17174
|
-
className: "flex justify-between items-start px-20 pb-20",
|
|
17175
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17176
|
-
className: "flex flex-col gap-12",
|
|
17177
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17178
|
-
className: "flex gap-12 items-start",
|
|
17179
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17180
|
-
className: "relative shrink-0",
|
|
17181
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17182
|
-
src: props.data.avatar_url,
|
|
17183
|
-
alt: "头像",
|
|
17184
|
-
className: "rounded-full shadow-medium w-35 h-auto",
|
|
17353
|
+
if (otherStaff.length === 0) return null;
|
|
17354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17355
|
+
className: "flex flex-col px-20 w-full",
|
|
17356
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17357
|
+
ref: listRef,
|
|
17358
|
+
className: "flex overflow-hidden gap-8 py-1 w-full",
|
|
17359
|
+
children: [otherStaff.slice(0, visibleCount).map((member) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17360
|
+
className: "flex flex-col items-center min-w-42 w-42 shrink-0",
|
|
17361
|
+
children: [
|
|
17362
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17363
|
+
className: "flex justify-center items-center bg-white rounded-full w-30 h-30",
|
|
17364
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17365
|
+
src: member.face,
|
|
17366
|
+
alt: member.name,
|
|
17367
|
+
className: "object-cover w-28 h-28 rounded-full",
|
|
17185
17368
|
isCircular: true
|
|
17186
|
-
}), props.data.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17187
|
-
src: props.data.frame,
|
|
17188
|
-
alt: "头像框",
|
|
17189
|
-
className: "absolute inset-0 transform scale-180"
|
|
17190
|
-
})]
|
|
17191
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17192
|
-
className: "flex flex-col gap-5",
|
|
17193
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17194
|
-
className: "text-7xl font-bold select-text text-foreground",
|
|
17195
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.data.usernameMeta })
|
|
17196
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17197
|
-
className: "flex gap-2 items-center text-4xl text-muted",
|
|
17198
|
-
children: [
|
|
17199
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }),
|
|
17200
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: ["UID: ", props.data.user_shortid] }),
|
|
17201
|
-
currentUserRole && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17202
|
-
className: "ml-5 px-3 py-1 rounded-xl bg-surface-secondary text-3xl",
|
|
17203
|
-
children: currentUserRole
|
|
17204
|
-
})
|
|
17205
|
-
]
|
|
17206
|
-
})]
|
|
17207
|
-
})]
|
|
17208
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17209
|
-
className: "text-3xl flex gap-6 items-center text-foreground/70",
|
|
17210
|
-
children: [
|
|
17211
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17212
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17213
|
-
children: [
|
|
17214
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17215
|
-
className: "flex gap-1 items-center",
|
|
17216
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17217
|
-
className: "text-muted",
|
|
17218
|
-
children: "获赞"
|
|
17219
|
-
})]
|
|
17220
|
-
}),
|
|
17221
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17222
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17223
|
-
className: "select-text font-medium text-4xl",
|
|
17224
|
-
children: props.data.total_favorited
|
|
17225
|
-
})
|
|
17226
|
-
]
|
|
17227
|
-
}),
|
|
17228
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17229
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17230
|
-
children: [
|
|
17231
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17232
|
-
className: "flex gap-1 items-center",
|
|
17233
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17234
|
-
className: "text-muted",
|
|
17235
|
-
children: "关注"
|
|
17236
|
-
})]
|
|
17237
|
-
}),
|
|
17238
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17239
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17240
|
-
className: "select-text font-medium text-4xl",
|
|
17241
|
-
children: props.data.following_count
|
|
17242
|
-
})
|
|
17243
|
-
]
|
|
17244
|
-
}),
|
|
17245
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17246
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17247
|
-
children: [
|
|
17248
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17249
|
-
className: "flex gap-1 items-center",
|
|
17250
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17251
|
-
className: "text-muted",
|
|
17252
|
-
children: "粉丝"
|
|
17253
|
-
})]
|
|
17254
|
-
}),
|
|
17255
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17256
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17257
|
-
className: "select-text font-medium text-4xl",
|
|
17258
|
-
children: props.data.fans
|
|
17259
|
-
})
|
|
17260
|
-
]
|
|
17261
17369
|
})
|
|
17262
|
-
|
|
17263
|
-
|
|
17264
|
-
|
|
17265
|
-
|
|
17266
|
-
|
|
17267
|
-
|
|
17268
|
-
|
|
17269
|
-
|
|
17270
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17271
|
-
className: "flex justify-center items-center rounded-xl bg-surface w-100 h-100",
|
|
17272
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17273
|
-
className: "text-muted",
|
|
17274
|
-
children: "二维码"
|
|
17370
|
+
}),
|
|
17371
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17372
|
+
className: "overflow-hidden mt-6 w-full text-3xl font-medium leading-tight text-center truncate whitespace-nowrap select-text text-foreground",
|
|
17373
|
+
children: member.name
|
|
17374
|
+
}),
|
|
17375
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17376
|
+
className: "overflow-hidden mt-2 w-full text-3xl leading-tight text-center truncate whitespace-nowrap select-text text-muted",
|
|
17377
|
+
children: member.title
|
|
17275
17378
|
})
|
|
17276
|
-
|
|
17379
|
+
]
|
|
17380
|
+
}, member.mid)), otherStaff.length > visibleCount && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17381
|
+
className: "flex flex-col items-center min-w-42 w-42 shrink-0",
|
|
17382
|
+
children: [
|
|
17383
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17384
|
+
className: "flex justify-center items-center rounded-full bg-surface-secondary w-30 h-30",
|
|
17385
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17386
|
+
className: "text-[42px] leading-none text-muted",
|
|
17387
|
+
children: "···"
|
|
17388
|
+
})
|
|
17389
|
+
}),
|
|
17390
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17391
|
+
className: "overflow-hidden mt-6 w-full text-3xl font-medium leading-tight text-center truncate whitespace-nowrap select-text text-foreground",
|
|
17392
|
+
children: [
|
|
17393
|
+
"还有",
|
|
17394
|
+
otherStaff.length - visibleCount,
|
|
17395
|
+
"人"
|
|
17396
|
+
]
|
|
17397
|
+
}),
|
|
17398
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17399
|
+
className: "overflow-hidden mt-2 w-full text-3xl leading-tight text-center truncate whitespace-nowrap select-text text-muted",
|
|
17400
|
+
children: "共创"
|
|
17401
|
+
})
|
|
17402
|
+
]
|
|
17277
17403
|
})]
|
|
17278
|
-
})
|
|
17279
|
-
|
|
17404
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" })]
|
|
17405
|
+
});
|
|
17280
17406
|
};
|
|
17281
17407
|
/**
|
|
17282
17408
|
* B站视频动态组件
|
|
@@ -17287,9 +17413,50 @@ var BilibiliVideoDynamic = import_react.memo((props) => {
|
|
|
17287
17413
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17288
17414
|
className: "p-4",
|
|
17289
17415
|
children: [
|
|
17290
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17291
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17292
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
17416
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-25" }),
|
|
17417
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicUserInfo, { ...props.data }),
|
|
17418
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" }),
|
|
17419
|
+
props.data.dynamic_text && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17420
|
+
className: "flex flex-col px-20 w-full leading-relaxed",
|
|
17421
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17422
|
+
className: "relative items-center text-5xl tracking-wider wrap-break-word text-foreground",
|
|
17423
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17424
|
+
className: "text-[60px] tracking-[0.5px] leading-[1.6] whitespace-pre-wrap text-foreground select-text",
|
|
17425
|
+
style: {
|
|
17426
|
+
wordBreak: "break-word",
|
|
17427
|
+
overflowWrap: "break-word"
|
|
17428
|
+
},
|
|
17429
|
+
children: props.data.dynamic_text.nodes.length > 0 ? renderRichTextToReact(props.data.dynamic_text, {
|
|
17430
|
+
at: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17431
|
+
topic: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17432
|
+
lottery: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17433
|
+
webLink: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17434
|
+
vote: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
17435
|
+
viewPicture: { className: "text-[#006A9E] dark:text-[#58B0D5]" }
|
|
17436
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17437
|
+
className: "text-default-foreground/50",
|
|
17438
|
+
children: "投稿了视频"
|
|
17439
|
+
})
|
|
17440
|
+
})
|
|
17441
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" })]
|
|
17442
|
+
}),
|
|
17443
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliVideoContent, { ...props }),
|
|
17444
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" }),
|
|
17445
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicStatus, { ...props.data }),
|
|
17446
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: clsx(props.data.staff && props.data.staff.length > 0 && "h-23", !props.data.staff && "h-40") }),
|
|
17447
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliVideoStaff, { ...props }),
|
|
17448
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicFooter, {
|
|
17449
|
+
avatar_url: props.data.avatar_url,
|
|
17450
|
+
frame: props.data.frame,
|
|
17451
|
+
usernameMeta: props.data.usernameMeta,
|
|
17452
|
+
user_shortid: props.data.user_shortid,
|
|
17453
|
+
total_favorited: props.data.total_favorited,
|
|
17454
|
+
following_count: props.data.following_count,
|
|
17455
|
+
fans: props.data.fans,
|
|
17456
|
+
dynamicTYPE: props.data.dynamicTYPE,
|
|
17457
|
+
share_url: props.data.share_url,
|
|
17458
|
+
qrCodeDataUrl: props.qrCodeDataUrl
|
|
17459
|
+
})
|
|
17293
17460
|
]
|
|
17294
17461
|
})
|
|
17295
17462
|
});
|
|
@@ -17303,7 +17470,7 @@ BilibiliVideoDynamic.displayName = "BilibiliVideoDynamic";
|
|
|
17303
17470
|
var BilibiliReserveCard = ({ reserve }) => {
|
|
17304
17471
|
if (!reserve) return null;
|
|
17305
17472
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17306
|
-
className: "overflow-hidden rounded-
|
|
17473
|
+
className: "overflow-hidden rounded-4xl bg-surface",
|
|
17307
17474
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17308
17475
|
className: "flex gap-8 justify-between items-center px-10 py-10",
|
|
17309
17476
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -17351,7 +17518,7 @@ var BilibiliVoteCard = ({ vote }) => {
|
|
|
17351
17518
|
if (!vote) return null;
|
|
17352
17519
|
const isEnded = vote.status === 4;
|
|
17353
17520
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17354
|
-
className: "overflow-hidden rounded-
|
|
17521
|
+
className: "overflow-hidden rounded-4xl bg-surface",
|
|
17355
17522
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17356
17523
|
className: "flex gap-8 items-center px-10 py-8",
|
|
17357
17524
|
children: [
|
|
@@ -17456,7 +17623,7 @@ var BilibiliUgcCard = ({ ugc }) => {
|
|
|
17456
17623
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17457
17624
|
src: ugc.cover,
|
|
17458
17625
|
alt: ugc.title,
|
|
17459
|
-
className: "h-52 w-auto rounded-
|
|
17626
|
+
className: "h-52 w-auto rounded-4xl"
|
|
17460
17627
|
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17461
17628
|
className: "absolute bottom-7 right-7 px-3 py-1 rounded-lg bg-black/70 text-white text-3xl",
|
|
17462
17629
|
children: ugc.duration
|
|
@@ -17477,10 +17644,10 @@ var BilibiliUgcCard = ({ ugc }) => {
|
|
|
17477
17644
|
/**
|
|
17478
17645
|
* B站相关卡片容器组件
|
|
17479
17646
|
*/
|
|
17480
|
-
var BilibiliAdditionalCard = ({ additional }) => {
|
|
17647
|
+
var BilibiliAdditionalCard = ({ additional, gap = true, className }) => {
|
|
17481
17648
|
if (!additional) return null;
|
|
17482
17649
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17483
|
-
className: "px-20 pb-20",
|
|
17650
|
+
className: clsx(gap && "px-20 pb-20", className),
|
|
17484
17651
|
children: [
|
|
17485
17652
|
additional.type === "ADDITIONAL_TYPE_RESERVE" && additional.reserve && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliReserveCard, { reserve: additional.reserve }),
|
|
17486
17653
|
additional.type === "ADDITIONAL_TYPE_VOTE" && additional.vote && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliVoteCard, { vote: additional.vote }),
|
|
@@ -17492,42 +17659,6 @@ var BilibiliAdditionalCard = ({ additional }) => {
|
|
|
17492
17659
|
//#endregion
|
|
17493
17660
|
//#region ../template/src/components/platforms/bilibili/dynamic/DYNAMIC_TYPE_DRAW.tsx
|
|
17494
17661
|
/**
|
|
17495
|
-
* B站动态用户信息组件
|
|
17496
|
-
*/
|
|
17497
|
-
var BilibiliDynamicUserInfo$1 = (props) => {
|
|
17498
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17499
|
-
className: "flex gap-10 items-center justify-between px-0 pb-0 pl-24 pr-10",
|
|
17500
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17501
|
-
className: "flex gap-10 items-center",
|
|
17502
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17503
|
-
className: "relative",
|
|
17504
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17505
|
-
src: props.avatar_url,
|
|
17506
|
-
alt: "头像",
|
|
17507
|
-
className: "w-32 h-32 rounded-full shadow-medium",
|
|
17508
|
-
isCircular: true
|
|
17509
|
-
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17510
|
-
src: props.frame,
|
|
17511
|
-
alt: "头像框",
|
|
17512
|
-
className: "absolute inset-0 transform scale-180"
|
|
17513
|
-
})]
|
|
17514
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17515
|
-
className: "flex flex-col gap-8 text-7xl",
|
|
17516
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17517
|
-
className: "text-6xl font-bold select-text text-foreground",
|
|
17518
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17519
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17520
|
-
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
17521
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.create_time]
|
|
17522
|
-
})]
|
|
17523
|
-
})]
|
|
17524
|
-
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17525
|
-
className: "shrink-0",
|
|
17526
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DecorationCard, { data: props.decoration_card })
|
|
17527
|
-
})]
|
|
17528
|
-
});
|
|
17529
|
-
};
|
|
17530
|
-
/**
|
|
17531
17662
|
* B站动态内容组件
|
|
17532
17663
|
*/
|
|
17533
17664
|
var BilibiliDynamicContent = (props) => {
|
|
@@ -17656,163 +17787,6 @@ var BilibiliDynamicContent = (props) => {
|
|
|
17656
17787
|
] });
|
|
17657
17788
|
};
|
|
17658
17789
|
/**
|
|
17659
|
-
* B站动态状态组件
|
|
17660
|
-
*/
|
|
17661
|
-
var BilibiliDynamicStatus$1 = (props) => {
|
|
17662
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17663
|
-
className: "flex flex-col gap-10 px-20 w-full leading-relaxed",
|
|
17664
|
-
children: [
|
|
17665
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17666
|
-
className: "flex gap-6 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
17667
|
-
children: [
|
|
17668
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17669
|
-
className: "flex gap-2 items-center",
|
|
17670
|
-
children: [
|
|
17671
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 48 }),
|
|
17672
|
-
props.dianzan,
|
|
17673
|
-
"点赞"
|
|
17674
|
-
]
|
|
17675
|
-
}),
|
|
17676
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
17677
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17678
|
-
className: "flex gap-2 items-center",
|
|
17679
|
-
children: [
|
|
17680
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommentIcon, { size: 48 }),
|
|
17681
|
-
props.pinglun,
|
|
17682
|
-
"评论"
|
|
17683
|
-
]
|
|
17684
|
-
}),
|
|
17685
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
17686
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17687
|
-
className: "flex gap-2 items-center",
|
|
17688
|
-
children: [
|
|
17689
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShareIcon, { size: 48 }),
|
|
17690
|
-
props.share,
|
|
17691
|
-
"分享"
|
|
17692
|
-
]
|
|
17693
|
-
})
|
|
17694
|
-
]
|
|
17695
|
-
}),
|
|
17696
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17697
|
-
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
17698
|
-
children: [
|
|
17699
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }),
|
|
17700
|
-
"图片生成于: ",
|
|
17701
|
-
props.render_time
|
|
17702
|
-
]
|
|
17703
|
-
}),
|
|
17704
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-3" })
|
|
17705
|
-
]
|
|
17706
|
-
});
|
|
17707
|
-
};
|
|
17708
|
-
/**
|
|
17709
|
-
* B站动态底部信息组件
|
|
17710
|
-
*/
|
|
17711
|
-
var BilibiliDynamicFooter$1 = (props) => {
|
|
17712
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17713
|
-
className: "flex justify-between items-start px-20 pb-20",
|
|
17714
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17715
|
-
className: "flex flex-col gap-12",
|
|
17716
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17717
|
-
className: "flex gap-12 items-start",
|
|
17718
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17719
|
-
className: "relative shrink-0",
|
|
17720
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17721
|
-
src: props.avatar_url,
|
|
17722
|
-
alt: "头像",
|
|
17723
|
-
className: "rounded-full shadow-medium w-35 h-auto",
|
|
17724
|
-
isCircular: true
|
|
17725
|
-
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17726
|
-
src: props.frame,
|
|
17727
|
-
alt: "头像框",
|
|
17728
|
-
className: "absolute inset-0 transform scale-180"
|
|
17729
|
-
})]
|
|
17730
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17731
|
-
className: "flex flex-col gap-5",
|
|
17732
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17733
|
-
className: "text-7xl font-bold select-text",
|
|
17734
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17735
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17736
|
-
className: "flex gap-2 items-center text-4xl text-muted",
|
|
17737
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
17738
|
-
className: "text-muted select-text",
|
|
17739
|
-
children: ["UID: ", props.user_shortid]
|
|
17740
|
-
})
|
|
17741
|
-
})]
|
|
17742
|
-
})]
|
|
17743
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17744
|
-
className: "text-3xl flex gap-6 items-center text-foreground/70",
|
|
17745
|
-
children: [
|
|
17746
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17747
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17748
|
-
children: [
|
|
17749
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17750
|
-
className: "flex gap-1 items-center",
|
|
17751
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17752
|
-
className: "text-muted",
|
|
17753
|
-
children: "获赞"
|
|
17754
|
-
})]
|
|
17755
|
-
}),
|
|
17756
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17757
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17758
|
-
className: "select-text font-medium text-4xl",
|
|
17759
|
-
children: props.total_favorited
|
|
17760
|
-
})
|
|
17761
|
-
]
|
|
17762
|
-
}),
|
|
17763
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17764
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17765
|
-
children: [
|
|
17766
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17767
|
-
className: "flex gap-1 items-center",
|
|
17768
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17769
|
-
className: "text-muted",
|
|
17770
|
-
children: "关注"
|
|
17771
|
-
})]
|
|
17772
|
-
}),
|
|
17773
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17774
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17775
|
-
className: "select-text font-medium text-4xl",
|
|
17776
|
-
children: props.following_count
|
|
17777
|
-
})
|
|
17778
|
-
]
|
|
17779
|
-
}),
|
|
17780
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17781
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
17782
|
-
children: [
|
|
17783
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17784
|
-
className: "flex gap-1 items-center",
|
|
17785
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17786
|
-
className: "text-muted",
|
|
17787
|
-
children: "粉丝"
|
|
17788
|
-
})]
|
|
17789
|
-
}),
|
|
17790
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
17791
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17792
|
-
className: "select-text font-medium text-4xl",
|
|
17793
|
-
children: props.fans
|
|
17794
|
-
})
|
|
17795
|
-
]
|
|
17796
|
-
})
|
|
17797
|
-
]
|
|
17798
|
-
})]
|
|
17799
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17800
|
-
className: "flex flex-col items-center gap-4",
|
|
17801
|
-
children: props.qrCodeDataUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
17802
|
-
src: props.qrCodeDataUrl,
|
|
17803
|
-
alt: "二维码",
|
|
17804
|
-
className: "h-auto w-75 rounded-2xl"
|
|
17805
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17806
|
-
className: "flex justify-center items-center rounded-2xl bg-surface w-100 h-100",
|
|
17807
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
17808
|
-
className: "text-muted",
|
|
17809
|
-
children: "二维码"
|
|
17810
|
-
})
|
|
17811
|
-
})
|
|
17812
|
-
})]
|
|
17813
|
-
});
|
|
17814
|
-
};
|
|
17815
|
-
/**
|
|
17816
17790
|
* B站动态组件
|
|
17817
17791
|
*/
|
|
17818
17792
|
var BilibiliDrawDynamic = import_react.memo((props) => {
|
|
@@ -17822,13 +17796,7 @@ var BilibiliDrawDynamic = import_react.memo((props) => {
|
|
|
17822
17796
|
className: "p-4",
|
|
17823
17797
|
children: [
|
|
17824
17798
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-25" }),
|
|
17825
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicUserInfo
|
|
17826
|
-
avatar_url: props.data.avatar_url,
|
|
17827
|
-
frame: props.data.frame,
|
|
17828
|
-
usernameMeta: props.data.usernameMeta,
|
|
17829
|
-
create_time: props.data.create_time,
|
|
17830
|
-
decoration_card: props.data.decoration_card
|
|
17831
|
-
}),
|
|
17799
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicUserInfo, { ...props.data }),
|
|
17832
17800
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" }),
|
|
17833
17801
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicContent, {
|
|
17834
17802
|
title: props.data.title,
|
|
@@ -17837,14 +17805,9 @@ var BilibiliDrawDynamic = import_react.memo((props) => {
|
|
|
17837
17805
|
imageLayout: props.data.imageLayout,
|
|
17838
17806
|
additional: props.data.additional
|
|
17839
17807
|
}),
|
|
17840
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicStatus
|
|
17841
|
-
dianzan: props.data.dianzan,
|
|
17842
|
-
pinglun: props.data.pinglun,
|
|
17843
|
-
share: props.data.share,
|
|
17844
|
-
render_time: props.data.render_time
|
|
17845
|
-
}),
|
|
17808
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicStatus, { ...props.data }),
|
|
17846
17809
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-23" }),
|
|
17847
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicFooter
|
|
17810
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicFooter, {
|
|
17848
17811
|
avatar_url: props.data.avatar_url,
|
|
17849
17812
|
frame: props.data.frame,
|
|
17850
17813
|
usernameMeta: props.data.usernameMeta,
|
|
@@ -17864,47 +17827,11 @@ BilibiliDrawDynamic.displayName = "BilibiliDrawDynamic";
|
|
|
17864
17827
|
//#endregion
|
|
17865
17828
|
//#region ../template/src/components/platforms/bilibili/dynamic/DYNAMIC_TYPE_FORWARD.tsx
|
|
17866
17829
|
/**
|
|
17867
|
-
* B站转发动态用户信息组件
|
|
17868
|
-
*/
|
|
17869
|
-
var BilibiliForwardUserInfo = (props) => {
|
|
17870
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17871
|
-
className: "flex gap-10 items-center justify-between px-0 pb-0 pl-24 pr-10",
|
|
17872
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17873
|
-
className: "flex gap-10 items-center",
|
|
17874
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17875
|
-
className: "relative",
|
|
17876
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17877
|
-
src: props.avatar_url,
|
|
17878
|
-
alt: "头像",
|
|
17879
|
-
className: "w-36 h-36 rounded-full shadow-medium",
|
|
17880
|
-
isCircular: true
|
|
17881
|
-
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
17882
|
-
src: props.frame,
|
|
17883
|
-
alt: "头像框",
|
|
17884
|
-
className: "absolute inset-0 transform scale-180"
|
|
17885
|
-
})]
|
|
17886
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17887
|
-
className: "flex flex-col gap-8 text-7xl",
|
|
17888
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17889
|
-
className: "text-6xl font-bold select-text text-foreground",
|
|
17890
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
17891
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17892
|
-
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
17893
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.create_time]
|
|
17894
|
-
})]
|
|
17895
|
-
})]
|
|
17896
|
-
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17897
|
-
className: "shrink-0",
|
|
17898
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DecorationCard, { data: props.decoration_card })
|
|
17899
|
-
})]
|
|
17900
|
-
});
|
|
17901
|
-
};
|
|
17902
|
-
/**
|
|
17903
17830
|
* 原始内容用户信息组件
|
|
17904
17831
|
*/
|
|
17905
17832
|
var OriginalUserInfo = (props) => {
|
|
17906
17833
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17907
|
-
className: "flex justify-between items-center pt-
|
|
17834
|
+
className: "flex justify-between items-center pt-6 pb-10 pl-6 pr-0",
|
|
17908
17835
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17909
17836
|
className: "flex gap-10 items-center min-w-0",
|
|
17910
17837
|
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
@@ -17994,7 +17921,7 @@ var OriginalAVContent = ({ content }) => {
|
|
|
17994
17921
|
*/
|
|
17995
17922
|
var OriginalDrawContent = ({ content }) => {
|
|
17996
17923
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
17997
|
-
className: "px-12 py-
|
|
17924
|
+
className: "px-12 py-12 mt-4 w-full rounded-8xl bg-surface-secondary",
|
|
17998
17925
|
children: [
|
|
17999
17926
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(OriginalUserInfo, {
|
|
18000
17927
|
avatar_url: content.avatar_url,
|
|
@@ -18026,7 +17953,7 @@ var OriginalDrawContent = ({ content }) => {
|
|
|
18026
17953
|
})
|
|
18027
17954
|
}),
|
|
18028
17955
|
content.image_url && content.image_url.length === 1 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18029
|
-
className: "flex justify-center py-11 pb-
|
|
17956
|
+
className: "flex justify-center py-11 pb-0",
|
|
18030
17957
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18031
17958
|
className: "flex overflow-hidden flex-col items-center w-full rounded-4xl shadow-large",
|
|
18032
17959
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
@@ -18035,9 +17962,9 @@ var OriginalDrawContent = ({ content }) => {
|
|
|
18035
17962
|
className: "object-cover w-full h-full rounded-6"
|
|
18036
17963
|
})
|
|
18037
17964
|
})
|
|
18038
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.
|
|
18039
|
-
className: `grid gap-3
|
|
18040
|
-
children:
|
|
17965
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
17966
|
+
className: `grid gap-3 ${content.image_url?.length === 4 ? "grid-cols-2" : "grid-cols-3"}`,
|
|
17967
|
+
children: content.image_url?.map((img, index) => {
|
|
18041
17968
|
const total = content.image_url?.length || 0;
|
|
18042
17969
|
const cols = total === 4 ? 2 : 3;
|
|
18043
17970
|
const row = Math.floor(index / cols);
|
|
@@ -18060,10 +17987,10 @@ var OriginalDrawContent = ({ content }) => {
|
|
|
18060
17987
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
18061
17988
|
src: img.image_src,
|
|
18062
17989
|
alt: `图片${index + 1}`,
|
|
18063
|
-
className: "object-cover
|
|
17990
|
+
className: "object-cover w-full h-full"
|
|
18064
17991
|
})
|
|
18065
17992
|
}, index);
|
|
18066
|
-
})
|
|
17993
|
+
})
|
|
18067
17994
|
})
|
|
18068
17995
|
]
|
|
18069
17996
|
});
|
|
@@ -18074,27 +18001,35 @@ var OriginalDrawContent = ({ content }) => {
|
|
|
18074
18001
|
var OriginalWordContent = ({ content }) => {
|
|
18075
18002
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18076
18003
|
className: "px-12 py-8 mt-4 w-full rounded-8xl bg-surface-secondary",
|
|
18077
|
-
children: [
|
|
18078
|
-
|
|
18079
|
-
|
|
18080
|
-
|
|
18081
|
-
|
|
18082
|
-
|
|
18083
|
-
|
|
18084
|
-
|
|
18085
|
-
|
|
18086
|
-
className: "
|
|
18087
|
-
children:
|
|
18088
|
-
|
|
18089
|
-
|
|
18090
|
-
|
|
18091
|
-
|
|
18092
|
-
|
|
18093
|
-
|
|
18094
|
-
|
|
18004
|
+
children: [
|
|
18005
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(OriginalUserInfo, {
|
|
18006
|
+
avatar_url: content.avatar_url,
|
|
18007
|
+
frame: content.frame,
|
|
18008
|
+
usernameMeta: content.usernameMeta,
|
|
18009
|
+
create_time: content.create_time,
|
|
18010
|
+
decoration_card: content.decoration_card
|
|
18011
|
+
}),
|
|
18012
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18013
|
+
className: "py-4",
|
|
18014
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18015
|
+
className: "text-5xl leading-relaxed text-foreground wrap-break-word",
|
|
18016
|
+
children: content.text && renderRichTextToReact(content.text, {
|
|
18017
|
+
at: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
18018
|
+
topic: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
18019
|
+
lottery: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
18020
|
+
webLink: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
18021
|
+
vote: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
18022
|
+
viewPicture: { className: "text-[#006A9E] dark:text-[#58B0D5]" },
|
|
18023
|
+
iconScale: .8
|
|
18024
|
+
})
|
|
18095
18025
|
})
|
|
18026
|
+
}),
|
|
18027
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliAdditionalCard, {
|
|
18028
|
+
additional: content.additional,
|
|
18029
|
+
gap: false,
|
|
18030
|
+
className: "pb-4"
|
|
18096
18031
|
})
|
|
18097
|
-
|
|
18032
|
+
]
|
|
18098
18033
|
});
|
|
18099
18034
|
};
|
|
18100
18035
|
/**
|
|
@@ -18194,163 +18129,6 @@ var BilibiliForwardContent = (props) => {
|
|
|
18194
18129
|
] });
|
|
18195
18130
|
};
|
|
18196
18131
|
/**
|
|
18197
|
-
* B站转发动态状态组件
|
|
18198
|
-
*/
|
|
18199
|
-
var BilibiliForwardStatus = (props) => {
|
|
18200
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18201
|
-
className: "flex flex-col gap-10 px-20 w-full leading-relaxed",
|
|
18202
|
-
children: [
|
|
18203
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18204
|
-
className: "flex gap-6 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
18205
|
-
children: [
|
|
18206
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18207
|
-
className: "flex gap-2 items-center",
|
|
18208
|
-
children: [
|
|
18209
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 48 }),
|
|
18210
|
-
props.dianzan,
|
|
18211
|
-
"点赞"
|
|
18212
|
-
]
|
|
18213
|
-
}),
|
|
18214
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
18215
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18216
|
-
className: "flex gap-2 items-center",
|
|
18217
|
-
children: [
|
|
18218
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommentIcon, { size: 48 }),
|
|
18219
|
-
props.pinglun,
|
|
18220
|
-
"评论"
|
|
18221
|
-
]
|
|
18222
|
-
}),
|
|
18223
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
18224
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18225
|
-
className: "flex gap-2 items-center",
|
|
18226
|
-
children: [
|
|
18227
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShareIcon, { size: 48 }),
|
|
18228
|
-
props.share,
|
|
18229
|
-
"分享"
|
|
18230
|
-
]
|
|
18231
|
-
})
|
|
18232
|
-
]
|
|
18233
|
-
}),
|
|
18234
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18235
|
-
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
18236
|
-
children: [
|
|
18237
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }),
|
|
18238
|
-
"图片生成于: ",
|
|
18239
|
-
props.render_time
|
|
18240
|
-
]
|
|
18241
|
-
}),
|
|
18242
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-3" })
|
|
18243
|
-
]
|
|
18244
|
-
});
|
|
18245
|
-
};
|
|
18246
|
-
/**
|
|
18247
|
-
* B站转发动态底部信息组件
|
|
18248
|
-
*/
|
|
18249
|
-
var BilibiliForwardFooter = (props) => {
|
|
18250
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18251
|
-
className: "flex justify-between items-start px-20 pb-20",
|
|
18252
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18253
|
-
className: "flex flex-col gap-12",
|
|
18254
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18255
|
-
className: "flex gap-12 items-start",
|
|
18256
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18257
|
-
className: "relative shrink-0",
|
|
18258
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
18259
|
-
src: props.avatar_url,
|
|
18260
|
-
alt: "头像",
|
|
18261
|
-
className: "rounded-full shadow-medium w-35 h-auto",
|
|
18262
|
-
isCircular: true
|
|
18263
|
-
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
18264
|
-
src: props.frame,
|
|
18265
|
-
alt: "头像框",
|
|
18266
|
-
className: "absolute inset-0 transform scale-180"
|
|
18267
|
-
})]
|
|
18268
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18269
|
-
className: "flex flex-col gap-5",
|
|
18270
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18271
|
-
className: "text-7xl font-bold select-text text-foreground",
|
|
18272
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
18273
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18274
|
-
className: "flex gap-2 items-center text-4xl text-muted",
|
|
18275
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Hash, { size: 32 }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
18276
|
-
className: "select-text",
|
|
18277
|
-
children: ["UID: ", props.user_shortid]
|
|
18278
|
-
})]
|
|
18279
|
-
})]
|
|
18280
|
-
})]
|
|
18281
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18282
|
-
className: "text-3xl flex gap-6 items-center text-foreground/70",
|
|
18283
|
-
children: [
|
|
18284
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18285
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
18286
|
-
children: [
|
|
18287
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18288
|
-
className: "flex gap-1 items-center",
|
|
18289
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18290
|
-
className: "text-muted",
|
|
18291
|
-
children: "获赞"
|
|
18292
|
-
})]
|
|
18293
|
-
}),
|
|
18294
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
18295
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18296
|
-
className: "select-text font-medium text-4xl",
|
|
18297
|
-
children: props.total_favorited
|
|
18298
|
-
})
|
|
18299
|
-
]
|
|
18300
|
-
}),
|
|
18301
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18302
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
18303
|
-
children: [
|
|
18304
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18305
|
-
className: "flex gap-1 items-center",
|
|
18306
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18307
|
-
className: "text-muted",
|
|
18308
|
-
children: "关注"
|
|
18309
|
-
})]
|
|
18310
|
-
}),
|
|
18311
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
18312
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18313
|
-
className: "select-text font-medium text-4xl",
|
|
18314
|
-
children: props.following_count
|
|
18315
|
-
})
|
|
18316
|
-
]
|
|
18317
|
-
}),
|
|
18318
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18319
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
18320
|
-
children: [
|
|
18321
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18322
|
-
className: "flex gap-1 items-center",
|
|
18323
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18324
|
-
className: "text-muted",
|
|
18325
|
-
children: "粉丝"
|
|
18326
|
-
})]
|
|
18327
|
-
}),
|
|
18328
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
18329
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18330
|
-
className: "select-text font-medium text-4xl",
|
|
18331
|
-
children: props.fans
|
|
18332
|
-
})
|
|
18333
|
-
]
|
|
18334
|
-
})
|
|
18335
|
-
]
|
|
18336
|
-
})]
|
|
18337
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18338
|
-
className: "flex flex-col items-center gap-4",
|
|
18339
|
-
children: props.qrCodeDataUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
18340
|
-
src: props.qrCodeDataUrl,
|
|
18341
|
-
alt: "二维码",
|
|
18342
|
-
className: "h-auto w-75 rounded-2xl"
|
|
18343
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18344
|
-
className: "flex justify-center items-center rounded-2xl bg-surface w-100 h-100",
|
|
18345
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
18346
|
-
className: "text-muted",
|
|
18347
|
-
children: "二维码"
|
|
18348
|
-
})
|
|
18349
|
-
})
|
|
18350
|
-
})]
|
|
18351
|
-
});
|
|
18352
|
-
};
|
|
18353
|
-
/**
|
|
18354
18132
|
* B站转发动态组件
|
|
18355
18133
|
*/
|
|
18356
18134
|
var BilibiliForwardDynamic = import_react.memo((props) => {
|
|
@@ -18359,25 +18137,14 @@ var BilibiliForwardDynamic = import_react.memo((props) => {
|
|
|
18359
18137
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18360
18138
|
className: "p-4",
|
|
18361
18139
|
children: [
|
|
18362
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-
|
|
18363
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18364
|
-
avatar_url: props.data.avatar_url,
|
|
18365
|
-
frame: props.data.frame,
|
|
18366
|
-
usernameMeta: props.data.usernameMeta,
|
|
18367
|
-
create_time: props.data.create_time,
|
|
18368
|
-
decoration_card: props.data.decoration_card
|
|
18369
|
-
}),
|
|
18140
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-25" }),
|
|
18141
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicUserInfo, { ...props.data }),
|
|
18370
18142
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" }),
|
|
18371
18143
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliForwardContent, { ...props.data }),
|
|
18372
18144
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-25" }),
|
|
18373
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18374
|
-
dianzan: props.data.dianzan,
|
|
18375
|
-
pinglun: props.data.pinglun,
|
|
18376
|
-
share: props.data.share,
|
|
18377
|
-
render_time: props.data.render_time
|
|
18378
|
-
}),
|
|
18145
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicStatus, { ...props.data }),
|
|
18379
18146
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-23" }),
|
|
18380
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
18147
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicFooter, {
|
|
18381
18148
|
avatar_url: props.data.avatar_url,
|
|
18382
18149
|
frame: props.data.frame,
|
|
18383
18150
|
usernameMeta: props.data.usernameMeta,
|
|
@@ -18387,7 +18154,8 @@ var BilibiliForwardDynamic = import_react.memo((props) => {
|
|
|
18387
18154
|
fans: props.data.fans,
|
|
18388
18155
|
dynamicTYPE: props.data.dynamicTYPE,
|
|
18389
18156
|
share_url: props.data.share_url,
|
|
18390
|
-
qrCodeDataUrl: props.qrCodeDataUrl
|
|
18157
|
+
qrCodeDataUrl: props.qrCodeDataUrl,
|
|
18158
|
+
showUidHash: true
|
|
18391
18159
|
})
|
|
18392
18160
|
]
|
|
18393
18161
|
})
|
|
@@ -18929,42 +18697,6 @@ BilibiliLiveDynamic.displayName = "BilibiliLiveDynamic";
|
|
|
18929
18697
|
//#endregion
|
|
18930
18698
|
//#region ../template/src/components/platforms/bilibili/dynamic/DYNAMIC_TYPE_WORD.tsx
|
|
18931
18699
|
/**
|
|
18932
|
-
* B站动态用户信息组件
|
|
18933
|
-
*/
|
|
18934
|
-
var BilibiliDynamicUserInfo = (props) => {
|
|
18935
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18936
|
-
className: "flex gap-10 items-center justify-between px-0 pb-0 pl-24 pr-10",
|
|
18937
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18938
|
-
className: "flex gap-10 items-center",
|
|
18939
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18940
|
-
className: "relative",
|
|
18941
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
18942
|
-
src: props.avatar_url,
|
|
18943
|
-
alt: "头像",
|
|
18944
|
-
className: "w-32 h-32 rounded-full shadow-medium",
|
|
18945
|
-
isCircular: true
|
|
18946
|
-
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
18947
|
-
src: props.frame,
|
|
18948
|
-
alt: "头像框",
|
|
18949
|
-
className: "absolute inset-0 transform scale-180"
|
|
18950
|
-
})]
|
|
18951
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18952
|
-
className: "flex flex-col gap-8 text-7xl",
|
|
18953
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18954
|
-
className: "text-6xl font-bold select-text text-foreground",
|
|
18955
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
18956
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18957
|
-
className: "flex gap-2 items-center text-4xl font-normal whitespace-nowrap text-muted",
|
|
18958
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 36 }), props.create_time]
|
|
18959
|
-
})]
|
|
18960
|
-
})]
|
|
18961
|
-
}), props.decoration_card && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
18962
|
-
className: "shrink-0",
|
|
18963
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DecorationCard, { data: props.decoration_card })
|
|
18964
|
-
})]
|
|
18965
|
-
});
|
|
18966
|
-
};
|
|
18967
|
-
/**
|
|
18968
18700
|
* B站纯文动态内容组件
|
|
18969
18701
|
*/
|
|
18970
18702
|
var BilibiliWordContent = (props) => {
|
|
@@ -18988,163 +18720,6 @@ var BilibiliWordContent = (props) => {
|
|
|
18988
18720
|
}), props.additional && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliAdditionalCard, { additional: props.additional })] });
|
|
18989
18721
|
};
|
|
18990
18722
|
/**
|
|
18991
|
-
* B站动态状态组件
|
|
18992
|
-
*/
|
|
18993
|
-
var BilibiliDynamicStatus = (props) => {
|
|
18994
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18995
|
-
className: "flex flex-col gap-10 px-20 w-full leading-relaxed",
|
|
18996
|
-
children: [
|
|
18997
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
18998
|
-
className: "flex gap-6 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
18999
|
-
children: [
|
|
19000
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19001
|
-
className: "flex gap-2 items-center",
|
|
19002
|
-
children: [
|
|
19003
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 48 }),
|
|
19004
|
-
props.dianzan,
|
|
19005
|
-
"点赞"
|
|
19006
|
-
]
|
|
19007
|
-
}),
|
|
19008
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
19009
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19010
|
-
className: "flex gap-2 items-center",
|
|
19011
|
-
children: [
|
|
19012
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CommentIcon, { size: 48 }),
|
|
19013
|
-
props.pinglun,
|
|
19014
|
-
"评论"
|
|
19015
|
-
]
|
|
19016
|
-
}),
|
|
19017
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "·" }),
|
|
19018
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19019
|
-
className: "flex gap-2 items-center",
|
|
19020
|
-
children: [
|
|
19021
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ShareIcon, { size: 48 }),
|
|
19022
|
-
props.share,
|
|
19023
|
-
"分享"
|
|
19024
|
-
]
|
|
19025
|
-
})
|
|
19026
|
-
]
|
|
19027
|
-
}),
|
|
19028
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19029
|
-
className: "flex gap-2 items-center text-5xl font-light tracking-normal select-text text-foreground/70",
|
|
19030
|
-
children: [
|
|
19031
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Clock, { size: 48 }),
|
|
19032
|
-
"图片生成于: ",
|
|
19033
|
-
props.render_time
|
|
19034
|
-
]
|
|
19035
|
-
}),
|
|
19036
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-3" })
|
|
19037
|
-
]
|
|
19038
|
-
});
|
|
19039
|
-
};
|
|
19040
|
-
/**
|
|
19041
|
-
* B站动态底部信息组件
|
|
19042
|
-
*/
|
|
19043
|
-
var BilibiliDynamicFooter = (props) => {
|
|
19044
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19045
|
-
className: "flex justify-between items-start px-20 pb-20",
|
|
19046
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19047
|
-
className: "flex flex-col gap-12",
|
|
19048
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19049
|
-
className: "flex gap-12 items-start",
|
|
19050
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19051
|
-
className: "relative shrink-0",
|
|
19052
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
19053
|
-
src: props.avatar_url,
|
|
19054
|
-
alt: "头像",
|
|
19055
|
-
className: "rounded-full shadow-medium w-35 h-auto",
|
|
19056
|
-
isCircular: true
|
|
19057
|
-
}), props.frame && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EnhancedImage, {
|
|
19058
|
-
src: props.frame,
|
|
19059
|
-
alt: "头像框",
|
|
19060
|
-
className: "absolute inset-0 transform scale-180"
|
|
19061
|
-
})]
|
|
19062
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19063
|
-
className: "flex flex-col gap-5",
|
|
19064
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19065
|
-
className: "text-7xl font-bold select-text text-foreground",
|
|
19066
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsernameDisplay, { metadata: props.usernameMeta })
|
|
19067
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19068
|
-
className: "flex gap-2 items-center text-4xl text-muted",
|
|
19069
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
|
|
19070
|
-
className: "select-text",
|
|
19071
|
-
children: ["UID: ", props.user_shortid]
|
|
19072
|
-
})
|
|
19073
|
-
})]
|
|
19074
|
-
})]
|
|
19075
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19076
|
-
className: "text-3xl flex gap-6 items-center text-foreground/70",
|
|
19077
|
-
children: [
|
|
19078
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19079
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
19080
|
-
children: [
|
|
19081
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19082
|
-
className: "flex gap-1 items-center",
|
|
19083
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThumbUpIcon, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19084
|
-
className: "text-muted",
|
|
19085
|
-
children: "获赞"
|
|
19086
|
-
})]
|
|
19087
|
-
}),
|
|
19088
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
19089
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19090
|
-
className: "select-text font-medium text-4xl",
|
|
19091
|
-
children: props.total_favorited
|
|
19092
|
-
})
|
|
19093
|
-
]
|
|
19094
|
-
}),
|
|
19095
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19096
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
19097
|
-
children: [
|
|
19098
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19099
|
-
className: "flex gap-1 items-center",
|
|
19100
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Eye, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19101
|
-
className: "text-muted",
|
|
19102
|
-
children: "关注"
|
|
19103
|
-
})]
|
|
19104
|
-
}),
|
|
19105
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
19106
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19107
|
-
className: "select-text font-medium text-4xl",
|
|
19108
|
-
children: props.following_count
|
|
19109
|
-
})
|
|
19110
|
-
]
|
|
19111
|
-
}),
|
|
19112
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19113
|
-
className: "flex flex-col gap-1 items-start px-6 py-3 rounded-2xl bg-surface",
|
|
19114
|
-
children: [
|
|
19115
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
19116
|
-
className: "flex gap-1 items-center",
|
|
19117
|
-
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersRound, { size: 28 }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19118
|
-
className: "text-muted",
|
|
19119
|
-
children: "粉丝"
|
|
19120
|
-
})]
|
|
19121
|
-
}),
|
|
19122
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full h-px bg-border" }),
|
|
19123
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19124
|
-
className: "select-text font-medium text-4xl",
|
|
19125
|
-
children: props.fans
|
|
19126
|
-
})
|
|
19127
|
-
]
|
|
19128
|
-
})
|
|
19129
|
-
]
|
|
19130
|
-
})]
|
|
19131
|
-
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19132
|
-
className: "flex flex-col items-center gap-4",
|
|
19133
|
-
children: props.qrCodeDataUrl ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", {
|
|
19134
|
-
src: props.qrCodeDataUrl,
|
|
19135
|
-
alt: "二维码",
|
|
19136
|
-
className: "h-auto w-75 rounded-2xl"
|
|
19137
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
19138
|
-
className: "flex justify-center items-center rounded-2xl bg-surface w-100 h-100",
|
|
19139
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
19140
|
-
className: "text-muted",
|
|
19141
|
-
children: "二维码"
|
|
19142
|
-
})
|
|
19143
|
-
})
|
|
19144
|
-
})]
|
|
19145
|
-
});
|
|
19146
|
-
};
|
|
19147
|
-
/**
|
|
19148
18723
|
* B站纯文动态组件
|
|
19149
18724
|
*/
|
|
19150
18725
|
var BilibiliWordDynamic = import_react.memo((props) => {
|
|
@@ -19154,24 +18729,13 @@ var BilibiliWordDynamic = import_react.memo((props) => {
|
|
|
19154
18729
|
className: "p-4",
|
|
19155
18730
|
children: [
|
|
19156
18731
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-25" }),
|
|
19157
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicUserInfo, {
|
|
19158
|
-
avatar_url: props.data.avatar_url,
|
|
19159
|
-
frame: props.data.frame,
|
|
19160
|
-
usernameMeta: props.data.usernameMeta,
|
|
19161
|
-
create_time: props.data.create_time,
|
|
19162
|
-
decoration_card: props.data.decoration_card
|
|
19163
|
-
}),
|
|
18732
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicUserInfo, { ...props.data }),
|
|
19164
18733
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-15" }),
|
|
19165
18734
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliWordContent, {
|
|
19166
18735
|
text: props.data.text,
|
|
19167
18736
|
additional: props.data.additional
|
|
19168
18737
|
}),
|
|
19169
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicStatus, {
|
|
19170
|
-
dianzan: props.data.dianzan,
|
|
19171
|
-
pinglun: props.data.pinglun,
|
|
19172
|
-
share: props.data.share,
|
|
19173
|
-
render_time: props.data.render_time
|
|
19174
|
-
}),
|
|
18738
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicStatus, { ...props.data }),
|
|
19175
18739
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-23" }),
|
|
19176
18740
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(BilibiliDynamicFooter, {
|
|
19177
18741
|
avatar_url: props.data.avatar_url,
|
|
@@ -26913,6 +26477,13 @@ var iconRegistry = {
|
|
|
26913
26477
|
"simple-icons:bilibili": SiBilibili,
|
|
26914
26478
|
"simple-icons:openai": Sparkles,
|
|
26915
26479
|
"simple-icons:anthropic": SiAnthropic,
|
|
26480
|
+
"simple-icons:googlephotos": SiGooglephotos,
|
|
26481
|
+
"simple-icons:xiaomi": SiXiaomi,
|
|
26482
|
+
"simple-icons:oppo": SiOppo,
|
|
26483
|
+
"simple-icons:huawei": SiHuawei,
|
|
26484
|
+
"simple-icons:honor": SiHonor,
|
|
26485
|
+
"simple-icons:vivo": SiVivo,
|
|
26486
|
+
"simple-icons:samsung": SiSamsung,
|
|
26916
26487
|
"tabler:message-circle": MessageCircle,
|
|
26917
26488
|
"tabler:scan": ScanLine,
|
|
26918
26489
|
"ph:play-fill": n,
|
|
@@ -27184,6 +26755,435 @@ var Help = import_react.memo((props) => {
|
|
|
27184
26755
|
});
|
|
27185
26756
|
Help.displayName = "Help";
|
|
27186
26757
|
//#endregion
|
|
26758
|
+
//#region ../template/src/components/platforms/other/LivePhotoTip.tsx
|
|
26759
|
+
/**
|
|
26760
|
+
* Google Photos 彩色官方 Logo
|
|
26761
|
+
*/
|
|
26762
|
+
var GooglePhotosIcon = ({ className }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
26763
|
+
className,
|
|
26764
|
+
viewBox: "0 0 32 32",
|
|
26765
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
26766
|
+
children: [
|
|
26767
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26768
|
+
d: "M4,16a6,6,0,0,1,12,0Z",
|
|
26769
|
+
fill: "#ffba00"
|
|
26770
|
+
}),
|
|
26771
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26772
|
+
d: "M22,10a6,6,0,0,1-6,6V4a6,6,0,0,1,6,6",
|
|
26773
|
+
fill: "#ea4435"
|
|
26774
|
+
}),
|
|
26775
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26776
|
+
d: "M28,16a6,6,0,0,1-12,0Z",
|
|
26777
|
+
fill: "#0066da"
|
|
26778
|
+
}),
|
|
26779
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26780
|
+
d: "M10,22a6,6,0,0,1,6-6V28a6,6,0,0,1-6-6",
|
|
26781
|
+
fill: "#00ac47"
|
|
26782
|
+
})
|
|
26783
|
+
]
|
|
26784
|
+
});
|
|
26785
|
+
var statusConfig = {
|
|
26786
|
+
verified: {
|
|
26787
|
+
icon: Check,
|
|
26788
|
+
color: "#22c55e",
|
|
26789
|
+
label: "实测可用"
|
|
26790
|
+
},
|
|
26791
|
+
untested: {
|
|
26792
|
+
icon: CircleQuestionMark,
|
|
26793
|
+
color: "#f59e0b",
|
|
26794
|
+
label: "理论支持"
|
|
26795
|
+
},
|
|
26796
|
+
unsupported: {
|
|
26797
|
+
icon: X,
|
|
26798
|
+
color: "#ef4444",
|
|
26799
|
+
label: "不支持"
|
|
26800
|
+
}
|
|
26801
|
+
};
|
|
26802
|
+
/**
|
|
26803
|
+
* kkk Logo SVG
|
|
26804
|
+
*/
|
|
26805
|
+
var KkkLogo = ({ className, color }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
26806
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
26807
|
+
viewBox: "0 0 230 221",
|
|
26808
|
+
className,
|
|
26809
|
+
style: { color },
|
|
26810
|
+
children: [
|
|
26811
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26812
|
+
d: "M132.75,87.37l-53.72-53.37c-4.66-4.63-1.38-12.58,5.18-12.58h115.13c6.57,0,9.84,7.95,5.18,12.58l-53.72,53.37c-4.99,4.96-13.06,4.96-18.05,0Z",
|
|
26813
|
+
fill: "currentColor"
|
|
26814
|
+
}),
|
|
26815
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26816
|
+
d: "M28.49,186.89l.03-51.42c-.02-6.57,7.92-9.87,12.56-5.23l57.02,57.02c4.64,4.64,1.34,12.41-5.23,12.39h-51.42c-7.04-.02-12.94-5.72-12.96-12.76Z",
|
|
26817
|
+
fill: "currentColor"
|
|
26818
|
+
}),
|
|
26819
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", {
|
|
26820
|
+
d: "M41.54,23.68l163.04,163.05c4.78,4.78,1.39,12.95-5.36,12.94h-47.88c-9.69,0-18.99-3.86-25.84-10.71L39.3,102.75c-6.85-6.85-10.7-16.15-10.7-25.84V29.04c0-6.76,8.16-10.14,12.94-5.36Z",
|
|
26821
|
+
fill: "currentColor"
|
|
26822
|
+
})
|
|
26823
|
+
]
|
|
26824
|
+
});
|
|
26825
|
+
function BrandCard({ brand, isDark }) {
|
|
26826
|
+
const StatusIcon = statusConfig[brand.status].icon;
|
|
26827
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
26828
|
+
className: "flex flex-col items-center gap-3",
|
|
26829
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26830
|
+
className: "relative flex items-center justify-center w-75 h-75 rounded-3xl",
|
|
26831
|
+
style: { background: isDark ? "radial-gradient(circle, " + brand.color + "12 0%, transparent 70%)" : "radial-gradient(circle, " + brand.color + "08 0%, transparent 70%)" },
|
|
26832
|
+
children: [brand.icon, /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26833
|
+
className: "absolute top-4 right-4 flex items-center gap-1.5 px-5 py-2.5 rounded-full",
|
|
26834
|
+
style: { backgroundColor: statusConfig[brand.status].color + "20" },
|
|
26835
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatusIcon, {
|
|
26836
|
+
className: "w-5 h-auto",
|
|
26837
|
+
style: { color: statusConfig[brand.status].color }
|
|
26838
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
26839
|
+
className: "text-lg font-bold",
|
|
26840
|
+
style: { color: statusConfig[brand.status].color },
|
|
26841
|
+
children: statusConfig[brand.status].label
|
|
26842
|
+
})]
|
|
26843
|
+
})]
|
|
26844
|
+
})
|
|
26845
|
+
});
|
|
26846
|
+
}
|
|
26847
|
+
function UnsupportedBrandCard({ brand, isDark }) {
|
|
26848
|
+
const StatusIcon = statusConfig[brand.status].icon;
|
|
26849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26850
|
+
className: "flex flex-col items-center gap-2 opacity-50",
|
|
26851
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
26852
|
+
className: "relative flex items-center justify-center w-40 h-40 rounded-2xl",
|
|
26853
|
+
style: { background: isDark ? "radial-gradient(circle, " + brand.color + "08 0%, transparent 70%)" : "radial-gradient(circle, " + brand.color + "05 0%, transparent 70%)" },
|
|
26854
|
+
children: brand.icon
|
|
26855
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26856
|
+
className: "flex items-center gap-1",
|
|
26857
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatusIcon, {
|
|
26858
|
+
className: "w-5 h-auto",
|
|
26859
|
+
style: { color: statusConfig[brand.status].color }
|
|
26860
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
26861
|
+
className: "text-md font-bold",
|
|
26862
|
+
style: { color: statusConfig[brand.status].color },
|
|
26863
|
+
children: statusConfig[brand.status].label
|
|
26864
|
+
})]
|
|
26865
|
+
})]
|
|
26866
|
+
});
|
|
26867
|
+
}
|
|
26868
|
+
/**
|
|
26869
|
+
* 实况图提示组件 - 正方形,Vercel 黑白风格
|
|
26870
|
+
*/
|
|
26871
|
+
var LivePhotoTip = import_react.memo((props) => {
|
|
26872
|
+
const isDark = props.data.useDarkTheme ?? false;
|
|
26873
|
+
const bgColor = isDark ? "#000000" : "#ffffff";
|
|
26874
|
+
const primaryColor = isDark ? "#ffffff" : "#000000";
|
|
26875
|
+
const secondaryColor = isDark ? "#888888" : "#666666";
|
|
26876
|
+
const mutedColor = isDark ? "rgba(255,255,255,0.5)" : "rgba(0,0,0,0.5)";
|
|
26877
|
+
const accentColor = isDark ? "#ffffff" : "#000000";
|
|
26878
|
+
const glow1 = "radial-gradient(ellipse at 30% 40%, " + (isDark ? "rgba(255,255,255,0.08)" : "rgba(0,0,0,0.06)") + " 0%, transparent 70%)";
|
|
26879
|
+
const glow2 = "radial-gradient(ellipse at 70% 60%, " + (isDark ? "rgba(128,128,128,0.1)" : "rgba(128,128,128,0.08)") + " 0%, transparent 70%)";
|
|
26880
|
+
const noiseOpacity = isDark ? .04 : .06;
|
|
26881
|
+
const appleColor = isDark ? "#ffffff" : "#000000";
|
|
26882
|
+
const supportedBrands = [
|
|
26883
|
+
{
|
|
26884
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GooglePhotosIcon, { className: "w-36 h-auto" }),
|
|
26885
|
+
color: "#4285F4",
|
|
26886
|
+
status: "verified"
|
|
26887
|
+
},
|
|
26888
|
+
{
|
|
26889
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiXiaomi, {
|
|
26890
|
+
className: "w-28 h-auto",
|
|
26891
|
+
style: { color: "#FF6900" }
|
|
26892
|
+
}),
|
|
26893
|
+
color: "#FF6900",
|
|
26894
|
+
status: "verified"
|
|
26895
|
+
},
|
|
26896
|
+
{
|
|
26897
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiSamsung, {
|
|
26898
|
+
className: "w-68 h-auto",
|
|
26899
|
+
style: { color: "#1428A0" }
|
|
26900
|
+
}),
|
|
26901
|
+
color: "#1428A0",
|
|
26902
|
+
status: "verified"
|
|
26903
|
+
},
|
|
26904
|
+
{
|
|
26905
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiOppo, { className: "w-58 h-auto" }),
|
|
26906
|
+
color: "#009B77",
|
|
26907
|
+
status: "verified"
|
|
26908
|
+
},
|
|
26909
|
+
{
|
|
26910
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiOneplus, {
|
|
26911
|
+
className: "w-26 h-auto",
|
|
26912
|
+
style: { color: "#F50514" }
|
|
26913
|
+
}),
|
|
26914
|
+
color: "#F50514",
|
|
26915
|
+
status: "verified"
|
|
26916
|
+
},
|
|
26917
|
+
{
|
|
26918
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiHuawei, {
|
|
26919
|
+
className: "w-32 h-auto",
|
|
26920
|
+
style: { color: "#CF0A2C" }
|
|
26921
|
+
}),
|
|
26922
|
+
color: "#CF0A2C",
|
|
26923
|
+
status: "untested"
|
|
26924
|
+
},
|
|
26925
|
+
{
|
|
26926
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiHonor, {
|
|
26927
|
+
className: "w-58 h-auto",
|
|
26928
|
+
style: { color: "#00BFFF" }
|
|
26929
|
+
}),
|
|
26930
|
+
color: "#00BFFF",
|
|
26931
|
+
status: "untested"
|
|
26932
|
+
}
|
|
26933
|
+
];
|
|
26934
|
+
const unsupportedBrands = [{
|
|
26935
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiApple, {
|
|
26936
|
+
className: "w-20 h-auto",
|
|
26937
|
+
style: { color: appleColor }
|
|
26938
|
+
}),
|
|
26939
|
+
color: appleColor,
|
|
26940
|
+
status: "unsupported"
|
|
26941
|
+
}, {
|
|
26942
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiVivo, {
|
|
26943
|
+
className: "w-24 h-auto",
|
|
26944
|
+
style: { color: "#415FFF" }
|
|
26945
|
+
}),
|
|
26946
|
+
color: "#415FFF",
|
|
26947
|
+
status: "unsupported"
|
|
26948
|
+
}];
|
|
26949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DefaultLayout, {
|
|
26950
|
+
...props,
|
|
26951
|
+
version: void 0,
|
|
26952
|
+
className: "relative overflow-hidden",
|
|
26953
|
+
style: {
|
|
26954
|
+
backgroundColor: bgColor,
|
|
26955
|
+
minHeight: "1440px"
|
|
26956
|
+
},
|
|
26957
|
+
children: [
|
|
26958
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
26959
|
+
className: "absolute inset-0 pointer-events-none",
|
|
26960
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
26961
|
+
className: "absolute rounded-full w-150 h-125 top-[20%] left-[10%] blur-[150px]",
|
|
26962
|
+
style: { background: glow1 }
|
|
26963
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
26964
|
+
className: "absolute rounded-full w-125 h-112.5 bottom-[15%] right-[10%] blur-[130px]",
|
|
26965
|
+
style: { background: glow2 }
|
|
26966
|
+
})]
|
|
26967
|
+
}),
|
|
26968
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
26969
|
+
className: "absolute inset-0 pointer-events-none",
|
|
26970
|
+
style: { opacity: noiseOpacity },
|
|
26971
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
26972
|
+
className: "w-full h-full",
|
|
26973
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
26974
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("filter", {
|
|
26975
|
+
id: "tipNoise",
|
|
26976
|
+
x: "0%",
|
|
26977
|
+
y: "0%",
|
|
26978
|
+
width: "100%",
|
|
26979
|
+
height: "100%",
|
|
26980
|
+
children: [
|
|
26981
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("feTurbulence", {
|
|
26982
|
+
type: "fractalNoise",
|
|
26983
|
+
baseFrequency: "0.8",
|
|
26984
|
+
numOctaves: "1",
|
|
26985
|
+
stitchTiles: "stitch",
|
|
26986
|
+
result: "noise"
|
|
26987
|
+
}),
|
|
26988
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("feColorMatrix", {
|
|
26989
|
+
type: "saturate",
|
|
26990
|
+
values: "0",
|
|
26991
|
+
result: "gray"
|
|
26992
|
+
}),
|
|
26993
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("feComponentTransfer", { children: [
|
|
26994
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("feFuncR", {
|
|
26995
|
+
type: "discrete",
|
|
26996
|
+
tableValues: "0 1"
|
|
26997
|
+
}),
|
|
26998
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("feFuncG", {
|
|
26999
|
+
type: "discrete",
|
|
27000
|
+
tableValues: "0 1"
|
|
27001
|
+
}),
|
|
27002
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("feFuncB", {
|
|
27003
|
+
type: "discrete",
|
|
27004
|
+
tableValues: "0 1"
|
|
27005
|
+
})
|
|
27006
|
+
] })
|
|
27007
|
+
]
|
|
27008
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("rect", {
|
|
27009
|
+
width: "100%",
|
|
27010
|
+
height: "100%",
|
|
27011
|
+
filter: "url(#tipNoise)"
|
|
27012
|
+
})]
|
|
27013
|
+
})
|
|
27014
|
+
}),
|
|
27015
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27016
|
+
className: "absolute inset-0 pointer-events-none overflow-hidden",
|
|
27017
|
+
children: [
|
|
27018
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27019
|
+
className: "absolute top-20 left-20 grid grid-cols-5 gap-2 opacity-30",
|
|
27020
|
+
children: Array.from({ length: 15 }).map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27021
|
+
className: "w-2 h-2 rounded-full",
|
|
27022
|
+
style: { backgroundColor: primaryColor }
|
|
27023
|
+
}, i))
|
|
27024
|
+
}),
|
|
27025
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27026
|
+
className: "absolute top-20 right-20 flex flex-col items-end gap-2 opacity-30",
|
|
27027
|
+
children: [
|
|
27028
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27029
|
+
className: "h-0.75 rounded-full w-20",
|
|
27030
|
+
style: { backgroundColor: secondaryColor }
|
|
27031
|
+
}),
|
|
27032
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27033
|
+
className: "h-0.75 rounded-full w-12",
|
|
27034
|
+
style: { backgroundColor: secondaryColor }
|
|
27035
|
+
}),
|
|
27036
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27037
|
+
className: "h-0.75 rounded-full w-6",
|
|
27038
|
+
style: { backgroundColor: secondaryColor }
|
|
27039
|
+
})
|
|
27040
|
+
]
|
|
27041
|
+
}),
|
|
27042
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27043
|
+
className: "absolute bottom-40 left-10 flex gap-2 opacity-30",
|
|
27044
|
+
children: [
|
|
27045
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27046
|
+
className: "w-2 h-2 rounded-full",
|
|
27047
|
+
style: { backgroundColor: primaryColor }
|
|
27048
|
+
}),
|
|
27049
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27050
|
+
className: "w-2 h-2 rounded-full",
|
|
27051
|
+
style: { backgroundColor: primaryColor }
|
|
27052
|
+
}),
|
|
27053
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27054
|
+
className: "w-2 h-2 rounded-full",
|
|
27055
|
+
style: { backgroundColor: primaryColor }
|
|
27056
|
+
}),
|
|
27057
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27058
|
+
className: "w-2 h-2 rounded-full",
|
|
27059
|
+
style: { backgroundColor: primaryColor }
|
|
27060
|
+
})
|
|
27061
|
+
]
|
|
27062
|
+
}),
|
|
27063
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27064
|
+
className: "absolute bottom-10 right-10 opacity-30",
|
|
27065
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
|
|
27066
|
+
width: "100",
|
|
27067
|
+
height: "100",
|
|
27068
|
+
viewBox: "0 0 100 100",
|
|
27069
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", {
|
|
27070
|
+
cx: "50",
|
|
27071
|
+
cy: "50",
|
|
27072
|
+
r: "44",
|
|
27073
|
+
fill: "none",
|
|
27074
|
+
stroke: primaryColor,
|
|
27075
|
+
strokeWidth: "2"
|
|
27076
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", {
|
|
27077
|
+
cx: "50",
|
|
27078
|
+
cy: "50",
|
|
27079
|
+
r: "28",
|
|
27080
|
+
fill: "none",
|
|
27081
|
+
stroke: secondaryColor,
|
|
27082
|
+
strokeWidth: "2"
|
|
27083
|
+
})]
|
|
27084
|
+
})
|
|
27085
|
+
})
|
|
27086
|
+
]
|
|
27087
|
+
}),
|
|
27088
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27089
|
+
className: "relative z-10 flex flex-col min-h-360 px-20 py-16",
|
|
27090
|
+
children: [
|
|
27091
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "h-20" }),
|
|
27092
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27093
|
+
className: "flex items-center gap-5 mb-16",
|
|
27094
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27095
|
+
className: "rounded-full p-5 shrink-0",
|
|
27096
|
+
style: { background: "radial-gradient(circle, " + (isDark ? "rgba(255,255,255,0.1)" : "rgba(0,0,0,0.06)") + " 0%, transparent 70%)" },
|
|
27097
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ArrowDownToLine, {
|
|
27098
|
+
className: "w-20 h-auto",
|
|
27099
|
+
style: { color: primaryColor }
|
|
27100
|
+
})
|
|
27101
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
|
|
27102
|
+
className: "text-4xl font-bold leading-tight",
|
|
27103
|
+
style: { color: accentColor },
|
|
27104
|
+
children: "保存原图"
|
|
27105
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
27106
|
+
className: "text-2xl mt-1",
|
|
27107
|
+
style: { color: mutedColor },
|
|
27108
|
+
children: "长按选择「保存原图」即可识别为实况照片"
|
|
27109
|
+
})] })]
|
|
27110
|
+
}),
|
|
27111
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27112
|
+
className: "flex-1 flex flex-col justify-center items-center gap-6",
|
|
27113
|
+
children: [
|
|
27114
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27115
|
+
className: "flex flex-col gap-6",
|
|
27116
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27117
|
+
className: "flex justify-center gap-6",
|
|
27118
|
+
children: supportedBrands.slice(0, 4).map((brand, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BrandCard, {
|
|
27119
|
+
brand,
|
|
27120
|
+
isDark
|
|
27121
|
+
}, idx))
|
|
27122
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27123
|
+
className: "flex justify-center gap-6",
|
|
27124
|
+
children: supportedBrands.slice(4).map((brand, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BrandCard, {
|
|
27125
|
+
brand,
|
|
27126
|
+
isDark
|
|
27127
|
+
}, idx))
|
|
27128
|
+
})]
|
|
27129
|
+
}),
|
|
27130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27131
|
+
className: "w-200 h-px",
|
|
27132
|
+
style: { backgroundColor: isDark ? "rgba(255,255,255,0.08)" : "rgba(0,0,0,0.06)" }
|
|
27133
|
+
}),
|
|
27134
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27135
|
+
className: "flex justify-center gap-8",
|
|
27136
|
+
children: unsupportedBrands.map((brand, idx) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UnsupportedBrandCard, {
|
|
27137
|
+
brand,
|
|
27138
|
+
isDark
|
|
27139
|
+
}, idx))
|
|
27140
|
+
})
|
|
27141
|
+
]
|
|
27142
|
+
}),
|
|
27143
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27144
|
+
className: "flex items-start gap-4 mt-12 px-8 py-5 rounded-2xl",
|
|
27145
|
+
style: { backgroundColor: isDark ? "rgba(255,255,255,0.04)" : "rgba(0,0,0,0.03)" },
|
|
27146
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Info, {
|
|
27147
|
+
className: "w-6 h-6 shrink-0 mt-0.5",
|
|
27148
|
+
style: { color: primaryColor }
|
|
27149
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
|
|
27150
|
+
className: "text-xl leading-relaxed",
|
|
27151
|
+
style: { color: mutedColor },
|
|
27152
|
+
children: "所有支持 Google Motion Photo 标准的相册 App 均可识别实况照片"
|
|
27153
|
+
})]
|
|
27154
|
+
}),
|
|
27155
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
27156
|
+
className: "flex justify-end items-end mt-auto pt-12",
|
|
27157
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27158
|
+
className: "flex items-end gap-6",
|
|
27159
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
|
|
27160
|
+
className: "flex flex-col items-end",
|
|
27161
|
+
children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
27162
|
+
className: "text-xl font-bold tracking-[0.15em] uppercase",
|
|
27163
|
+
style: { color: mutedColor },
|
|
27164
|
+
children: "KARIN-PLUGIN"
|
|
27165
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
|
|
27166
|
+
className: "text-5xl font-black",
|
|
27167
|
+
style: { color: accentColor },
|
|
27168
|
+
children: "kkk"
|
|
27169
|
+
})]
|
|
27170
|
+
}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlowImage, {
|
|
27171
|
+
glowStrength: 1,
|
|
27172
|
+
blurRadius: 25,
|
|
27173
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(KkkLogo, {
|
|
27174
|
+
className: "w-auto h-20",
|
|
27175
|
+
color: accentColor
|
|
27176
|
+
})
|
|
27177
|
+
})]
|
|
27178
|
+
})
|
|
27179
|
+
})
|
|
27180
|
+
]
|
|
27181
|
+
})
|
|
27182
|
+
]
|
|
27183
|
+
});
|
|
27184
|
+
});
|
|
27185
|
+
LivePhotoTip.displayName = "LivePhotoTip";
|
|
27186
|
+
//#endregion
|
|
27187
27187
|
//#region ../template/src/components/platforms/other/qrlogin.tsx
|
|
27188
27188
|
/**
|
|
27189
27189
|
* APP 扫码登录组件
|
|
@@ -29020,6 +29020,14 @@ var baseComponentConfigs = [
|
|
|
29020
29020
|
enabled: true,
|
|
29021
29021
|
componentPath: "platforms/other/qrlogin",
|
|
29022
29022
|
exportName: "QrLogin"
|
|
29023
|
+
},
|
|
29024
|
+
{
|
|
29025
|
+
id: "live-photo-tip",
|
|
29026
|
+
name: "实况图提示",
|
|
29027
|
+
description: "实况照片保存提示图片",
|
|
29028
|
+
enabled: true,
|
|
29029
|
+
componentPath: "platforms/other/LivePhotoTip",
|
|
29030
|
+
exportName: "LivePhotoTip"
|
|
29023
29031
|
}
|
|
29024
29032
|
]
|
|
29025
29033
|
},
|
|
@@ -29199,6 +29207,7 @@ var componentConfigs = baseComponentConfigs.map((basePlatform) => {
|
|
|
29199
29207
|
case "changelog": return createComponentConfig(baseComponent, { component: Changelog });
|
|
29200
29208
|
case "version_warning": return createComponentConfig(baseComponent, { component: VersionWarning });
|
|
29201
29209
|
case "qrlogin": return createComponentConfig(baseComponent, { component: QrLogin });
|
|
29210
|
+
case "live-photo-tip": return createComponentConfig(baseComponent, { component: LivePhotoTip });
|
|
29202
29211
|
default: return createComponentConfig(baseComponent);
|
|
29203
29212
|
}
|
|
29204
29213
|
});
|
|
@@ -29655,6 +29664,7 @@ var ComponentRendererFactory = class {
|
|
|
29655
29664
|
data: request.data,
|
|
29656
29665
|
version: request.version,
|
|
29657
29666
|
scale: request.scale,
|
|
29667
|
+
watermarkTextBitSize: request.watermarkTextBitSize,
|
|
29658
29668
|
...extraProps
|
|
29659
29669
|
};
|
|
29660
29670
|
if (templateName.includes("/")) props.subType = templateName.split("/")[1];
|
|
@@ -30558,7 +30568,6 @@ var createPosterPalettePlugin = () => {
|
|
|
30558
30568
|
*/
|
|
30559
30569
|
/**
|
|
30560
30570
|
* 将隐水印嵌入到 PNG 图片中
|
|
30561
|
-
*
|
|
30562
30571
|
* @param pngBytes - PNG 图片的 Buffer 或 Uint8Array
|
|
30563
30572
|
* @param watermarkText - 要嵌入的水印文本
|
|
30564
30573
|
* @returns 嵌入水印后的 PNG Buffer,失败返回 null
|
|
@@ -30566,12 +30575,17 @@ var createPosterPalettePlugin = () => {
|
|
|
30566
30575
|
var embedWatermark = (pngBytes, watermarkText) => {
|
|
30567
30576
|
try {
|
|
30568
30577
|
const result = embedWatermarkToPngBytes(pngBytes instanceof Buffer ? pngBytes : Buffer.from(pngBytes), watermarkText);
|
|
30569
|
-
return result instanceof Buffer ? result : Buffer.from(result);
|
|
30570
|
-
} catch
|
|
30571
|
-
logger.error("嵌入隐水印失败:", error);
|
|
30578
|
+
return result instanceof Buffer ? result : Buffer.from(result.buffer);
|
|
30579
|
+
} catch {
|
|
30572
30580
|
return null;
|
|
30573
30581
|
}
|
|
30574
30582
|
};
|
|
30583
|
+
/**
|
|
30584
|
+
* 从 PNG 图片中提取隐水印文本
|
|
30585
|
+
*
|
|
30586
|
+
* @param pngBytes - PNG 图片的 Buffer 或 Uint8Array
|
|
30587
|
+
* @returns 提取出的水印文本,失败返回 null
|
|
30588
|
+
*/
|
|
30575
30589
|
//#endregion
|
|
30576
30590
|
//#region src/module/utils/Render/index.ts
|
|
30577
30591
|
/**
|
|
@@ -30599,6 +30613,12 @@ var Render = async (event, path$1, data) => {
|
|
|
30599
30613
|
const lockedVersion = await db.get("kkk:update:lock");
|
|
30600
30614
|
if (typeof lockedVersion === "string" && lockedVersion.length > 0) hasUpdate = isSemverGreater(lockedVersion, Root.pluginVersion);
|
|
30601
30615
|
} catch {}
|
|
30616
|
+
const watermarkText = JSON.stringify({
|
|
30617
|
+
a: Date.now(),
|
|
30618
|
+
b: `Generated by karin-plugin-kkk v${Root.pluginVersion}, with source code open-sourced under the GPL-3.0 license`,
|
|
30619
|
+
c: `Sent by ${event?.bot?.account.selfId ?? "unknown"}|${event?.bot?.account.name ?? "unknown"}`
|
|
30620
|
+
});
|
|
30621
|
+
const watermarkTextBitSize = Buffer.byteLength(watermarkText, "utf8") * 8;
|
|
30602
30622
|
const result = await reactServerRender({
|
|
30603
30623
|
request: {
|
|
30604
30624
|
templateType,
|
|
@@ -30614,6 +30634,7 @@ var Render = async (event, path$1, data) => {
|
|
|
30614
30634
|
frameworkVersion: Root.karinVersion,
|
|
30615
30635
|
hasUpdate
|
|
30616
30636
|
},
|
|
30637
|
+
watermarkTextBitSize,
|
|
30617
30638
|
data: {
|
|
30618
30639
|
...data,
|
|
30619
30640
|
useDarkTheme: Common.useDarkTheme()
|
|
@@ -30635,7 +30656,7 @@ var Render = async (event, path$1, data) => {
|
|
|
30635
30656
|
const renderResult = await render.render({
|
|
30636
30657
|
name: `${Root.pluginName}/${templateType}`,
|
|
30637
30658
|
file: result.htmlPath,
|
|
30638
|
-
multiPage: Config.app.multiPageRender ? Config.app.multiPageHeight : false,
|
|
30659
|
+
multiPage: Config.app.multiPageRender && event.bot.adapter.name !== "QQ Official Bot" ? Config.app.multiPageHeight : false,
|
|
30639
30660
|
selector: "#container",
|
|
30640
30661
|
fullPage: false,
|
|
30641
30662
|
type: "png",
|
|
@@ -30650,11 +30671,7 @@ var Render = async (event, path$1, data) => {
|
|
|
30650
30671
|
const imageStats = [];
|
|
30651
30672
|
for (const image of images) {
|
|
30652
30673
|
const imageBuffer = Buffer.from(image, "base64");
|
|
30653
|
-
const finalImageBuffer = embedWatermark(imageBuffer,
|
|
30654
|
-
a: Date.now(),
|
|
30655
|
-
b: `Generated by karin-plugin-kkk v${Root.pluginVersion}, with source code open-sourced under the GPL-3.0 license`,
|
|
30656
|
-
c: `Sent by ${event?.bot?.account.selfId ?? "unknown"}|${event?.bot?.account.name ?? "unknown"}`
|
|
30657
|
-
})) ?? imageBuffer;
|
|
30674
|
+
const finalImageBuffer = embedWatermark(imageBuffer, watermarkText) ?? imageBuffer;
|
|
30658
30675
|
const metadata = getImageMetadata(finalImageBuffer);
|
|
30659
30676
|
const dimensions = metadata.width && metadata.height ? `${metadata.width}x${metadata.height}` : "unknown";
|
|
30660
30677
|
imageStats.push({
|
|
@@ -33366,29 +33383,12 @@ var DouyinWeb = (all) => {
|
|
|
33366
33383
|
}],
|
|
33367
33384
|
isDisabled: !all.douyin.sendContent.includes("comment") || !all.douyin.switch
|
|
33368
33385
|
}),
|
|
33369
|
-
components.input.number("subCommentDepth", {
|
|
33370
|
-
label: "次级评论解析深度",
|
|
33371
|
-
description: "次级评论解析深度",
|
|
33372
|
-
defaultValue: all.douyin.subCommentDepth.toString(),
|
|
33373
|
-
rules: [{
|
|
33374
|
-
min: 1,
|
|
33375
|
-
max: 6,
|
|
33376
|
-
error: "嵌套深度最高只有 6 层,超过 6 层的评论会被强制截断"
|
|
33377
|
-
}],
|
|
33378
|
-
isDisabled: !all.douyin.sendContent.includes("comment") || !all.douyin.switch
|
|
33379
|
-
}),
|
|
33380
33386
|
components.switch.create("commentImageCollection", {
|
|
33381
33387
|
label: "是否收集评论区的图片",
|
|
33382
33388
|
description: "开启后将收集评论区的图片,以合并转发的形式返回",
|
|
33383
33389
|
defaultSelected: all.douyin.commentImageCollection,
|
|
33384
33390
|
isDisabled: !all.douyin.sendContent.includes("comment") || !all.douyin.switch
|
|
33385
33391
|
}),
|
|
33386
|
-
components.switch.create("realCommentCount", {
|
|
33387
|
-
label: "显示真实评论数量",
|
|
33388
|
-
description: "评论图是否显示真实评论数量,关闭则显示解析到的评论数量",
|
|
33389
|
-
defaultSelected: all.douyin.realCommentCount,
|
|
33390
|
-
isDisabled: !all.douyin.sendContent.includes("comment") || !all.douyin.switch
|
|
33391
|
-
}),
|
|
33392
33392
|
components.divider.create("divider-dy-render", {
|
|
33393
33393
|
description: "渲染与画质设置",
|
|
33394
33394
|
descPosition: 20
|
|
@@ -35875,60 +35875,71 @@ var buildBilibiliDynamicRichText = (text, richTextNodes) => {
|
|
|
35875
35875
|
}
|
|
35876
35876
|
return createRichTextDocument(nodes, { platform: "bilibili" });
|
|
35877
35877
|
}
|
|
35878
|
-
const
|
|
35879
|
-
return text.indexOf(searchText, startPos);
|
|
35880
|
-
};
|
|
35881
|
-
let currentPos = 0;
|
|
35882
|
-
for (const tag of richTextNodes) {
|
|
35878
|
+
const buildNodesFromTag = (tag) => {
|
|
35883
35879
|
const matchText = tag.orig_text || tag.text || "";
|
|
35884
|
-
if (!matchText)
|
|
35885
|
-
const
|
|
35886
|
-
if (matchPos === -1) continue;
|
|
35887
|
-
if (matchPos > currentPos) {
|
|
35888
|
-
const parts = text.slice(currentPos, matchPos).split(/(\r?\n)/);
|
|
35889
|
-
for (const part of parts) if (part === "\r\n" || part === "\n") nodes.push(createLineBreakNode());
|
|
35890
|
-
else if (part) nodes.push(...parseTextWithUrls(part));
|
|
35891
|
-
}
|
|
35880
|
+
if (!matchText) return [];
|
|
35881
|
+
const result = [];
|
|
35892
35882
|
switch (tag.type) {
|
|
35893
35883
|
case "RICH_TEXT_NODE_TYPE_TEXT": {
|
|
35894
35884
|
const parts = matchText.split(/(\r?\n)/);
|
|
35895
|
-
for (const part of parts) if (part === "\r\n" || part === "\n")
|
|
35896
|
-
else if (part)
|
|
35885
|
+
for (const part of parts) if (part === "\r\n" || part === "\n") result.push(createLineBreakNode());
|
|
35886
|
+
else if (part) result.push(...parseTextWithUrls(part));
|
|
35897
35887
|
break;
|
|
35898
35888
|
}
|
|
35899
35889
|
case "topic":
|
|
35900
35890
|
case "RICH_TEXT_NODE_TYPE_TOPIC":
|
|
35901
|
-
|
|
35891
|
+
result.push(createTopicNode(matchText));
|
|
35902
35892
|
break;
|
|
35903
35893
|
case "RICH_TEXT_NODE_TYPE_AT":
|
|
35904
|
-
|
|
35894
|
+
result.push(createAtNode(matchText));
|
|
35905
35895
|
break;
|
|
35906
35896
|
case "RICH_TEXT_NODE_TYPE_LOTTERY":
|
|
35907
|
-
|
|
35897
|
+
result.push(createLotteryNode(matchText));
|
|
35908
35898
|
break;
|
|
35909
35899
|
case "RICH_TEXT_NODE_TYPE_WEB":
|
|
35910
|
-
|
|
35900
|
+
result.push(createWebLinkNode(tag.text || matchText, matchText));
|
|
35911
35901
|
break;
|
|
35912
35902
|
case "RICH_TEXT_NODE_TYPE_EMOJI": {
|
|
35913
35903
|
const emojiUrl = tag.emoji?.gif_url || tag.emoji?.icon_url;
|
|
35914
35904
|
const scale = tag.emoji?.size === 2 || tag.emoji?.size === 3 ? 2 : void 0;
|
|
35915
|
-
if (emojiUrl)
|
|
35916
|
-
else
|
|
35905
|
+
if (emojiUrl) result.push(createEmojiNode(matchText, emojiUrl, { scale }));
|
|
35906
|
+
else result.push(createTextNode(matchText));
|
|
35917
35907
|
break;
|
|
35918
35908
|
}
|
|
35919
35909
|
case "RICH_TEXT_NODE_TYPE_VOTE":
|
|
35920
|
-
|
|
35910
|
+
result.push(createVoteNode(tag.text || matchText));
|
|
35921
35911
|
break;
|
|
35922
35912
|
case "RICH_TEXT_NODE_TYPE_VIEW_PICTURE":
|
|
35923
|
-
|
|
35913
|
+
result.push(createViewPictureNode(matchText));
|
|
35924
35914
|
break;
|
|
35925
35915
|
default: {
|
|
35926
35916
|
const parts = matchText.split(/(\r?\n)/);
|
|
35927
|
-
for (const part of parts) if (part === "\r\n" || part === "\n")
|
|
35928
|
-
else if (part)
|
|
35917
|
+
for (const part of parts) if (part === "\r\n" || part === "\n") result.push(createLineBreakNode());
|
|
35918
|
+
else if (part) result.push(...parseTextWithUrls(part));
|
|
35929
35919
|
break;
|
|
35930
35920
|
}
|
|
35931
35921
|
}
|
|
35922
|
+
return result;
|
|
35923
|
+
};
|
|
35924
|
+
if (!text) {
|
|
35925
|
+
for (const tag of richTextNodes) nodes.push(...buildNodesFromTag(tag));
|
|
35926
|
+
return createRichTextDocument(nodes, { platform: "bilibili" });
|
|
35927
|
+
}
|
|
35928
|
+
const findInText = (searchText, startPos) => {
|
|
35929
|
+
return text.indexOf(searchText, startPos);
|
|
35930
|
+
};
|
|
35931
|
+
let currentPos = 0;
|
|
35932
|
+
for (const tag of richTextNodes) {
|
|
35933
|
+
const matchText = tag.orig_text || tag.text || "";
|
|
35934
|
+
if (!matchText) continue;
|
|
35935
|
+
const matchPos = findInText(matchText, currentPos);
|
|
35936
|
+
if (matchPos === -1) continue;
|
|
35937
|
+
if (matchPos > currentPos) {
|
|
35938
|
+
const parts = text.slice(currentPos, matchPos).split(/(\r?\n)/);
|
|
35939
|
+
for (const part of parts) if (part === "\r\n" || part === "\n") nodes.push(createLineBreakNode());
|
|
35940
|
+
else if (part) nodes.push(...parseTextWithUrls(part));
|
|
35941
|
+
}
|
|
35942
|
+
nodes.push(...buildNodesFromTag(tag));
|
|
35932
35943
|
currentPos = matchPos + matchText.length;
|
|
35933
35944
|
}
|
|
35934
35945
|
if (currentPos < text.length) {
|
|
@@ -36021,10 +36032,15 @@ var parseOpusToRichText = (opus, useDarkTheme) => {
|
|
|
36021
36032
|
flushList();
|
|
36022
36033
|
const pics = paragraph.pic?.pics;
|
|
36023
36034
|
if (Array.isArray(pics)) {
|
|
36024
|
-
for (const pic of pics) if (pic.url) nodes.push(createImageNode(fixImageUrl(pic.url), pic.alt || "专栏图片"));
|
|
36035
|
+
for (const pic of pics) if (pic.url) nodes.push(createImageNode(fixImageUrl(pic.url), pic.alt || "专栏图片", pic.comment));
|
|
36025
36036
|
}
|
|
36026
36037
|
continue;
|
|
36027
36038
|
}
|
|
36039
|
+
if (paraType === 3) {
|
|
36040
|
+
flushList();
|
|
36041
|
+
nodes.push(createHorizontalRuleNode());
|
|
36042
|
+
continue;
|
|
36043
|
+
}
|
|
36028
36044
|
if (paraType === 7) {
|
|
36029
36045
|
flushList();
|
|
36030
36046
|
const linkCard = paragraph.link_card;
|
|
@@ -36051,6 +36067,7 @@ var parseOpusToRichText = (opus, useDarkTheme) => {
|
|
|
36051
36067
|
if (![
|
|
36052
36068
|
1,
|
|
36053
36069
|
2,
|
|
36070
|
+
3,
|
|
36054
36071
|
4,
|
|
36055
36072
|
7,
|
|
36056
36073
|
8,
|
|
@@ -36618,13 +36635,11 @@ var Bilibili = class extends Base {
|
|
|
36618
36635
|
imgArray.push(segment.image(imageUrl));
|
|
36619
36636
|
}
|
|
36620
36637
|
if (hasGeneratedLivePhoto) {
|
|
36621
|
-
const
|
|
36622
|
-
|
|
36623
|
-
|
|
36624
|
-
|
|
36625
|
-
|
|
36626
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
36627
|
-
imgArray.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
36638
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
36639
|
+
title: "实况照片已生成",
|
|
36640
|
+
description: "保存原图到相册即可识别为实况图"
|
|
36641
|
+
});
|
|
36642
|
+
imgArray.push(...tipImg);
|
|
36628
36643
|
}
|
|
36629
36644
|
if (imgArray.length === 1) this.e.reply(imgArray[0]);
|
|
36630
36645
|
if (imgArray.length > 1) {
|
|
@@ -36640,15 +36655,18 @@ var Bilibili = class extends Base {
|
|
|
36640
36655
|
for (const item of temp) await Common.removeFile(item.filepath, true);
|
|
36641
36656
|
}
|
|
36642
36657
|
}
|
|
36643
|
-
|
|
36644
|
-
|
|
36645
|
-
|
|
36658
|
+
const md = dynamicInfo.data.data.item.modules.module_dynamic;
|
|
36659
|
+
if (md.topic) {
|
|
36660
|
+
const { name } = md.topic;
|
|
36661
|
+
const summary = md.major.opus.summary;
|
|
36662
|
+
summary.rich_text_nodes ??= [];
|
|
36663
|
+
summary.rich_text_nodes.unshift({
|
|
36646
36664
|
orig_text: name,
|
|
36647
36665
|
jump_url: "",
|
|
36648
36666
|
text: name,
|
|
36649
36667
|
type: "topic"
|
|
36650
36668
|
});
|
|
36651
|
-
|
|
36669
|
+
summary.text = summary.text ? `${name}\n${summary.text}` : name;
|
|
36652
36670
|
}
|
|
36653
36671
|
this.e.reply(await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_DRAW", {
|
|
36654
36672
|
image_url: Object.values(dynamicInfo.data.data.item.modules.module_dynamic.major.opus.pics).filter((item) => typeof item?.url === "string").map((item) => ({ image_src: item.url })),
|
|
@@ -36668,23 +36686,27 @@ var Bilibili = class extends Base {
|
|
|
36668
36686
|
following_count: Count(userProfileData.data.data.card.attention),
|
|
36669
36687
|
decoration_card: generateDecorationCard(dynamicInfo.data.data.item.modules.module_author.decoration_card),
|
|
36670
36688
|
render_time: TimeFormatter.now(),
|
|
36671
|
-
dynamicTYPE: "
|
|
36689
|
+
dynamicTYPE: "图文动态解析",
|
|
36672
36690
|
imageLayout: Config.bilibili.imageLayout,
|
|
36673
|
-
additional: parseAdditionalCard(dynamicInfo.data.data.item.modules.module_dynamic.additional)
|
|
36691
|
+
additional: parseAdditionalCard(dynamicInfo.data.data.item.modules.module_dynamic.additional),
|
|
36692
|
+
dynamic_id: dynamicInfo.data.data.item.id_str
|
|
36674
36693
|
}));
|
|
36675
36694
|
break;
|
|
36676
36695
|
}
|
|
36677
36696
|
/** 纯文 */
|
|
36678
36697
|
case DynamicType.WORD: {
|
|
36679
|
-
|
|
36680
|
-
|
|
36681
|
-
|
|
36698
|
+
const md = dynamicInfo.data.data.item.modules.module_dynamic;
|
|
36699
|
+
if (md.topic) {
|
|
36700
|
+
const { name } = md.topic;
|
|
36701
|
+
const summary = md.major.opus.summary;
|
|
36702
|
+
summary.rich_text_nodes ??= [];
|
|
36703
|
+
summary.rich_text_nodes.unshift({
|
|
36682
36704
|
orig_text: name,
|
|
36683
36705
|
jump_url: "",
|
|
36684
36706
|
text: name,
|
|
36685
36707
|
type: "topic"
|
|
36686
36708
|
});
|
|
36687
|
-
|
|
36709
|
+
summary.text = summary.text ? `${name}\n\n${summary.text}` : name;
|
|
36688
36710
|
}
|
|
36689
36711
|
const text = buildBilibiliDynamicRichText(dynamicInfo.data.data.item.modules.module_dynamic.major.opus?.summary?.text ?? "", dynamicInfo.data.data.item.modules.module_dynamic.major.opus?.summary?.rich_text_nodes ?? []);
|
|
36690
36712
|
this.e.reply(await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_WORD", {
|
|
@@ -36703,22 +36725,26 @@ var Bilibili = class extends Base {
|
|
|
36703
36725
|
following_count: Count(userProfileData.data.data.card.attention),
|
|
36704
36726
|
decoration_card: generateDecorationCard(dynamicInfo.data.data.item.modules.module_author.decoration_card),
|
|
36705
36727
|
render_time: TimeFormatter.now(),
|
|
36706
|
-
dynamicTYPE: "
|
|
36707
|
-
additional: parseAdditionalCard(dynamicInfo.data.data.item.modules.module_dynamic.additional)
|
|
36728
|
+
dynamicTYPE: "纯文动态解析",
|
|
36729
|
+
additional: parseAdditionalCard(dynamicInfo.data.data.item.modules.module_dynamic.additional),
|
|
36730
|
+
dynamic_id: dynamicInfo.data.data.item.id_str
|
|
36708
36731
|
}));
|
|
36709
36732
|
break;
|
|
36710
36733
|
}
|
|
36711
36734
|
/** 转发动态 */
|
|
36712
36735
|
case DynamicType.FORWARD: {
|
|
36713
|
-
|
|
36714
|
-
|
|
36715
|
-
|
|
36736
|
+
const md = dynamicInfo.data.data.item.modules.module_dynamic;
|
|
36737
|
+
if (md.topic) {
|
|
36738
|
+
const { name } = md.topic;
|
|
36739
|
+
const desc = md.desc;
|
|
36740
|
+
desc.rich_text_nodes ??= [];
|
|
36741
|
+
desc.rich_text_nodes.unshift({
|
|
36716
36742
|
orig_text: name,
|
|
36717
36743
|
jump_url: "",
|
|
36718
36744
|
text: name,
|
|
36719
36745
|
type: "topic"
|
|
36720
36746
|
});
|
|
36721
|
-
|
|
36747
|
+
desc.text = desc.text ? `${name}\n\n${desc.text}` : name;
|
|
36722
36748
|
}
|
|
36723
36749
|
const text = buildBilibiliDynamicRichText(dynamicInfo.data.data.item.modules.module_dynamic.desc.text, dynamicInfo.data.data.item.modules.module_dynamic.desc.rich_text_nodes);
|
|
36724
36750
|
const imgList = [];
|
|
@@ -36741,13 +36767,14 @@ var Bilibili = class extends Base {
|
|
|
36741
36767
|
frame: dynamicInfo.data.data.item.orig.modules.module_author.pendant.image
|
|
36742
36768
|
};
|
|
36743
36769
|
break;
|
|
36744
|
-
case DynamicType.DRAW:
|
|
36745
|
-
|
|
36746
|
-
|
|
36747
|
-
const
|
|
36748
|
-
|
|
36749
|
-
|
|
36750
|
-
|
|
36770
|
+
case DynamicType.DRAW: {
|
|
36771
|
+
const origMd = dynamicInfo.data.data.item.orig.modules.module_dynamic;
|
|
36772
|
+
if (origMd.topic) {
|
|
36773
|
+
const { name } = origMd.topic;
|
|
36774
|
+
const summary = origMd.major?.opus?.summary;
|
|
36775
|
+
if (summary) {
|
|
36776
|
+
summary.rich_text_nodes ??= [];
|
|
36777
|
+
summary.rich_text_nodes.unshift({
|
|
36751
36778
|
orig_text: name,
|
|
36752
36779
|
jump_url: "",
|
|
36753
36780
|
text: name,
|
|
@@ -36755,7 +36782,7 @@ var Bilibili = class extends Base {
|
|
|
36755
36782
|
rid: "",
|
|
36756
36783
|
style: { "1114514": "1919810" }
|
|
36757
36784
|
});
|
|
36758
|
-
|
|
36785
|
+
summary.text = summary.text ? `${name}\n${summary.text}` : name;
|
|
36759
36786
|
}
|
|
36760
36787
|
}
|
|
36761
36788
|
data = {
|
|
@@ -36769,19 +36796,21 @@ var Bilibili = class extends Base {
|
|
|
36769
36796
|
frame: dynamicInfo.data.data.item.orig.modules.module_author.pendant.image
|
|
36770
36797
|
};
|
|
36771
36798
|
break;
|
|
36772
|
-
|
|
36773
|
-
|
|
36774
|
-
|
|
36775
|
-
|
|
36776
|
-
|
|
36777
|
-
|
|
36778
|
-
|
|
36799
|
+
}
|
|
36800
|
+
case DynamicType.WORD: {
|
|
36801
|
+
const origMd = dynamicInfo.data.data.item.orig.modules.module_dynamic;
|
|
36802
|
+
if (origMd.topic) {
|
|
36803
|
+
const { name } = origMd.topic;
|
|
36804
|
+
const summary = origMd.major?.opus?.summary;
|
|
36805
|
+
if (summary) {
|
|
36806
|
+
summary.rich_text_nodes ??= [];
|
|
36807
|
+
summary.rich_text_nodes.unshift({
|
|
36779
36808
|
orig_text: name,
|
|
36780
36809
|
jump_url: "",
|
|
36781
36810
|
text: name,
|
|
36782
36811
|
type: "topic"
|
|
36783
36812
|
});
|
|
36784
|
-
|
|
36813
|
+
summary.text = summary.text ? `${name}\n${summary.text}` : name;
|
|
36785
36814
|
}
|
|
36786
36815
|
}
|
|
36787
36816
|
data = {
|
|
@@ -36790,9 +36819,11 @@ var Bilibili = class extends Base {
|
|
|
36790
36819
|
avatar_url: dynamicInfo.data.data.item.orig.modules.module_author.face,
|
|
36791
36820
|
text: buildBilibiliDynamicRichText(dynamicInfo.data.data.item.orig.modules.module_dynamic.major.opus.summary.text, dynamicInfo.data.data.item.orig.modules.module_dynamic.major.opus.summary.rich_text_nodes),
|
|
36792
36821
|
decoration_card: generateDecorationCard(dynamicInfo.data.data.item.orig.modules.module_author.decoration_card),
|
|
36793
|
-
frame: dynamicInfo.data.data.item.orig.modules.module_author.pendant.image
|
|
36822
|
+
frame: dynamicInfo.data.data.item.orig.modules.module_author.pendant.image,
|
|
36823
|
+
additional: parseAdditionalCard(dynamicInfo.data.data.item.orig.modules.module_dynamic.additional)
|
|
36794
36824
|
};
|
|
36795
36825
|
break;
|
|
36826
|
+
}
|
|
36796
36827
|
case DynamicType.LIVE_RCMD: {
|
|
36797
36828
|
const liveData = JSON.parse(dynamicInfo.data.data.item.orig.modules.module_dynamic.major.live_rcmd.content);
|
|
36798
36829
|
data = {
|
|
@@ -36831,7 +36862,8 @@ var Bilibili = class extends Base {
|
|
|
36831
36862
|
dynamicTYPE: "转发动态解析",
|
|
36832
36863
|
decoration_card: generateDecorationCard(dynamicInfo.data.data.item.modules.module_author.decoration_card),
|
|
36833
36864
|
render_time: TimeFormatter.now(),
|
|
36834
|
-
original_content: { [dynamicInfo.data.data.item.orig.type]: data }
|
|
36865
|
+
original_content: { [dynamicInfo.data.data.item.orig.type]: data },
|
|
36866
|
+
dynamic_id: dynamicInfo.data.data.item.id_str
|
|
36835
36867
|
}));
|
|
36836
36868
|
break;
|
|
36837
36869
|
}
|
|
@@ -36859,18 +36891,36 @@ var Bilibili = class extends Base {
|
|
|
36859
36891
|
staff.unshift(currentUser);
|
|
36860
36892
|
}
|
|
36861
36893
|
}
|
|
36894
|
+
const md = dynamicInfo.data.data.item.modules.module_dynamic;
|
|
36895
|
+
if (md.topic) {
|
|
36896
|
+
const { name } = md.topic;
|
|
36897
|
+
md.desc ??= {
|
|
36898
|
+
rich_text_nodes: [],
|
|
36899
|
+
text: ""
|
|
36900
|
+
};
|
|
36901
|
+
md.desc.rich_text_nodes.unshift({
|
|
36902
|
+
orig_text: name,
|
|
36903
|
+
jump_url: "",
|
|
36904
|
+
text: name,
|
|
36905
|
+
type: "topic"
|
|
36906
|
+
});
|
|
36907
|
+
md.desc.text = md.desc.text ? `${name}\n\n${md.desc.text}` : name;
|
|
36908
|
+
}
|
|
36909
|
+
const dynamicText = buildBilibiliDynamicRichText(dynamicInfo.data.data.item.modules.module_dynamic.desc?.text ?? "", dynamicInfo.data.data.item.modules.module_dynamic.desc?.rich_text_nodes ?? []);
|
|
36862
36910
|
img$1 = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_AV", {
|
|
36863
36911
|
image_url: INFODATA.data.data.pic,
|
|
36864
36912
|
text: buildBilibiliDynamicRichText(INFODATA.data.data.title, []),
|
|
36865
36913
|
desc: INFODATA.data.data.desc_v2?.length ? buildBilibiliVideoDescRichText(INFODATA.data.data.desc_v2) : buildBilibiliDynamicRichText(INFODATA.data.data.desc || "", []),
|
|
36914
|
+
dynamic_text: dynamicText,
|
|
36866
36915
|
dianzan: Count(INFODATA.data.data.stat.like),
|
|
36867
36916
|
pinglun: Count(INFODATA.data.data.stat.reply),
|
|
36868
36917
|
share: Count(INFODATA.data.data.stat.share),
|
|
36869
36918
|
view: Count(INFODATA.data.data.stat.view),
|
|
36870
36919
|
coin: Count(INFODATA.data.data.stat.coin),
|
|
36871
36920
|
duration_text: dynamicInfo.data.data.item.modules.module_dynamic.major.archive.duration_text,
|
|
36872
|
-
|
|
36873
|
-
|
|
36921
|
+
page_length: INFODATA.data.data.pages.length,
|
|
36922
|
+
create_time: TimeFormatter.toRelative(dynamicInfo.data.data.item.modules.module_author.pub_ts),
|
|
36923
|
+
avatar_url: dynamicInfo.data.data.item.modules.module_author.face,
|
|
36874
36924
|
frame: dynamicInfo.data.data.item.modules.module_author.pendant.image,
|
|
36875
36925
|
share_url: "https://www.bilibili.com/video/" + bvid,
|
|
36876
36926
|
usernameMeta: getUsernameMetadata(userProfileData.data.data.card),
|
|
@@ -36878,8 +36928,9 @@ var Bilibili = class extends Base {
|
|
|
36878
36928
|
user_shortid: userProfileData.data.data.card.mid,
|
|
36879
36929
|
total_favorited: Count(userProfileData.data.data.like_num),
|
|
36880
36930
|
following_count: Count(userProfileData.data.data.card.attention),
|
|
36931
|
+
decoration_card: generateDecorationCard(dynamicInfo.data.data.item.modules.module_author.decoration_card),
|
|
36881
36932
|
render_time: TimeFormatter.now(),
|
|
36882
|
-
dynamicTYPE: "
|
|
36933
|
+
dynamicTYPE: "视频动态解析",
|
|
36883
36934
|
dynamic_id: dynamicInfo.data.data.item.id_str,
|
|
36884
36935
|
staff
|
|
36885
36936
|
});
|
|
@@ -36904,7 +36955,7 @@ var Bilibili = class extends Base {
|
|
|
36904
36955
|
create_time: TimeFormatter.toDateTime(dynamicInfo.data.data.item.modules.module_author.pub_ts),
|
|
36905
36956
|
now_time: TimeFormatter.now(),
|
|
36906
36957
|
share_url: "https://live.bilibili.com/" + liveInfo.live_play_info.room_id,
|
|
36907
|
-
dynamicTYPE: "
|
|
36958
|
+
dynamicTYPE: "直播动态解析"
|
|
36908
36959
|
});
|
|
36909
36960
|
this.e.reply(img$1);
|
|
36910
36961
|
break;
|
|
@@ -37048,7 +37099,7 @@ var Bilibili = class extends Base {
|
|
|
37048
37099
|
create_time: liveInfo.data.data.live_time === "-62170012800" ? "获取失败" : liveInfo.data.data.live_time,
|
|
37049
37100
|
now_time: TimeFormatter.now(),
|
|
37050
37101
|
share_url: "https://live.bilibili.com/" + liveInfo.data.data.room_id,
|
|
37051
|
-
dynamicTYPE: "
|
|
37102
|
+
dynamicTYPE: "直播动态解析"
|
|
37052
37103
|
});
|
|
37053
37104
|
this.e.reply(img);
|
|
37054
37105
|
break;
|
|
@@ -38161,8 +38212,6 @@ var Bilibilipush = class extends Base {
|
|
|
38161
38212
|
host_mid: data[dynamicId].host_mid,
|
|
38162
38213
|
typeMode: "strict"
|
|
38163
38214
|
});
|
|
38164
|
-
let emojiDATA = await this.amagi.bilibili.fetcher.fetchEmojiList({ typeMode: "strict" });
|
|
38165
|
-
emojiDATA = extractEmojisData(emojiDATA.data.data.packages);
|
|
38166
38215
|
switch (data[dynamicId].dynamic_type) {
|
|
38167
38216
|
/** 处理图文动态 */
|
|
38168
38217
|
case DynamicType.DRAW:
|
|
@@ -38196,20 +38245,24 @@ var Bilibilipush = class extends Base {
|
|
|
38196
38245
|
render_time: TimeFormatter.now(),
|
|
38197
38246
|
imageLayout: Config.bilibili.imageLayout,
|
|
38198
38247
|
additional: parseAdditionalCard(data[dynamicId].Dynamic_Data.modules.module_dynamic.additional),
|
|
38199
|
-
dynamicTYPE: "图文动态推送"
|
|
38248
|
+
dynamicTYPE: "图文动态推送",
|
|
38249
|
+
dynamic_id: dynamicId
|
|
38200
38250
|
});
|
|
38201
38251
|
break;
|
|
38202
38252
|
/** 处理纯文动态 */
|
|
38203
38253
|
case DynamicType.WORD: {
|
|
38204
38254
|
if ("topic" in data[dynamicId].Dynamic_Data.orig.modules.module_dynamic && data[dynamicId].Dynamic_Data.modules.module_dynamic.topic !== null) {
|
|
38205
|
-
const
|
|
38206
|
-
|
|
38255
|
+
const md = data[dynamicId].Dynamic_Data.modules.module_dynamic;
|
|
38256
|
+
const { name } = md.topic;
|
|
38257
|
+
const summary = md.major.opus.summary;
|
|
38258
|
+
summary.rich_text_nodes ??= [];
|
|
38259
|
+
summary.rich_text_nodes.unshift({
|
|
38207
38260
|
orig_text: name,
|
|
38208
38261
|
text: name,
|
|
38209
38262
|
type: "topic",
|
|
38210
|
-
rid:
|
|
38263
|
+
rid: md.topic.id.toString()
|
|
38211
38264
|
});
|
|
38212
|
-
|
|
38265
|
+
summary.text = summary.text ? `${name}\n\n${summary.text}` : name;
|
|
38213
38266
|
}
|
|
38214
38267
|
const text = buildBilibiliDynamicRichText(data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.summary?.text ?? "", data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.opus?.summary?.rich_text_nodes ?? []);
|
|
38215
38268
|
img = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_WORD", {
|
|
@@ -38229,7 +38282,8 @@ var Bilibilipush = class extends Base {
|
|
|
38229
38282
|
decoration_card: generateDecorationCard(data[dynamicId].Dynamic_Data.modules.module_author.decoration_card),
|
|
38230
38283
|
render_time: TimeFormatter.now(),
|
|
38231
38284
|
additional: parseAdditionalCard(data[dynamicId].Dynamic_Data.modules.module_dynamic.additional),
|
|
38232
|
-
dynamicTYPE: "纯文动态推送"
|
|
38285
|
+
dynamicTYPE: "纯文动态推送",
|
|
38286
|
+
dynamic_id: dynamicId
|
|
38233
38287
|
});
|
|
38234
38288
|
break;
|
|
38235
38289
|
}
|
|
@@ -38262,16 +38316,34 @@ var Bilibilipush = class extends Base {
|
|
|
38262
38316
|
staff.unshift(currentUser);
|
|
38263
38317
|
}
|
|
38264
38318
|
}
|
|
38319
|
+
const md = data[dynamicId].Dynamic_Data.modules.module_dynamic;
|
|
38320
|
+
if (md.topic) {
|
|
38321
|
+
const { name } = md.topic;
|
|
38322
|
+
md.desc ??= {
|
|
38323
|
+
rich_text_nodes: [],
|
|
38324
|
+
text: ""
|
|
38325
|
+
};
|
|
38326
|
+
md.desc.rich_text_nodes.unshift({
|
|
38327
|
+
orig_text: name,
|
|
38328
|
+
jump_url: "",
|
|
38329
|
+
text: name,
|
|
38330
|
+
type: "topic"
|
|
38331
|
+
});
|
|
38332
|
+
md.desc.text = md.desc.text ? `${name}\n\n${md.desc.text}` : name;
|
|
38333
|
+
}
|
|
38334
|
+
const dynamicText = buildBilibiliDynamicRichText(data[dynamicId].Dynamic_Data.modules.module_dynamic.desc?.text ?? "", data[dynamicId].Dynamic_Data.modules.module_dynamic.desc?.rich_text_nodes ?? []);
|
|
38265
38335
|
img = await Render(this.e, "bilibili/dynamic/DYNAMIC_TYPE_AV", {
|
|
38266
38336
|
image_url: INFODATA.data.data.pic,
|
|
38267
38337
|
text: buildBilibiliDynamicRichText(INFODATA.data.data.title, []),
|
|
38268
38338
|
desc: INFODATA.data.data.desc_v2?.length ? buildBilibiliVideoDescRichText(INFODATA.data.data.desc_v2) : buildBilibiliDynamicRichText(INFODATA.data.data.desc || "", []),
|
|
38339
|
+
dynamic_text: dynamicText,
|
|
38269
38340
|
dianzan: Count(INFODATA.data.data.stat.like),
|
|
38270
38341
|
pinglun: Count(INFODATA.data.data.stat.reply),
|
|
38271
38342
|
share: Count(INFODATA.data.data.stat.share),
|
|
38272
38343
|
view: Count(INFODATA.data.data.stat.view),
|
|
38273
38344
|
coin: Count(INFODATA.data.data.stat.coin),
|
|
38274
38345
|
duration_text: data[dynamicId].Dynamic_Data.modules.module_dynamic.major?.archive?.duration_text ?? "0:00",
|
|
38346
|
+
page_length: INFODATA.data.data.pages.length,
|
|
38275
38347
|
create_time: TimeFormatter.toDateTime(data[dynamicId].Dynamic_Data.modules.module_author.pub_ts),
|
|
38276
38348
|
avatar_url: userINFO.data.data.card.face,
|
|
38277
38349
|
frame: data[dynamicId].Dynamic_Data.modules.module_author.pendant.image,
|
|
@@ -38308,15 +38380,18 @@ var Bilibilipush = class extends Base {
|
|
|
38308
38380
|
}
|
|
38309
38381
|
/** 处理转发动态 */
|
|
38310
38382
|
case DynamicType.FORWARD: {
|
|
38311
|
-
|
|
38312
|
-
|
|
38313
|
-
|
|
38383
|
+
const md = data[dynamicId].Dynamic_Data.modules.module_dynamic;
|
|
38384
|
+
if (md.topic) {
|
|
38385
|
+
const { name } = md.topic;
|
|
38386
|
+
const desc = md.desc;
|
|
38387
|
+
desc.rich_text_nodes ??= [];
|
|
38388
|
+
desc.rich_text_nodes.unshift({
|
|
38314
38389
|
orig_text: name,
|
|
38315
38390
|
jump_url: "",
|
|
38316
38391
|
text: name,
|
|
38317
38392
|
type: "topic"
|
|
38318
38393
|
});
|
|
38319
|
-
|
|
38394
|
+
desc.text = desc.text ? `${name}\n\n${desc.text}` : name;
|
|
38320
38395
|
}
|
|
38321
38396
|
const text = buildBilibiliDynamicRichText(data[dynamicId].Dynamic_Data.modules.module_dynamic.desc.text, data[dynamicId].Dynamic_Data.modules.module_dynamic.desc.rich_text_nodes);
|
|
38322
38397
|
let param = {};
|
|
@@ -38342,21 +38417,22 @@ var Bilibilipush = class extends Base {
|
|
|
38342
38417
|
frame: data[dynamicId].Dynamic_Data.orig.modules.module_author.pendant.image
|
|
38343
38418
|
};
|
|
38344
38419
|
break;
|
|
38345
|
-
case DynamicType.DRAW:
|
|
38346
|
-
|
|
38347
|
-
|
|
38348
|
-
const
|
|
38349
|
-
|
|
38350
|
-
|
|
38351
|
-
|
|
38420
|
+
case DynamicType.DRAW: {
|
|
38421
|
+
const origMd = data[dynamicId].Dynamic_Data.orig.modules.module_dynamic;
|
|
38422
|
+
if (origMd.topic) {
|
|
38423
|
+
const { name } = origMd.topic;
|
|
38424
|
+
const summary = origMd.major?.opus?.summary;
|
|
38425
|
+
if (summary) {
|
|
38426
|
+
summary.rich_text_nodes ??= [];
|
|
38427
|
+
summary.rich_text_nodes.unshift({
|
|
38352
38428
|
orig_text: name,
|
|
38353
38429
|
text: name,
|
|
38354
38430
|
type: "topic",
|
|
38355
|
-
rid:
|
|
38431
|
+
rid: origMd.topic.id.toString(),
|
|
38356
38432
|
jump_url: "114514",
|
|
38357
38433
|
style: { "114514": "1919810" }
|
|
38358
38434
|
});
|
|
38359
|
-
|
|
38435
|
+
summary.text = summary.text ? `${name}\n${summary.text}` : name;
|
|
38360
38436
|
}
|
|
38361
38437
|
}
|
|
38362
38438
|
param = {
|
|
@@ -38370,19 +38446,21 @@ var Bilibilipush = class extends Base {
|
|
|
38370
38446
|
frame: data[dynamicId].Dynamic_Data.orig.modules.module_author.pendant.image
|
|
38371
38447
|
};
|
|
38372
38448
|
break;
|
|
38373
|
-
|
|
38374
|
-
|
|
38375
|
-
|
|
38376
|
-
|
|
38377
|
-
|
|
38378
|
-
|
|
38379
|
-
|
|
38449
|
+
}
|
|
38450
|
+
case DynamicType.WORD: {
|
|
38451
|
+
const origMd = data[dynamicId].Dynamic_Data.orig.modules.module_dynamic;
|
|
38452
|
+
if (origMd.topic) {
|
|
38453
|
+
const { name } = origMd.topic;
|
|
38454
|
+
const summary = origMd.major?.opus?.summary;
|
|
38455
|
+
if (summary) {
|
|
38456
|
+
summary.rich_text_nodes ??= [];
|
|
38457
|
+
summary.rich_text_nodes.unshift({
|
|
38380
38458
|
orig_text: name,
|
|
38381
38459
|
text: name,
|
|
38382
38460
|
type: "topic",
|
|
38383
|
-
rid:
|
|
38461
|
+
rid: origMd.topic.id.toString()
|
|
38384
38462
|
});
|
|
38385
|
-
|
|
38463
|
+
summary.text = summary.text ? `${name}\n${summary.text}` : name;
|
|
38386
38464
|
}
|
|
38387
38465
|
}
|
|
38388
38466
|
param = {
|
|
@@ -38394,6 +38472,7 @@ var Bilibilipush = class extends Base {
|
|
|
38394
38472
|
frame: data[dynamicId].Dynamic_Data.orig.modules.module_author.pendant.image
|
|
38395
38473
|
};
|
|
38396
38474
|
break;
|
|
38475
|
+
}
|
|
38397
38476
|
case DynamicType.LIVE_RCMD: {
|
|
38398
38477
|
const liveData = JSON.parse(data[dynamicId].Dynamic_Data.orig.modules.module_dynamic.major.live_rcmd.content);
|
|
38399
38478
|
param = {
|
|
@@ -38434,7 +38513,8 @@ var Bilibilipush = class extends Base {
|
|
|
38434
38513
|
decoration_card: generateDecorationCard(data[dynamicId].Dynamic_Data.modules.module_author.decoration_card),
|
|
38435
38514
|
render_time: TimeFormatter.now(),
|
|
38436
38515
|
original_content: { [data[dynamicId].Dynamic_Data.orig.type]: param },
|
|
38437
|
-
imgList: imgList.length > 0 ? imgList : null
|
|
38516
|
+
imgList: imgList.length > 0 ? imgList : null,
|
|
38517
|
+
dynamic_id: dynamicId
|
|
38438
38518
|
});
|
|
38439
38519
|
break;
|
|
38440
38520
|
}
|
|
@@ -38493,9 +38573,13 @@ var Bilibilipush = class extends Base {
|
|
|
38493
38573
|
if (send_video) {
|
|
38494
38574
|
let correctList;
|
|
38495
38575
|
let videoSize = "";
|
|
38576
|
+
const videoInfo = await this.amagi.bilibili.fetcher.fetchVideoInfo({
|
|
38577
|
+
bvid: data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.bvid,
|
|
38578
|
+
typeMode: "strict"
|
|
38579
|
+
});
|
|
38496
38580
|
const playUrlData = await this.amagi.bilibili.fetcher.fetchVideoStreamUrl({
|
|
38497
38581
|
avid: parseInt(data[dynamicId].Dynamic_Data.modules.module_dynamic.major.archive.aid),
|
|
38498
|
-
cid: data
|
|
38582
|
+
cid: videoInfo.data.data.cid,
|
|
38499
38583
|
typeMode: "strict"
|
|
38500
38584
|
});
|
|
38501
38585
|
/** 提取出视频流信息对象,并排除清晰度重复的视频流 */
|
|
@@ -38662,13 +38746,11 @@ var Bilibilipush = class extends Base {
|
|
|
38662
38746
|
}
|
|
38663
38747
|
}
|
|
38664
38748
|
if (hasGeneratedLivePhoto) {
|
|
38665
|
-
const
|
|
38666
|
-
|
|
38667
|
-
|
|
38668
|
-
|
|
38669
|
-
|
|
38670
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
38671
|
-
imgArray.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
38749
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
38750
|
+
title: "实况照片已生成",
|
|
38751
|
+
description: "保存原图到相册即可识别为实况图"
|
|
38752
|
+
});
|
|
38753
|
+
imgArray.push(...tipImg);
|
|
38672
38754
|
}
|
|
38673
38755
|
const forwardMsg = common.makeForward(imgArray, botId, bot.account.name);
|
|
38674
38756
|
try {
|
|
@@ -38952,23 +39034,6 @@ var br = (data) => {
|
|
|
38952
39034
|
return data = data.replace(/\n/g, "<br>");
|
|
38953
39035
|
};
|
|
38954
39036
|
/**
|
|
38955
|
-
* 处理并提取表情数据,返回一个包含表情名称和URL的对象数组。
|
|
38956
|
-
* @param data 表情数据的数组,每个元素包含一个表情包的信息。
|
|
38957
|
-
* @returns 返回一个对象数组,每个对象包含text(表情名称)和url(表情图片地址)属性。
|
|
38958
|
-
*/
|
|
38959
|
-
var extractEmojisData = (data) => {
|
|
38960
|
-
const emojisData = [];
|
|
38961
|
-
data.forEach((packages) => {
|
|
38962
|
-
packages.emote.forEach((emote) => {
|
|
38963
|
-
emojisData.push({
|
|
38964
|
-
text: emote.text,
|
|
38965
|
-
url: emote.url
|
|
38966
|
-
});
|
|
38967
|
-
});
|
|
38968
|
-
});
|
|
38969
|
-
return emojisData;
|
|
38970
|
-
};
|
|
38971
|
-
/**
|
|
38972
39037
|
* 判断标题是否有屏蔽词或屏蔽标签
|
|
38973
39038
|
* @param PushItem 推送项
|
|
38974
39039
|
* @returns 是否应该跳过推送
|
|
@@ -39861,13 +39926,11 @@ var DouYin = class DouYin extends Base {
|
|
|
39861
39926
|
}
|
|
39862
39927
|
}
|
|
39863
39928
|
if (hasGeneratedLivePhoto) {
|
|
39864
|
-
const
|
|
39865
|
-
|
|
39866
|
-
|
|
39867
|
-
|
|
39868
|
-
|
|
39869
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
39870
|
-
processedImages.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
39929
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
39930
|
+
title: "实况照片已生成",
|
|
39931
|
+
description: "保存原图到相册即可识别为实况图"
|
|
39932
|
+
});
|
|
39933
|
+
processedImages.push(...tipImg);
|
|
39871
39934
|
}
|
|
39872
39935
|
const Element = common.makeForward(processedImages, Config.app.fakeForward ? this.e.sender.userId : this.e.bot.account.selfId, Config.app.fakeForward ? this.e.sender.nick : this.e.bot.account.name);
|
|
39873
39936
|
try {
|
|
@@ -40018,13 +40081,11 @@ var DouYin = class DouYin extends Base {
|
|
|
40018
40081
|
}
|
|
40019
40082
|
}
|
|
40020
40083
|
if (hasGeneratedLivePhoto) {
|
|
40021
|
-
const
|
|
40022
|
-
|
|
40023
|
-
|
|
40024
|
-
|
|
40025
|
-
|
|
40026
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
40027
|
-
images.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
40084
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
40085
|
+
title: "实况照片已生成",
|
|
40086
|
+
description: "保存原图到相册即可识别为实况图"
|
|
40087
|
+
});
|
|
40088
|
+
images.push(...tipImg);
|
|
40028
40089
|
}
|
|
40029
40090
|
const Element = common.makeForward(images, Config.app.fakeForward ? this.e.sender.userId : this.e.bot.account.selfId, Config.app.fakeForward ? this.e.sender.nick : this.e.bot.account.name);
|
|
40030
40091
|
try {
|
|
@@ -40080,13 +40141,7 @@ var DouYin = class DouYin extends Base {
|
|
|
40080
40141
|
分享链接:${logger.green(VideoData.data.aweme_detail.share_url)}
|
|
40081
40142
|
`);
|
|
40082
40143
|
video.bit_rate = douyinProcessVideos(video.bit_rate, Config.douyin.videoQuality, Config.douyin.maxAutoVideoSize);
|
|
40083
|
-
g_video_url =
|
|
40084
|
-
url: video.bit_rate[0].play_addr.url_list[2],
|
|
40085
|
-
headers: {
|
|
40086
|
-
...this.headers,
|
|
40087
|
-
Referer: video.bit_rate[0].play_addr.url_list[0]
|
|
40088
|
-
}
|
|
40089
|
-
}).getLongLink();
|
|
40144
|
+
g_video_url = video.bit_rate[0].play_addr.url_list[0] ?? video.bit_rate[0].play_addr.url_list[1] ?? video.bit_rate[0].play_addr.url_list[2];
|
|
40090
40145
|
g_title = VideoData.data.aweme_detail.preview_title.substring(0, 80).replace(/[\\/:*?"<>|\r\n]/g, " ");
|
|
40091
40146
|
mp4size = (video.bit_rate[0].play_addr.data_size / (1024 * 1024)).toFixed(2);
|
|
40092
40147
|
}
|
|
@@ -40171,7 +40226,7 @@ var DouYin = class DouYin extends Base {
|
|
|
40171
40226
|
const img = await Render(this.e, "douyin/comment", {
|
|
40172
40227
|
Type: isArticle ? "文章" : isVideo ? "视频" : this.is_slides ? "合辑" : "图集",
|
|
40173
40228
|
CommentsData: douyinCommentsRes.CommentsData,
|
|
40174
|
-
CommentLength:
|
|
40229
|
+
CommentLength: douyinCommentsRes.CommentsData.length ?? 0,
|
|
40175
40230
|
share_url: isVideo ? `https://aweme.snssdk.com/aweme/v1/play/?video_id=${aweme.video.play_addr.uri}&ratio=1080p&line=0` : aweme.share_url,
|
|
40176
40231
|
VideoSize: mp4size,
|
|
40177
40232
|
VideoFPS: FPS,
|
|
@@ -40179,7 +40234,7 @@ var DouYin = class DouYin extends Base {
|
|
|
40179
40234
|
Region: aweme.region,
|
|
40180
40235
|
suggestWrod: suggest,
|
|
40181
40236
|
Resolution: isVideo && video ? `${video.bit_rate[0].play_addr.width} x ${video.bit_rate[0].play_addr.height}` : null,
|
|
40182
|
-
maxDepth:
|
|
40237
|
+
maxDepth: 6,
|
|
40183
40238
|
Author: aweme.author.nickname,
|
|
40184
40239
|
AuthorAvatar: aweme.author.avatar_thumb.url_list[0],
|
|
40185
40240
|
Statistics: {
|
|
@@ -40620,21 +40675,11 @@ var DouyinWorkMainType = /* @__PURE__ */ function(DouyinWorkMainType) {
|
|
|
40620
40675
|
return DouyinWorkMainType;
|
|
40621
40676
|
}({});
|
|
40622
40677
|
/**
|
|
40623
|
-
* 图文作品子类型
|
|
40624
|
-
*/
|
|
40625
|
-
var DouyinImageSubType = /* @__PURE__ */ function(DouyinImageSubType) {
|
|
40626
|
-
/** 图集(纯静态图片或包含 live 图) */
|
|
40627
|
-
DouyinImageSubType["GALLERY"] = "gallery";
|
|
40628
|
-
/** 合辑(图片+视频混合) */
|
|
40629
|
-
DouyinImageSubType["COLLECTION"] = "collection";
|
|
40630
|
-
return DouyinImageSubType;
|
|
40631
|
-
}({});
|
|
40632
|
-
/**
|
|
40633
40678
|
* 从作品数据判断详细类型信息
|
|
40634
40679
|
*/
|
|
40635
40680
|
function getWorkTypeInfo(data) {
|
|
40636
40681
|
if (data.live_data) return {
|
|
40637
|
-
mainType:
|
|
40682
|
+
mainType: "live",
|
|
40638
40683
|
isVideo: false,
|
|
40639
40684
|
isImage: false,
|
|
40640
40685
|
isArticle: false,
|
|
@@ -40644,7 +40689,7 @@ function getWorkTypeInfo(data) {
|
|
|
40644
40689
|
templatePath: "douyin/live"
|
|
40645
40690
|
};
|
|
40646
40691
|
if (data.aweme_type === 163 || data.article_info) return {
|
|
40647
|
-
mainType:
|
|
40692
|
+
mainType: "article",
|
|
40648
40693
|
isVideo: false,
|
|
40649
40694
|
isImage: false,
|
|
40650
40695
|
isArticle: true,
|
|
@@ -40654,21 +40699,21 @@ function getWorkTypeInfo(data) {
|
|
|
40654
40699
|
templatePath: "douyin/article-work"
|
|
40655
40700
|
};
|
|
40656
40701
|
if (data.images && data.images.length > 0) {
|
|
40657
|
-
const subType = data.is_slides === true ?
|
|
40702
|
+
const subType = data.is_slides === true ? "collection" : "gallery";
|
|
40658
40703
|
return {
|
|
40659
|
-
mainType:
|
|
40704
|
+
mainType: "image",
|
|
40660
40705
|
subType,
|
|
40661
40706
|
isVideo: false,
|
|
40662
40707
|
isImage: true,
|
|
40663
40708
|
isArticle: false,
|
|
40664
40709
|
isLive: false,
|
|
40665
|
-
isGallery: subType ===
|
|
40666
|
-
isCollection: subType ===
|
|
40710
|
+
isGallery: subType === "gallery",
|
|
40711
|
+
isCollection: subType === "collection",
|
|
40667
40712
|
templatePath: "douyin/image-work"
|
|
40668
40713
|
};
|
|
40669
40714
|
}
|
|
40670
40715
|
return {
|
|
40671
|
-
mainType:
|
|
40716
|
+
mainType: "video",
|
|
40672
40717
|
isVideo: true,
|
|
40673
40718
|
isImage: false,
|
|
40674
40719
|
isArticle: false,
|
|
@@ -41419,13 +41464,11 @@ var DouYinpush = class extends Base {
|
|
|
41419
41464
|
}
|
|
41420
41465
|
}
|
|
41421
41466
|
if (hasGeneratedLivePhoto) {
|
|
41422
|
-
const
|
|
41423
|
-
|
|
41424
|
-
|
|
41425
|
-
|
|
41426
|
-
|
|
41427
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
41428
|
-
images.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
41467
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
41468
|
+
title: "实况照片已生成",
|
|
41469
|
+
description: "保存原图到相册即可识别为实况图"
|
|
41470
|
+
});
|
|
41471
|
+
images.push(...tipImg);
|
|
41429
41472
|
}
|
|
41430
41473
|
const bot = karin$1.getBot(botId);
|
|
41431
41474
|
const Element = common.makeForward(images, botId, bot.account.name);
|
|
@@ -41544,13 +41587,11 @@ var DouYinpush = class extends Base {
|
|
|
41544
41587
|
}
|
|
41545
41588
|
}
|
|
41546
41589
|
if (hasGeneratedLivePhoto) {
|
|
41547
|
-
const
|
|
41548
|
-
|
|
41549
|
-
|
|
41550
|
-
|
|
41551
|
-
|
|
41552
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
41553
|
-
processedImages.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
41590
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
41591
|
+
title: "实况照片已生成",
|
|
41592
|
+
description: "保存原图到相册即可识别为实况图"
|
|
41593
|
+
});
|
|
41594
|
+
processedImages.push(...tipImg);
|
|
41554
41595
|
}
|
|
41555
41596
|
const bot = karin$1.getBot(botId);
|
|
41556
41597
|
const Element = common.makeForward(processedImages, botId, bot.account.name);
|
|
@@ -42451,13 +42492,11 @@ var Xiaohongshu = class extends Base {
|
|
|
42451
42492
|
processedImages.push(segment.image(imageUrl));
|
|
42452
42493
|
}
|
|
42453
42494
|
if (hasGeneratedLivePhoto) {
|
|
42454
|
-
const
|
|
42455
|
-
|
|
42456
|
-
|
|
42457
|
-
|
|
42458
|
-
|
|
42459
|
-
}[Config.app.livePhotoSystem] || "Google 相册";
|
|
42460
|
-
processedImages.push(segment.text(`💡 提示:保存原图到 ${tip} 即可识别为实况图`));
|
|
42495
|
+
const tipImg = await Render(this.e, "other/live-photo-tip", {
|
|
42496
|
+
title: "实况照片已生成",
|
|
42497
|
+
description: "保存原图到相册即可识别为实况图"
|
|
42498
|
+
});
|
|
42499
|
+
processedImages.push(...tipImg);
|
|
42461
42500
|
}
|
|
42462
42501
|
const res = common.makeForward(processedImages, Config.app.fakeForward ? this.e.sender.userId : this.e.bot.account.selfId, Config.app.fakeForward ? this.e.sender.nick : this.e.bot.account.name);
|
|
42463
42502
|
if (processedImages.length === 1) await this.e.reply(processedImages[0]);
|
|
@@ -43501,14 +43540,12 @@ var forcePush = karin$1.command(/#(抖音|B站)(全部)?强制推送/, handleFor
|
|
|
43501
43540
|
var setdyPush = karin$1.command(/^#设置抖音推送/, handleSetDouyinPush, {
|
|
43502
43541
|
name: "kkk-推送功能-设置",
|
|
43503
43542
|
event: "message.group",
|
|
43504
|
-
perm: Config.douyin.push.permission
|
|
43505
|
-
dsbAdapter: ["qqbot"]
|
|
43543
|
+
perm: Config.douyin.push.permission
|
|
43506
43544
|
});
|
|
43507
43545
|
var setbiliPush = karin$1.command(/^#设置[bB]站推送/, handleSetBilibiliPush, {
|
|
43508
43546
|
name: "kkk-推送功能-设置",
|
|
43509
43547
|
event: "message.group",
|
|
43510
|
-
perm: Config.bilibili.push.permission
|
|
43511
|
-
dsbAdapter: ["qqbot"]
|
|
43548
|
+
perm: Config.bilibili.push.permission
|
|
43512
43549
|
});
|
|
43513
43550
|
var bilibiliPushList = karin$1.command(/^#?[bB]站推送列表$/, handleBilibiliPushList, {
|
|
43514
43551
|
name: "kkk-推送功能-列表",
|
|
@@ -43526,7 +43563,6 @@ var testDouyinPush = karin$1.command(/^#测试抖音推送\s*(https?:\/\/[^\s]+)
|
|
|
43526
43563
|
name: "kkk-推送功能-测试",
|
|
43527
43564
|
event: "message.group",
|
|
43528
43565
|
perm: Config.douyin.push.permission,
|
|
43529
|
-
dsbAdapter: ["qqbot"],
|
|
43530
43566
|
priority: -Infinity
|
|
43531
43567
|
});
|
|
43532
43568
|
var globalIgnore = karin$1.command(/^#kkk推送全局忽略/, handleGlobalIgnore, {
|
|
@@ -46560,19 +46596,6 @@ var douyinConfigSchema = {
|
|
|
46560
46596
|
max: 20
|
|
46561
46597
|
}]
|
|
46562
46598
|
},
|
|
46563
|
-
{
|
|
46564
|
-
key: "subCommentDepth",
|
|
46565
|
-
type: "input",
|
|
46566
|
-
inputType: "number",
|
|
46567
|
-
label: "次级评论解析深度",
|
|
46568
|
-
description: "次级评论解析深度",
|
|
46569
|
-
disabled: $or($not("switch"), $not($includes("sendContent", "comment"))),
|
|
46570
|
-
rules: [{
|
|
46571
|
-
min: 1,
|
|
46572
|
-
max: 6,
|
|
46573
|
-
error: "嵌套深度最高只有 6 层,超过 6 层的评论会被强制截断"
|
|
46574
|
-
}]
|
|
46575
|
-
},
|
|
46576
46599
|
{
|
|
46577
46600
|
key: "commentImageCollection",
|
|
46578
46601
|
type: "switch",
|
|
@@ -46580,13 +46603,6 @@ var douyinConfigSchema = {
|
|
|
46580
46603
|
description: "开启后将收集评论区的图片,以合并转发的形式返回",
|
|
46581
46604
|
disabled: $or($not("switch"), $not($includes("sendContent", "comment")))
|
|
46582
46605
|
},
|
|
46583
|
-
{
|
|
46584
|
-
key: "realCommentCount",
|
|
46585
|
-
type: "switch",
|
|
46586
|
-
label: "显示真实评论数量",
|
|
46587
|
-
description: "评论图是否显示真实评论数量,关闭则显示解析到的评论数量",
|
|
46588
|
-
disabled: $or($not("switch"), $not($includes("sendContent", "comment")))
|
|
46589
|
-
},
|
|
46590
46606
|
{
|
|
46591
46607
|
type: "divider",
|
|
46592
46608
|
title: "渲染与画质设置"
|
|
@@ -47761,4 +47777,4 @@ mkdirSync(`${karinPathBase}/${Root.pluginName}/data`);
|
|
|
47761
47777
|
mkdirSync(Common.tempDri.images);
|
|
47762
47778
|
mkdirSync(Common.tempDri.video);
|
|
47763
47779
|
//#endregion
|
|
47764
|
-
export {
|
|
47780
|
+
export { createLinkCardNode as $, xiaohongshuSign as $n, emitLogDebug as $r, CommentType as $t, template_default as A, getHeadersAndData as An, BilibiliBv2AvParamsSchema as Ar, KuaishouApiRoutes as At, DouyinDBBase as B, douyinApiUrls as Bn, BilibiliQrcodeParamsSchema as Br, DouyinInternalMethods as Bt, help as C, qtparam as Cn, BilibiliApplyCaptchaParamsSchema as Cr, CreateApp as Ct, removeOldFiles as D, logger$2 as Dn, BilibiliAv2BvParamsSchema as Dr, BilibiliMethodMapping as Dt, dylogin as E, logMiddleware as En, BilibiliArticleParamsSchema as Er, BilibiliApiRoutes as Et, getBilibiliDB as F, kuaishouFetcher$1 as Fn, BilibiliDynamicParamsSchema as Fr, getEnglishMethodName as Ft, createAtNode as G, createSuccessResponse$1 as Gn, BilibiliVideoDownloadParamsSchema as Gr, MethodMaps as Gt, reactServerRender as H, bilibiliFetcher$1 as Hn, BilibiliUserParamsSchema as Hr, KuaishouFetcherMethods as Ht, getDouyinDB as I, kuaishouSign as In, BilibiliEmojiParamsSchema as Ir, BilibiliFetcherMethods as It, createEmojiNode as J, validateKuaishouParams as Jn, emitApiError as Jr, XiaohongshuMethodToFetcher as Jt, createBlockquoteNode as K, validateBilibiliParams as Kn, BilibiliVideoParamsSchema as Kr, XiaohongshuFetcherMethods as Kt, getStatisticsDB as L, kuaishouApiUrls as Ln, BilibiliLiveParamsSchema as Lr, BilibiliInternalMethods as Lt, bilibiliDBInstance as M, createBoundXiaohongshuFetcher as Mn, BilibiliCommentParamsSchema as Mr, XiaohongshuApiRoutes as Mt, cleanOldDynamicCache as N, xiaohongshuFetcher$1 as Nn, BilibiliCommentReplyParamsSchema as Nr, XiaohongshuMethodMapping as Nt, task as O, fetchData as On, BilibiliBangumiInfoParamsSchema as Or, DouyinApiRoutes as Ot, douyinDBInstance as P, createBoundKuaishouFetcher as Pn, BilibiliDanmakuParamsSchema as Pr, getApiRoute as Pt, createLineBreakNode as Q, xiaohongshuApiUrls as Qn, emitLog as Qr, MajorType as Qt, initAllDatabases as R, douyinFetcher$1 as Rn, BilibiliLoginParamsSchema as Rr, BilibiliMethodToFetcher as Rt, testDouyinPush as S, bv2av as Sn, DouyinWorkParamsSchema as Sr, softFetch as St, biLogin as T, initLogger as Tn, BilibiliArticleInfoParamsSchema as Tr, amagiClient$1 as Tt, renderVideoPreviewPage as U, createBoundBilibiliFetcher as Un, BilibiliValidateCaptchaParamsSchema as Ur, KuaishouInternalMethods as Ut, BilibiliDBBase as V, douyinSign as Vn, BilibiliQrcodeStatusParamsSchema as Vr, DouyinMethodToFetcher as Vt, renderRichTextToReact as W, createErrorResponse as Wn, BilibiliValidationSchemas as Wr, KuaishouMethodToFetcher as Wt, createHorizontalRuleNode as X, XiaohongshuMethodRoutes as Xn, emitHttpRequest as Xr, DynamicType as Xt, createHeadingNode as Y, validateXiaohongshuParams as Yn, emitApiSuccess as Yr, toFetcherMethod as Yt, createImageNode as Z, XiaohongshuValidationSchemas as Zn, emitHttpResponse as Zr, AdditionalType as Zt, douyinPushList as _, handleError as _n, DouyinQrcodeParamsSchema as _r, amagiClient as _t, bilibiliAPP as a, emitNetworkRetry as ai, kuaishouUtils as an, KuaishouUserWorkListParamsSchema as ar, createRichTextDocument as at, setbiliPush as b, parseDmSegMobileReply as bn, DouyinUserParamsSchema as br, kuaishouFetcher as bt, prefix as c, bilibiliApiUrls as ci, kuaishou$1 as cn, DouyinCommentParamsSchema as cr, createTopicNode as ct, groupStatistics as d, getKuaishouData as di, createBoundDouyinApi as dn, DouyinEmojiListParamsSchema as dr, createWebLinkNode as dt, emitLogError as ei, createAmagiClient as en, KuaishouCommentParamsSchema as er, createListItemNode as et, qrLogin as f, Root as fi, douyin$1 as fn, DouyinEmojiProParamsSchema as fr, extractRichTextPlainText as ft, douyinPush as g, ValidationError as gn, DouyinMusicParamsSchema as gr, SOFT_ERROR_CODES as gt, changeBotID as h, ApiError as hn, DouyinMethodRoutes as hr, AmagiError as ht, update as i, emitNetworkError as ii, xiaohongshu$1 as in, KuaishouUserProfileParamsSchema as ir, createParagraphNode as it, webConfig as j, isNetworkErrorResult as jn, BilibiliColumnInfoParamsSchema as jr, KuaishouMethodMapping as jt, testWrapWithErrorHandler as k, fetchResponse as kn, BilibiliBangumiStreamParamsSchema as kr, DouyinMethodMapping as kt, xiaohongshuAPP as l, getBilibiliData as li, douyinUtils as ln, DouyinCommentReplyParamsSchema as lr, createViewPictureNode as lt, bilibiliPushList as m, createBilibiliRoutes as mn, DouyinLiveRoomParamsSchema as mr, AmagiBase as mt, kkkUpdateCommand as n, emitLogMark as ni, createXiaohongshuRoutes as nn, KuaishouLiveRoomInfoParamsSchema as nr, createLotteryNode as nt, douyinAPP as o, bilibili$1 as oi, createKuaishouRoutes as on, KuaishouValidationSchemas as or, createSearchKeywordNode as ot, bilibiliPush as p, bilibiliUtils as pn, DouyinHotWordsParamsSchema as pr, normalizeRichTextNodes as pt, createCodeBlockNode as q, validateDouyinParams as qn, amagiEvents as qr, XiaohongshuInternalMethods as qt, kkkUpdateTest as r, emitLogWarn as ri, createBoundXiaohongshuApi as rn, KuaishouMethodRoutes as rr, createMentionNode as rt, kuaishouAPP as s, createBoundBilibiliApi as si, createBoundKuaishouApi as sn, KuaishouVideoParamsSchema as sr, createTextNode as st, kkkUpdate as t, emitLogInfo as ti, xiaohongshuUtils as tn, KuaishouEmojiParamsSchema as tr, createListNode as tt, globalStatistics as u, getDouyinData as ui, createDouyinRoutes as un, DouyinDanmakuParamsSchema as ur, createVoteNode as ut, forcePush as v, bilibiliErrorCodeMap as vn, DouyinSearchParamsSchema as vr, bilibiliFetcher as vt, version as w, httpLogger as wn, BilibiliArticleCardParamsSchema as wr, amagi as wt, setdyPush as x, av2bv as xn, DouyinValidationSchemas as xr, reloadAmagiConfig as xt, globalIgnore as y, wbi_sign as yn, DouyinUserListParamsSchema as yr, douyinFetcher as yt, StatisticsDBBase as z, createBoundDouyinFetcher as zn, BilibiliMethodRoutes as zr, DouyinFetcherMethods as zt };
|