mock 数据

三类数据源(TS mock、JSON mock、真实渲染捕获)的区别与用法

模板需要数据才能预览。本页讲三类数据源的区别和各自写法。

三类数据源对照

数据源位置类型安全面板里能编辑吗适合场景
TS mockktr/template/<板块>/<模板>/mock.ts有(编译期校验)只读固定示例,可在插件代码里复用
JSON mockktr/template/<板块>/<模板>/data/*.json可以(筛选/编辑/保存)多组对照数据,边调样式边改
捕获数据ktr/template/<板块>/<模板>/data/captured.json可以(本质是 JSON)机器人真实渲染自动记录的数据

三者并存,面板左侧数据卡片点一下就切换。常见搭配:TS mock 当标准示例,JSON 当随手改的对照数据,captured.json 交给框架自动写。

TS mock:mock.ts

ktr/template/hello/list/mock.ts
import type { HelloListData } from './index'

/** 列表示例的 TS mock,适合在插件代码里直接复用。 */
export const  = {
  : '模板贡献榜',
  : [
    { : '林小满', : '模板作者', : 98 },
    { : '沈括', : '插件维护者', : 92 }
  ]
} satisfies HelloListData
  • 固定文件名 mock.ts,与 index.tsx 同级,用具名导出(导出名即面板显示的数据名)。
  • satisfies 做编译期校验,写错字段立刻报红;也可用 defineMock<HelloListData>({...}),效果相同。
  • 普通 TS 文件,插件代码可直接 import 复用。

JSON mock:data 目录

ktr/template/hello/card/data/default.json
{
  "title": "Karin Template React",
  "items": [{ "label": "渲染方式", "value": "SSR HTML" }]
}

必须放在 data/ 子目录(放模板根目录不识别)。面板里可新建、编辑(保存即写回文件)、删除、刷新;文件名即数据名,一个模板放多个 JSON 就能快速对照。

捕获数据:captured.json

机器人每触发一次真实渲染,框架把本次的 { data, ctx } 快照写入该模板的 data/captured.json(滚动覆盖,只保留最近一次);开发服务器监听变更后推送面板,面板自动刷新并选中它——画布立刻显示刚才真实渲染的那份数据(ctx 一并下发,预览与真实渲染完全一致)。

典型用法:群里反馈"图渲染得不对",captured 自动跳出来,直接拿真实数据改样式即时验证。

On this page