{"id":15012942,"url":"https://github.com/lljj-x/vue-json-schema-form","last_synced_at":"2025-05-14T11:12:07.172Z","repository":{"id":38010319,"uuid":"264104900","full_name":"lljj-x/vue-json-schema-form","owner":"lljj-x","description":"基于Vue/Vue3，Json Schema 和 ElementUi/antd/iview3/naiveUi 等生成 HTML Form 表单，用于活动编辑器、h5编辑器、cms等数据配置；支持可视化生成表单Schema 。 Generate a form using Vue/Vue3, Json Schema and ElementUi/antdv/iview3/naiveUi","archived":false,"fork":false,"pushed_at":"2023-10-05T13:52:30.000Z","size":7984,"stargazers_count":2150,"open_issues_count":31,"forks_count":433,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-05-11T10:17:40.406Z","etag":null,"topics":["antdv","elementplus","elementui","form","h5-editor","json-schema","jsonschema","vue","vue3"],"latest_commit_sha":null,"homepage":"https://form.lljj.me/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lljj-x.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-15T05:34:13.000Z","updated_at":"2025-05-07T00:53:38.000Z","dependencies_parsed_at":"2023-02-18T04:16:13.135Z","dependency_job_id":"68176ce1-7f6d-483a-ad08-194c2d80e7d6","html_url":"https://github.com/lljj-x/vue-json-schema-form","commit_stats":{"total_commits":551,"total_committers":7,"mean_commits":78.71428571428571,"dds":0.05444646098003625,"last_synced_commit":"c36c31fe6f5dd5ff56c768b31fa0ed4e6ee7121a"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lljj-x%2Fvue-json-schema-form","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lljj-x%2Fvue-json-schema-form/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lljj-x%2Fvue-json-schema-form/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lljj-x%2Fvue-json-schema-form/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lljj-x","download_url":"https://codeload.github.com/lljj-x/vue-json-schema-form/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129524,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antdv","elementplus","elementui","form","h5-editor","json-schema","jsonschema","vue","vue3"],"created_at":"2024-09-24T19:43:27.425Z","updated_at":"2025-05-14T11:12:02.161Z","avatar_url":"https://github.com/lljj-x.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"## vue-json-schema-form\n\n基于 Vue2 / Vue3、 [JSON Schema](https://json-schema.org/understanding-json-schema/index.html) 生成带完整校验的Form表单，你的 :star2: :star2: :star2: 就是最大的支持\n\n[查看文档](https://vue-json-schema-form.lljj.me) - [Playground](https://form.lljj.me) - [可视化表单Schema生成器](https://form.lljj.me/schema-generator.html)\n\n## ui框架支持\n* [vue2 ElementUi](https://github.com/lljj-x/vue-json-schema-form/tree/master/packages/lib/vue2/vue2-form-element)\n* [vue2 Iview3](https://github.com/lljj-x/vue-json-schema-form/tree/master/packages/lib/vue2/vue2-form-iview3)\n* [vue3 Element Plus](https://github.com/lljj-x/vue-json-schema-form/tree/master/packages/lib/vue3/vue3-form-element)\n* [vue3 Antdv](https://github.com/lljj-x/vue-json-schema-form/tree/master/packages/lib/vue3/vue3-form-ant)\n* [vue3 NaiveUi](https://github.com/lljj-x/vue-json-schema-form/tree/master/packages/lib/vue3/vue3-form-naive)\n\n\n![](https://lljj-xxxx.oss-cn-hongkong.aliyuncs.com/vue-json-schema-form.gif)\n\n## 交流群\n\nQQ群：`146845780`，*反应不及时🙄*\n\n**使用问题请优先通过 [Github issue](https://github.com/lljj-x/vue-json-schema-form/issues) 提交**\n\n![](https://lljj-xxxx.oss-cn-hongkong.aliyuncs.com/vjsf11.jpg)\n\n## 如何启动相关编辑器页面\n\n![](https://lljj-xxxx.oss-cn-hongkong.aliyuncs.com/vue-editor.jpg)\n\n* **_活动编辑器项目已经独立了新的仓库，请直接使用 https://github.com/lljj-x/vjsf-demo-editor_**\n* **_活动编辑器项目已经独立了新的仓库，请直接使用 https://github.com/lljj-x/vjsf-demo-editor_**\n\n1、 安装依赖\n```ssh\nyarn install\n```\n\n2、 同时运行 `Playground/表单Schema生成器/活动编辑器`\n```ssh\n# Playground http://127.0.0.1:8800/\n# 可视化表单Schema编辑器 http://127.0.0.1:8800/schema-generator.html\n# （H5）活动编辑器 http://127.0.0.1:8800/vue-editor.html\n\nyarn run demo:dev\n```\n\n3、 单个运行（指定entry编译更快）\n```ssh\n# 只运行 Playground\nyarn run demo:dev --dir=index\n\n# 只运行 表单Schema生成器\nyarn run demo:dev --dir=schema-generator\n\n# 只运行（H5）活动编辑器\nyarn run demo:dev --dir=vue-editor\n```\n\n### 说明\n* 遵循 `JSON Schema` 规范，只需要给定 `JSON Schema`，即可生成对应的form表单\n* 快速配置个性化ui视图和校验错误信息，可适配常用的ui库\n* 表单schema校验使用  [ajv](https://github.com/epoberezkin/ajv)\n* 设计思想和对schema解析索引参考 [react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form)\n\n## 相关资料\n[JSON Schema](https://json-schema.org/understanding-json-schema/index.html) |\n[Vue](https://cn.vuejs.org/)\n\n### 为何开发\n在做前端可视化编辑时，为了解决数据配置表单的通用性，所以使用 `JSON Schema` 描述数据结构，动态生成表单。\n\n这样做的好处除了解决在每个配置表单的重复工作，服务端也可以基于同一份schema保持和前端一致的校验规则，不过对于使用 vue elementUi并未找到合适库可以直接使用，所以在后面一段时间决定自己实现一个 。\n\n## 问题或建议\n* [标准 JSON Schema 不支持部分和更新计划](https://vue-json-schema-form.lljj.me/zh/guide/todo.html)\n\n有任何使用问题或者建议都可以通过 [Github issue](https://github.com/lljj-x/vue-json-schema-form/issues) 提交给我\n\n\n## License\nApache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flljj-x%2Fvue-json-schema-form","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flljj-x%2Fvue-json-schema-form","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flljj-x%2Fvue-json-schema-form/lists"}