# SurveyForge **Repository Path**: fan-jibe/survey-forge ## Basic Information - **Project Name**: SurveyForge - **Description**: 这是一个用 Vue 3 + Vite + TS 做的「可视化问卷/表单设计系统」 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-26 - **Last Updated**: 2026-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SurveyForge - 可视化问卷/表单设计系统 ## 项目背景 在日常工作与生活中,问卷/表单是收集信息、调研反馈的高频工具。市面上成熟的表单平台(如问卷星、金数据、腾讯问卷等)虽然功能完善,但普遍存在以下问题: - **数据隐私**:所有问卷与答卷都存储在第三方平台,对于敏感场景(内部调研、未公开产品反馈)存在合规与泄露风险 - **重型依赖**:大多需要注册账号、绑定手机号甚至付费才能使用完整功能 - **扩展成本高**:模板化设计能力较强,但定制题型或样式往往受限 - **前后端耦合**:问卷内容与平台强绑定,难以本地化复用 SurveyForge 正是为了解决上述痛点而设计的轻量化方案:**问卷数据全部本地落库保证隐私、可视化拖拽编辑器降低搭建门槛、组件市场 + 状态驱动的架构让题型扩展成本降到一份配置级别**。整套系统由前端编辑器与轻量后端两部分组成,前端完全可独立运行(不依赖后端即可完成问卷设计与本地管理),后端仅在「生成在线分享链接」与「图片上传」两个场景提供支撑。 ## 项目描述 SurveyForge 是一个基于 Vue 3 + Vite + TypeScript 构建的可视化问卷设计与管理平台,提供从问卷搭建、预览发布到数据回收的一站式能力。 ### 核心模块 - **问卷主页**:问卷列表的展示与管理,支持创建、编辑、预览、删除,问卷内容通过 Dexie(IndexedDB 封装)本地持久化 - **组件市场**:题型分组浏览(选择题、文本输入、高级题型、备注说明、个人信息、联系方式六大组共 20+ 题型),支持先预览再加题 - **可视化编辑器**:三栏式布局 — 左侧题型库 / 大纲、中间画布(vuedraggable 拖拽排序)、右侧属性面板(状态驱动双向联动) - **问卷预览**:支持在线预览、一键导出 PDF(基于 `window.print` + 媒体查询) - **在线答题**:生成可分享链接,答卷回收走后端 API ### 技术亮点 - **状态(Status)Schema 驱动**:自研 JSON Schema 描述问卷内容,所有题型组件与属性面板均基于同一份状态渲染,新增题型只需配置一份状态定义 + 一份默认 JSON - **三栏式编辑器**:左侧库 + 中间画布 + 右侧属性面板的经典可视化搭建模式,画布与属性通过状态联动实现双向响应 - **拖拽与定位**:vuedraggable 实现画布内题目排序与题型分组;mitt 事件总线解耦大纲点击与画布滚动定位 - **本地优先**:问卷数据全部落 IndexedDB,不依赖后端即可独立使用;同时通过分享链接兼顾协作分发 - **图片支持**:图片选项支持本地上传(走后端 multer)与第三方链接两种形式