JSON 字段
下载 .tgz
版本v0.1.0
大小32 KB
分类字段
平台全平台
运行方式纯前端(无独立进程)
下载量3
标签json · field
SHA-2561f564d077f543bfd05303eaec6da612988af846c7b79ff36fa8dcda3fde78d3a
JSON 字段 + JSON 文件插件(非内置,市场化按需安装)。
提供什么
- 字段类型
jsonDoc(底层 baseTypetext):单元格双击弹出 JSON 编辑器 (760×560),保存强校验——非法 JSON 保存按钮禁用并 toast,空内容存 null。实时校验状态条 + 格式化/压缩按钮。 - 文件类型
json(认领内建):文件树里的 .json 文件由本插件渲染; 10 秒防抖自动保存,只在内容为合法 JSON 时落盘(非法态显示 「非法 JSON,未保存」,不写坏文件);⌘S 手动保存(非法时 toast 拒绝)。 卸载插件后回归内建 JSON 渲染器,零迁移。
结构
plugin.json # fieldTypes: jsonDoc (icon braces) + fileTypes: 认领 'json'
ui/src/
json/validate.ts # checkJson / prettyJson / minifyJson(纯函数,单测覆盖)
views/JsonEditorCore.vue # 共用核心:mono textarea + 校验状态 + 格式化/压缩
views/EditorView.vue # 字段弹窗(显式保存 + 脏守卫 + ⌘S/Esc)
views/DocView.vue # json 文件视图(合法才自动保存)
编辑器 v1 是轻量 textarea;升级位:换 Monaco + y-monaco 走 PluginRoom/roomDoc 同一条协同线路(见 JsonEditorCore.vue 头注释)。
开发
pnpm --filter @xinghan/plugin-json-field typecheck
pnpm --filter @xinghan/plugin-json-field test # validate.ts 单测
pnpm --filter @xinghan/plugin-json-field ui:build # 产出 ui/dist
本地安装:拷 plugin.json + {"type":"module"} 的 package.json stub +
ui/dist 到 ~/xinghan/plugins/xinghan.json-field/,重启 dev 生效。
怎么安装
- 下载安装包 —— 点上面的按钮拿到
xinghan.json-field.tgz。要在内网用,就把这个文件拷进去。 - 打开客户端 —— 右上角 插件市场 → 右上角 「从本地安装」。
- 选中文件 —— 解包到 ~/xinghan/plugins/ 后热加载,不用重启应用。
完整的内网 / 离线说明见 离线与内网安装。