# 31-问卷调查系统 - 功能说明

# 项目概述

问卷调查系统是一个功能完善的在线问卷设计、发布、收集、统计平台。采用前后端分离架构,基于Vue 3和Spring Boot技术栈,支持多种题型(单选、多选、判断、填空、主观题),提供问卷模板管理、问卷创建、链接分享、二维码生成、数据收集、结果统计等全流程服务。


# 项目概览

# ✨ 创新点

# 1. 灵活的问卷设计机制

  • 问卷模板系统:管理员预设问卷模板(调查问卷、投票问卷),用户基于模板快速创建。
  • 题型库管理:支持单选题、多选题、判断题、填空题、主观题五种题型。
  • 拖拽式设计:用户可从题型库拖拽题目,自由组合问卷内容。
  • JSON存储:问卷内容以JSON格式存储,灵活扩展。

# 2. 多种分享方式

  • 链接分享:生成唯一问卷链接,支持一键复制分享。
  • 二维码生成:自动生成问卷二维码,扫码即可填写。
  • 公开访问:无需登录即可填写问卷,降低参与门槛。

# 3. 智能数据收集

  • IP记录:记录填写者IP,防止重复提交。
  • 实时保存:填写结果实时保存到数据库。
  • JSON格式存储:答案以JSON格式存储,便于统计分析。

# 4. 数据统计分析

  • 统计页面:可视化展示问卷统计结果。
  • 选择题统计:单选、多选题自动统计各选项占比。
  • 文本题展示:填空题、主观题以列表形式展示所有答案。
  • IP去重:基于IP统计有效填写人数。

# 5. 问卷状态管理

  • 发布/未发布:问卷支持草稿保存和发布两种状态。
  • 链接管理:已发布问卷自动生成链接和二维码。
  • 编辑功能:未发布问卷可随时编辑修改。

# ✨ 项目亮点

# 一、业务功能亮点

  1. 完整的问卷生命周期:从模板选择、问卷设计、发布分享、数据收集到结果统计,流程完整。
  2. 丰富的题型支持:单选、多选、判断、填空、主观题,满足各类调查需求。
  3. 灵活的设计方式:拖拽式设计,所见即所得,操作简单高效。
  4. 多场景适配:市场调查、满意度调查、投票评选、考试问卷等多种场景。
  5. 无障碍填写:公开问卷无需登录,扫码即填,参与便捷。

# 二、技术实现亮点

  1. 现代化前端技术栈:Vue 3 + Element Plus,组件化开发,体验流畅。
  2. 稳定可靠的后端架构:Spring Boot + MyBatis,RESTful API设计。
  3. JSON数据存储:问卷内容、题型库、答案结果均以JSON存储,灵活扩展。
  4. 二维码生成:后端自动生成Base64编码的二维码图片。
  5. 数据库设计规范:9张核心表,utf8mb4字符集,支持完整业务流程。

# 三、用户体验亮点

  1. 双端界面设计:
    • 前台:简洁清爽,问卷创建、查看、统计一目了然。
    • 后台:功能集中,管理员高效管理模板、题型、用户。
  2. 交互优化:
    • 拖拽式题目添加。
    • 实时预览问卷效果。
    • 一键复制分享链接。
    • 二维码展示和下载。
  3. 统计可视化:图表展示选择题统计结果,数据直观。
  4. 响应式设计:适配电脑、平板、手机多端访问。

# 管理员

# 系统管理

管理员管理:管理全部管理员账号,支持新增、编辑、删除、启用/禁用操作。

用户管理:管理全部用户账号,可修改用户信息、状态,支持重置密码。

# 问卷模板管理

问卷数据管理:管理问卷模板(调查问卷、投票问卷),设置问卷类型、名称、说明、内容。

题型库管理:管理题型模板(单选、多选、判断、填空、主观题),设置题目标题、选项内容。

# 问卷管理

问卷链接管理:查看所有用户生成的问卷链接和二维码,可删除无效链接。

问卷结果管理:查看所有问卷的填写结果,按问卷、IP筛选,支持导出数据。

# 内容管理

首页横幅管理:管理首页轮播图,设置图片、跳转链接。

系统公告管理:发布系统公告通知,展示在首页。


# 普通用户

# 问卷管理

