# 31-问卷调查系统 - 功能说明
# 项目概述
问卷调查系统是一个功能完善的在线问卷设计、发布、收集、统计平台。采用前后端分离架构,基于Vue 3和Spring Boot技术栈,支持多种题型(单选、多选、判断、填空、主观题),提供问卷模板管理、问卷创建、链接分享、二维码生成、数据收集、结果统计等全流程服务。
# 项目概览
# ✨ 创新点
# 1. 灵活的问卷设计机制
- 问卷模板系统:管理员预设问卷模板(调查问卷、投票问卷),用户基于模板快速创建。
- 题型库管理:支持单选题、多选题、判断题、填空题、主观题五种题型。
- 拖拽式设计:用户可从题型库拖拽题目,自由组合问卷内容。
- JSON存储:问卷内容以JSON格式存储,灵活扩展。
# 2. 多种分享方式
- 链接分享:生成唯一问卷链接,支持一键复制分享。
- 二维码生成:自动生成问卷二维码,扫码即可填写。
- 公开访问:无需登录即可填写问卷,降低参与门槛。
# 3. 智能数据收集
- IP记录:记录填写者IP,防止重复提交。
- 实时保存:填写结果实时保存到数据库。
- JSON格式存储:答案以JSON格式存储,便于统计分析。
# 4. 数据统计分析
- 统计页面:可视化展示问卷统计结果。
- 选择题统计:单选、多选题自动统计各选项占比。
- 文本题展示:填空题、主观题以列表形式展示所有答案。
- IP去重:基于IP统计有效填写人数。
# 5. 问卷状态管理
- 发布/未发布:问卷支持草稿保存和发布两种状态。
- 链接管理:已发布问卷自动生成链接和二维码。
- 编辑功能:未发布问卷可随时编辑修改。
# ✨ 项目亮点
# 一、业务功能亮点
- 完整的问卷生命周期:从模板选择、问卷设计、发布分享、数据收集到结果统计,流程完整。
- 丰富的题型支持:单选、多选、判断、填空、主观题,满足各类调查需求。
- 灵活的设计方式:拖拽式设计,所见即所得,操作简单高效。
- 多场景适配:市场调查、满意度调查、投票评选、考试问卷等多种场景。
- 无障碍填写:公开问卷无需登录,扫码即填,参与便捷。
# 二、技术实现亮点
- 现代化前端技术栈:Vue 3 + Element Plus,组件化开发,体验流畅。
- 稳定可靠的后端架构:Spring Boot + MyBatis,RESTful API设计。
- JSON数据存储:问卷内容、题型库、答案结果均以JSON存储,灵活扩展。
- 二维码生成:后端自动生成Base64编码的二维码图片。
- 数据库设计规范:9张核心表,utf8mb4字符集,支持完整业务流程。
# 三、用户体验亮点
- 双端界面设计:
- 前台:简洁清爽,问卷创建、查看、统计一目了然。
- 后台:功能集中,管理员高效管理模板、题型、用户。
- 交互优化:
- 拖拽式题目添加。
- 实时预览问卷效果。
- 一键复制分享链接。
- 二维码展示和下载。
- 统计可视化:图表展示选择题统计结果,数据直观。
- 响应式设计:适配电脑、平板、手机多端访问。
# 管理员
# 系统管理
管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作。
用户管理:管理全部用户账号,可修改用户信息、状态,支持重置密码。
# 问卷模板管理
问卷数据管理:管理问卷模板(调查问卷、投票问卷),设置问卷类型、名称、说明、内容。
题型库管理:管理题型模板(单选、多选、判断、填空、主观题),设置题目标题、选项内容。
# 问卷管理
问卷链接管理:查看所有用户生成的问卷链接和二维码,可删除无效链接。
问卷结果管理:查看所有问卷的填写结果,按问卷、IP筛选,支持导出数据。
# 内容管理
首页横幅管理:管理首页轮播图,设置图片、跳转链接。
系统公告管理:发布系统公告通知,展示在首页。
# 普通用户
# 问卷管理
我的问卷:
- 查看自己创建的所有问卷
- 显示问卷标题、描述、状态(已发布/未发布)
- 支持编辑、删除、发布、查看统计
创建问卷:
- 选择问卷模板(调查问卷/投票问卷)
- 填写问卷标题和描述
- 从题型库拖拽添加题目(单选、多选、判断、填空、主观题)
- 编辑题目标题和选项
- 调整题目顺序
- 保存为草稿或直接发布
编辑问卷:
- 修改问卷标题和描述
- 添加、删除、修改题目
- 调整题目顺序
- 保存修改
# 问卷分享
生成链接:
- 发布问卷后自动生成唯一分享链接
- 一键复制链接分享给他人
生成二维码:
- 自动生成问卷二维码图片
- 支持二维码下载保存
- 扫码即可填写问卷
# 数据统计
查看统计:
- 查看问卷填写人数(基于IP统计)
- 单选题:各选项选择人数和占比
- 多选题:各选项选择人数和占比
- 判断题:对/错选择人数和占比
- 填空题:所有填写答案列表展示
- 主观题:所有填写答案列表展示
# 个人中心
个人信息:修改个人信息(用户名、昵称、头像、手机号、邮箱)。
修改密码:修改登录密码。
# 公开功能(无需登录)
# 填写问卷
访问问卷:
- 通过链接或扫码访问问卷
- 无需登录即可填写
填写流程:
- 打开问卷链接或扫描二维码
- 阅读问卷标题和描述
- 按顺序填写所有题目:
- 单选题:选择一个选项
- 多选题:选择多个选项
- 判断题:选择对或错
- 填空题:输入文字答案
- 主观题:输入详细文字答案
- 提交问卷
- 显示感谢页面
防重复提交:
- 系统记录填写者IP
- 同一IP只能提交一次
# 功能权限对照表
| 功能模块 | 管理员 | 普通用户 | 游客 |
|---|---|---|---|
| 首页 | ✓ | ✓ | ✓ |
| 管理员管理 | ✓ | - | - |
| 用户管理 | ✓ | - | - |
| 问卷模板管理 | ✓ | - | - |
| 题型库管理 | ✓ | - | - |
| 创建问卷 | - | ✓ | - |
| 我的问卷 | - | ✓ | - |
| 编辑问卷 | - | ✓(仅自己的) | - |
| 生成链接/二维码 | - | ✓(仅自己的) | - |
| 查看统计 | ✓(全部) | ✓(仅自己的) | - |
| 填写问卷 | ✓ | ✓ | ✓ |
| 问卷链接管理 | ✓(全部) | - | - |
| 问卷结果管理 | ✓(全部) | - | - |
| 首页横幅管理 | ✓ | - | - |
| 系统公告管理 | ✓ | - | - |
# 默认账号
# 管理员
用户名: admin
密码: 123456
1
2
2
# 测试用户
用户名: user1
密码: 123456
手机: 15565656545
邮箱: 111@qq.com
1
2
3
4
2
3
4
# 核心业务流程
# 用户注册流程
1. 填写注册信息(用户名、密码、昵称、手机、邮箱)
2. 系统创建用户账号(状态:启用)
3. 跳转到登录页
1
2
3
2
3
# 创建问卷流程
1. 用户登录后进入"创建问卷"页面
2. 选择问卷模板(调查问卷/投票问卷)
3. 填写问卷标题和描述
4. 从题型库拖拽添加题目:
- 单选题:设置题目标题,添加/删除选项,编辑选项文字
- 多选题:设置题目标题,添加/删除选项,编辑选项文字
- 判断题:设置题目标题(选项固定为对/错)
- 填空题:设置题目标题
- 主观题:设置题目标题
5. 调整题目顺序(拖拽排序)
6. 预览问卷效果
7. 保存问卷:
- 保存为草稿(状态:未发布)
- 直接发布(状态:已发布,自动生成链接和二维码)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 发布问卷流程
1. 进入"我的问卷"页面
2. 找到未发布的问卷,点击"发布"
3. 系统自动生成:
- 唯一问卷链接(格式:http://域名/publicQuest?id=问卷ID&userId=用户ID)
- 问卷二维码(Base64编码图片)
4. 问卷状态变更为"已发布"
5. 可复制链接或下载二维码分享
1
2
3
4
5
6
7
2
3
4
5
6
7
# 填写问卷流程
1. 用户通过链接或扫码访问问卷
2. 显示问卷标题和描述
3. 按顺序填写所有题目:
- 单选题:点击选择一个选项
- 多选题:点击选择多个选项
- 判断题:点击选择对或错
- 填空题:输入框输入文字
- 主观题:文本域输入详细内容
4. 点击"提交"按钮
5. 系统验证:
- 检查必填题是否已填写
- 检查IP是否已提交过
6. 保存结果到数据库:
- 记录填写者IP
- 记录问卷ID
- 以JSON格式保存所有题目答案
7. 跳转到感谢页面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看统计流程
1. 用户进入"我的问卷"页面
2. 点击问卷的"统计"按钮
3. 系统查询该问卷的所有填写结果
4. 按题型统计:
- 单选题:统计各选项被选次数,计算占比,生成柱状图/饼图
- 多选题:统计各选项被选次数,计算占比,生成柱状图/饼图
- 判断题:统计对/错选择次数,计算占比
- 填空题:列表展示所有填写内容
- 主观题:列表展示所有填写内容
5. 显示总填写人数(基于IP统计)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 技术说明
# 系统架构
- 前端:Vue 3 + Element Plus + Vite
- 后端:Spring Boot + MyBatis
- 数据库:MySQL 5.7+
- 认证:JWT Token
# 访问地址
- 后端API:http://localhost:1000
- 前端页面:http://localhost:5173(开发环境)
# 数据库
- 数据库名:questionnaire_system
- 字符集:utf8mb4
- 总表数:9张表
# 核心表说明
- admin:管理员表
- user:用户表
- question_datas:问卷模板数据表(管理员预设)
- question_typies:题型库表(单选、多选、判断、填空、主观)
- question_users:我的问卷表(用户创建的问卷)
- question_links:问卷链接表(分享链接和二维码)
- question_results:问卷结果表(填写答案)
- sys_notice:系统公告表
- page_banner:首页横幅表
# 系统特色
# 题型设计特色
- 单选题:支持多个选项,单选模式,自动统计各选项占比
- 多选题:支持多个选项,多选模式,自动统计各选项占比
- 判断题:固定对/错两个选项,适合判断类问题
- 填空题:文本输入框,适合简短答案
- 主观题:多行文本域,适合详细描述
# 问卷设计特色
- 拖拽式设计:从题型库拖拽题目到问卷,操作直观
- 实时预览:边编辑边预览,所见即所得
- 灵活排序:拖拽调整题目顺序
- 草稿保存:未发布问卷可随时保存,避免数据丢失
- 一键发布:点击发布自动生成链接和二维码
# 分享传播特色
- 链接分享:生成短链接,复制即分享
- 二维码分享:扫码即填,适合线下推广
- 公开访问:无需登录,降低参与门槛
- 防重复提交:IP记录,避免刷票
# 数据统计特色
- 自动统计:选择题自动计算各选项占比
- 图表展示:柱状图、饼图直观展示统计结果
- 文本展示:填空题、主观题以列表形式展示所有答案
- 人数统计:基于IP统计有效填写人数
- 实时更新:每次提交后统计数据实时更新
# 应用场景
# 1. 市场调查
- 客户满意度调查:了解客户对产品/服务的满意度
- 市场需求调研:调研目标客户的需求和痛点
- 品牌认知度调查:了解品牌在市场中的知名度
# 2. 投票评选
- 活动投票:线上活动投票评选(最受欢迎作品、人气之星等)
- 意见征集:征集群众对某项决策的意见
- 民主选举:班级干部选举、社团负责人选举
# 3. 考试测评
- 在线考试:学校、培训机构在线考试
- 知识测验:企业培训后的知识测验
- 能力评估:岗位能力、技能水平评估
# 4. 信息收集
- 活动报名:收集活动参与者信息
- 意见反馈:收集用户对产品的意见和建议
- 数据采集:学术研究、论文调研数据采集
# 项目优势
# 1. 操作简单
- 拖拽式设计:无需专业技能,人人都能创建问卷
- 模板化创建:基于模板快速创建,省时省力
- 所见即所得:实时预览,编辑直观
# 2. 功能完善
- 题型丰富:5种题型,满足各类调查需求
- 分享便捷:链接+二维码,多种分享方式
- 统计直观:图表展示,数据一目了然
# 3. 技术先进
- 前后端分离:开发高效,维护方便
- JSON存储:数据结构灵活,易于扩展
- 响应式设计:适配多端设备
# 4. 用户体验佳
- 公开填写:无需登录,参与门槛低
- 防重复提交:IP记录,数据准确性高
- 实时统计:提交即统计,结果即时可见