feat: 新增皮肤站维基只读浏览页
Sync source to CNB / Sync Git ref (push) Skipped

- 新增 WikiView 页面:输入标题加载页面,支持内部词条跳转与返回栈
- 新增 WikiNodeRenderer 递归渲染器:标题、段落、加粗斜体下划线删除线、高亮、行内代码、黑幕、分隔线、内外链、有序无序列表、引用、代码块、表格、附件、提示块
- 新增 WikiNotice 提示块与 WikiAttachmentNode 附件组件,图片支持点击查看大图
- 补充维基节点与附件类型定义,新增附件查询接口与附件内容 URL 拼接
- 主页导航 Wiki 卡片改为站内打开
- 中英文各补 10 个文案
This commit is contained in:
AxTps committed 2026-10-18 13:13:03 +08:00
1 parent febbd84ae7
commit 71b8d111fb
10 files changed
+590 -6

No files matched your search

+47 -1
View File
@@ -1740,11 +1740,45 @@ export function skinSiteDeleteModRuntime(id: number): Promise<SkinSiteResponse<s
export type SkinSiteWikiReadPolicy = 'PUBLIC' | 'MEMBER'
export type SkinSiteWikiEditPolicy = 'MEMBER' | 'WEB_ADMIN'
export interface SkinSiteWikiNode {
type: string
color?: string | null
align?: 'left' | 'center' | 'right' | 'justify' | null
start?: number | null
colspan?: number | null
rowspan?: number | null
variant?: string | null
iconFamily?: string | null
iconName?: string | null
iconVersion?: number | null
linkTitle?: string | null
linkLabel?: string | null
tooltip?: string | null
exists?: boolean | null
text?: string | null
level?: number | null
href?: string | null
title?: string | null
children: SkinSiteWikiNode[]
rows: SkinSiteWikiNode[][][]
}
export interface SkinSiteWikiAttachmentInfo {
id: number
versionId: number
name: string
mime: string
size: number
image: boolean
uploaderName: string
createdAt: number
}
export interface SkinSiteWikiPageDetail {
title: string
revisionId: number
source: string
nodes: unknown[]
nodes: SkinSiteWikiNode[]
categories: string[]
updatedAt: number
authorName: string
@@ -2493,3 +2527,15 @@ export function skinSiteWikiMigrationRollback(
export function skinSiteWikiMigrationDelete(jobId: number): Promise<SkinSiteResponse<void>> {
return skinSiteRequest<void>('wiki/admin/migration/' + jobId, { method: 'DELETE' })
}
export function skinSiteWikiAttachment(
name: string,
): Promise<SkinSiteResponse<SkinSiteWikiAttachmentInfo>> {
return skinSiteRequest<SkinSiteWikiAttachmentInfo>(
'wiki/attachment?name=' + encodeURIComponent(name),
)
}
export function skinSiteWikiAttachmentUrl(id: number): string {
return `${SKIN_SITE_ORIGIN}${REQUEST_TYPE_PATH.starlight}/wiki/attachment/${id}/content`
}