我的问卷:

  • 查看自己创建的所有问卷
  • 显示问卷标题、描述、状态(已发布/未发布)
  • 支持编辑、删除、发布、查看统计

创建问卷:

  • 选择问卷模板(调查问卷/投票问卷)
  • 填写问卷标题和描述
  • 从题型库拖拽添加题目(单选、多选、判断、填空、主观题)
  • 编辑题目标题和选项
  • 调整题目顺序
  • 保存为草稿或直接发布

编辑问卷:

  • 修改问卷标题和描述
  • 添加、删除、修改题目
  • 调整题目顺序
  • 保存修改

# 问卷分享

生成链接:

  • 发布问卷后自动生成唯一分享链接
  • 一键复制链接分享给他人

生成二维码:

  • 自动生成问卷二维码图片
  • 支持二维码下载保存
  • 扫码即可填写问卷

# 数据统计

查看统计:

  • 查看问卷填写人数(基于IP统计)
  • 单选题:各选项选择人数和占比
  • 多选题:各选项选择人数和占比
  • 判断题:对/错选择人数和占比
  • 填空题:所有填写答案列表展示
  • 主观题:所有填写答案列表展示

# 个人中心

个人信息:修改个人信息(用户名、昵称、头像、手机号、邮箱)。

修改密码:修改登录密码。


# 公开功能(无需登录)

# 填写问卷

访问问卷:

  • 通过链接或扫码访问问卷
  • 无需登录即可填写

填写流程:

  1. 打开问卷链接或扫描二维码
  2. 阅读问卷标题和描述
  3. 按顺序填写所有题目:
    • 单选题:选择一个选项
    • 多选题:选择多个选项
    • 判断题:选择对或错
    • 填空题:输入文字答案
    • 主观题:输入详细文字答案
  4. 提交问卷
  5. 显示感谢页面

防重复提交:

  • 系统记录填写者IP
  • 同一IP只能提交一次

# 功能权限对照表

功能模块 管理员 普通用户 游客
首页 ✓ ✓ ✓
管理员管理 ✓ - -
用户管理 ✓ - -
问卷模板管理 ✓ - -
题型库管理 ✓ - -
创建问卷 - ✓ -
我的问卷 - ✓ -
编辑问卷 - ✓(仅自己的) -
生成链接/二维码 - ✓(仅自己的) -
查看统计 ✓(全部) ✓(仅自己的) -
填写问卷 ✓ ✓ ✓
问卷链接管理 ✓(全部) - -
问卷结果管理 ✓(全部) - -
首页横幅管理 ✓ - -
系统公告管理 ✓ - -

# 默认账号

# 管理员

用户名: admin
密码: 123456
1
2

# 测试用户

用户名: user1
密码: 123456
手机: 15565656545
邮箱: 111@qq.com
1
2
3
4

# 核心业务流程

# 用户注册流程

1. 填写注册信息(用户名、密码、昵称、手机、邮箱)
2. 系统创建用户账号(状态:启用)
3. 跳转到登录页
1
2
3

# 创建问卷流程

1. 用户登录后进入"创建问卷"页面
2. 选择问卷模板(调查问卷/投票问卷)
3. 填写问卷标题和描述
4. 从题型库拖拽添加题目:
   - 单选题:设置题目标题,添加/删除选项,编辑选项文字
   - 多选题:设置题目标题,添加/删除选项,编辑选项文字
   - 判断题:设置题目标题(选项固定为对/错)
   - 填空题:设置题目标题
   - 主观题:设置题目标题
5. 调整题目顺序(拖拽排序)
6. 预览问卷效果
7. 保存问卷:
   - 保存为草稿(状态:未发布)
   - 直接发布(状态:已发布,自动生成链接和二维码)
1
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

# 填写问卷流程

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

# 查看统计流程

1. 用户进入"我的问卷"页面
2. 点击问卷的"统计"按钮
3. 系统查询该问卷的所有填写结果
4. 按题型统计:
   - 单选题:统计各选项被选次数,计算占比,生成柱状图/饼图
   - 多选题:统计各选项被选次数,计算占比,生成柱状图/饼图
   - 判断题:统计对/错选择次数,计算占比
   - 填空题:列表展示所有填写内容
   - 主观题:列表展示所有填写内容
5. 显示总填写人数(基于IP统计)
1
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记录,数据准确性高
  • 实时统计:提交即统计,结果即时可见

Java导航网   |