Use this file to discover all available pages before exploring further.
The /api/creation-board endpoint powers the community co-creation board at /creation. It returns two parallel arrays: ideas, which are the raw community-submitted scene proposals from the Feishu 揭示板 table, and headers, which are the card metadata records from the companion 创作板-头表 table. The frontend groups ideas by cardId into visual CreationCard stacks — each card represents one proposed galgame scene, while its stacked entries represent individual community contributions to that scene.
Raw community-submitted idea records from the Feishu 揭示板 table, view 收集结果. Multiple records may share the same cardId; that is by design and must not be de-duplicated at sync time.
Business card identifier used to group ideas into a single CreationCard on the /creation page. Sourced from the Feishu CardID field, with automatic fallback to 自动编号 and then record_id when the field is empty.
Display name shown on the contribution tag. Resolved from the Feishu 你的昵称 field, falling back to 提交人 (the authenticated Feishu submitter) when the nickname is blank.
A single capsule tag string representing the type of contribution. Sourced from the long-label Feishu single-select field 请选择你要添加的内容(该表可重复提交,如需填写多项,请再次提交). Example values: "场景设计", "台词建议", "参考图".
Idea body text. For regular text entries this is the story or scene description. For reference-image entries (tags === "参考图"), the sync pipeline uploads the attachment to Aliyun OSS and back-fills the OSS URL into the Feishu 文本 field, so content will contain an OSS URL string in that case.
List of HTTPS URLs for uploaded image attachments, hosted on Aliyun OSS. Populated from the Feishu 请上传你的图片 attachment field. Empty array [] when no images were attached.
Numeric sort weight used to order ideas within a card. Lower values appear first. Sourced from the sync pipeline’s ordering logic against the Feishu view sort.
Card metadata records from the Feishu 创作板-头表 table. Each record provides the location and character context for a group of ideas sharing the same cardId.
The /api/creation-board response returns data in its raw, un-aggregated form. The /creation page frontend — specifically src/components/creation/utils.ts — performs a client-side grouping step before rendering:
Group by cardId: All CreationIdea records sharing the same cardId are collected into a single CreationCard.
Match header: The corresponding CardHeaderInfo entry (same cardId) supplies the card’s location and character labels.
Project to CreationEntry: Each CreationIdea is projected to a CreationEntry by dropping the internal submitter field. All other fields are passed through unchanged.
Render: The resulting CreationCard is rendered as a stacked-card widget in the waterfall layout.
The resulting CreationCard shape used at the page layer is:
interface CreationEntry { id: string; cardId: string; author: string; tags: string; content: string; images: string[]; createdAt: string; sortOrder: number;}interface CreationCard { id: string; // same as cardId cardId: string; addIdeaUrl: string; // link rendered as the "新增创意" button in the card header entries: CreationEntry[]; location?: string; // campus location name, from the matching CardHeaderInfo character?: string; // galgame character name, from the matching CardHeaderInfo}
CreationCard and CreationEntry are page-layer constructs only — they are never written to disk by the sync pipeline. The canonical on-disk format is src/data/creation-board.json (raw CreationIdea[]) and src/data/creation-board-headers.json (raw CardHeaderInfo[]).
This endpoint reads from two JSON files written by the Feishu sync pipeline:
File
Feishu source table
Content
src/data/creation-board.json
揭示板 → 收集结果 view
Raw CreationIdea[] array
src/data/creation-board-headers.json
创作板-头表
Raw CardHeaderInfo[] array
Trigger a sync of both tables (creation_board and creation_headers) to refresh both files simultaneously.
Connect Feishu Automation to the webhook endpoint so the creation board updates in real time whenever a new community submission arrives. Configure a 发送 HTTP 请求 action in your Feishu automation flow with the following settings:
POST https://himematsu.cn/api/admin/sync/webhook?tables=creation_board,creation_headersAuthorization: Bearer <SYNC_WEBHOOK_SECRET>
The webhook queues a background sync job and returns 202 Accepted immediately. The /api/creation-board endpoint will serve the refreshed data as soon as the job completes — no build or server restart required.