跳转到内容

JSON 字段

下载 .tgz
版本v0.1.0
大小32 KB
分类字段
平台全平台
运行方式纯前端(无独立进程)
下载量3
标签json · field
SHA-2561f564d077f543bfd05303eaec6da612988af846c7b79ff36fa8dcda3fde78d3a

JSON 字段 + JSON 文件插件(非内置,市场化按需安装)。

提供什么

  • 字段类型 jsonDoc(底层 baseType text):单元格双击弹出 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 生效。

怎么安装

  1. 下载安装包 —— 点上面的按钮拿到 xinghan.json-field.tgz。要在内网用,就把这个文件拷进去。
  2. 打开客户端 —— 右上角 插件市场 → 右上角 「从本地安装」。
  3. 选中文件 —— 解包到 ~/xinghan/plugins/ 后热加载,不用重启应用。

完整的内网 / 离线说明见 离线与内网安装。