AI源码
AI源码AI 精选 · 优质源码 · 助力学习

在线问卷系统

DWSurvey 调问网是国内首款开源问卷表单系统,自2012年启动至今已有12年历史。这是一个功能强大、成熟稳定的在线问卷调查系统,支持拖拽式创建问卷,提供50+自定义组件。

评分:4.8/5.0
销量:58
发布:2025/12/2
难度:L2 进阶级
💬 联系咨询
永久使用权限
免费更新维护
技术支持服务

项目说明

在线问卷系统

项目概述

DWSurvey 调问网是国内首款开源问卷表单系统,自2012年启动至今已有12年历史。这是一个功能强大、成熟稳定的在线问卷调查系统,支持拖拽式创建问卷,提供50+自定义组件。

技术架构

前端:

  • Vue 2.6.14
  • Element UI 2.15.6
  • Vuex + Vue Router
  • ECharts 5.2.2(数据可视化)
  • Vant 2.13.2(移动端)
  • @wangeditor/editor(富文本编辑器)

后端:

  • Spring Boot 2.7.18
  • Spring Data JPA + Hibernate
  • MySQL 5.7+
  • Redis(缓存)
  • Elasticsearch 8.8.1(可选,用于高级搜索)
  • Druid(数据库连接池)
  • Apache Shiro(权限管理)

部署方式:

  • 支持 Docker 一键部署
  • 支持传统 WAR/JAR 包部署

核心功能特性

1. 丰富的题型支持(50+题型)

基础题型:

  • 单选题、多选题、填空题、评分题、排序题
  • 多行填空题、多项填空题、日期题、时间题
  • 下拉单选题、文件上传题、签名题

高级题型:

  • 矩阵单选题、矩阵多选题、矩阵评分题、矩阵填空题
  • 矩阵量表题、矩阵滑块题、矩阵数值题、矩阵组合题
  • 矩阵下拉题、矩阵自增题
  • 图片单选题、图片多选题、绘图题

特殊组件:

  • 定位题(模糊定位、精确定位、双重定位)
  • 地图组件、图片轮播、水印设置
  • 分页、分段、分割线

2. 强大的逻辑控制

  • 显示逻辑:根据条件显示/隐藏题目
  • 跳转逻辑:根据答案跳转到指定题目
  • DSL逻辑编程:调问独有的问卷编程语言
    • 多条件组合
    • 互斥语句
    • 验证语句
    • 赋值语句
    • 计算语句

3. 答卷控制

  • 微信、账号、IP、设备答题次数限制
  • 答卷密码保护
  • 仅微信答卷限制
  • 允许填写时间设置
  • 记录微信个人信息
  • 结束跳转设置

4. 样式定制

  • 页眉图、背景图、Logo图设置
  • 主题色、背景色自定义
  • 预置主题模板
  • 进度条样式设置
  • PC与移动端自适应
  • 矩阵题移动端适配

5. 数据统计分析

  • 实时数据统计
  • 可视化图表展示
  • 数据导出(Excel)
  • 答卷详情查看

运行环境要求

最低配置

  • 操作系统:Linux / Windows / macOS
  • CPU:2核
  • 内存:4GB
  • 硬盘:20GB

软件环境

  • JDK:1.8+
  • MySQL:5.7+
  • Redis:3.0+(可选)
  • Elasticsearch:8.8.1(可选)
  • Node.js:18.16+(前端开发)
  • Maven:3.6+(后端构建)

快速安装部署

方式一:Docker 一键部署(推荐)⭐

这是最快速的部署方式,3分钟即可完成。

# 1. 拉取 Docker 镜像
docker pull diaowen/dwsurvey:latest

# 2. 运行容器
docker run -d \
  --name dwsurvey \
  -p 18008:18008 \
  -p 8081:80 \
  -v /data/dwsurvey:/app/dwfile \
  diaowen/dwsurvey:latest

# 3. 访问系统
# 前端:http://localhost:8081
# 后端:http://localhost:18008

默认账号: service@diaowen.net
默认密码: 123456

方式二:本地开发部署

1. 数据库初始化

# 创建数据库
mysql -u root -p

CREATE DATABASE dwsurvey DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 导入数据库脚本
mysql -u root -p dwsurvey < db/dwsurvey-init.sql

数据库脚本位置:

DWSurvey/db/dwsurvey-init.sql

2. 配置后端

修改配置文件:src/main/resources/application-dev.yml

# 数据库配置
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/dwsurvey?useUnicode=true&characterEncoding=utf8
    username: root
    password: your_password # 修改为你的密码

  # Redis配置(可选)
  redis:
    host: 127.0.0.1
    port: 6379
    password: ""

# 服务端口
server:
  port: 18008

# 站点配置
dwsurvey:
  web:
    site-url: http://localhost:8081
    resource-url: http://localhost:8081
    file-path: dwfile/dwsurvey/ # 文件存储路径

3. 启动后端

cd DWSurvey

# 使用 Maven 启动
mvn clean package
java -jar target/dwsurvey-oss-vue-6.13.0.20250211.jar

# 或使用 IDE(IDEA/Eclipse)直接运行
# 主类:net.diaowen.dwsurvey.DwsurveyApplication

后端启动成功后访问:http://localhost:18008

4. 配置前端

修改配置文件:dwsurvey-vue/config/index.js

module.exports = {
  dev: {
    proxyTable: {
      "/api": {
        target: "http://localhost:18008", // 后端地址
        changeOrigin: true,
      },
    },
    port: 8081,
  },
};

5. 启动前端

cd dwsurvey-vue/dwsurvey-vue

# 安装依赖
npm install
# 或使用 yarn
yarn install

# 启动开发服务器
npm run dev
# 或
yarn dev

前端启动成功后访问:http://localhost:8081

6. 生产环境打包

后端打包:

cd DWSurvey
mvn clean package

# 生成的 JAR 包位置
target/dwsurvey-oss-vue-6.13.0.20250211.jar

前端打包:

cd dwsurvey-vue/dwsurvey-vue
npm run build

# 生成的静态文件位置
dist/

项目结构说明

online-questionnaire-system/
├── DWSurvey/                          # 后端项目
│   ├── db/                            # 数据库脚本
│   │   ├── dwsurvey-init.sql         # 初始化脚本
│   │   └── clothes.sql               # 示例数据
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/                 # Java 源码
│   │   │   │   └── net/diaowen/
│   │   │   └── resources/            # 配置文件
│   │   │       ├── application.yml
│   │   │       ├── application-dev.yml
│   │   │       ├── application-prod.yml
│   │   │       └── conf/             # 其他配置
│   │   └── test/                     # 测试代码
│   ├── dwfile/                       # 文件存储目录
│   ├── pom.xml                       # Maven 配置
│   └── README.md                     # 项目说明
│
├── dwsurvey-vue/                     # 前端项目
│   └── dwsurvey-vue/
│       ├── src/
│       │   ├── api/                  # API 接口
│       │   ├── components/           # 组件
│       │   ├── router/               # 路由
│       │   ├── views/                # 页面
│       │   ├── App.vue
│       │   └── main.js
│       ├── static/                   # 静态资源
│       ├── build/                    # 构建配置
│       ├── config/                   # 项目配置
│       ├── package.json
│       └── README.md
│
└── 在线问卷调查.mp4                   # 演示视频

功能模块说明

1. 问卷设计模块

  • 拖拽式题目添加
  • 题目属性设置
  • 逻辑跳转配置
  • 样式主题设置
  • 问卷预览

2. 问卷发布模块

  • 生成问卷链接
  • 二维码生成
  • 答卷权限设置
  • 时间限制设置

3. 数据收集模块

  • 答卷提交
  • 数据验证
  • 进度保存
  • 答卷记录

4. 数据分析模块

  • 统计图表
  • 数据筛选
  • 交叉分析
  • 数据导出

5. 系统管理模块

  • 用户管理
  • 权限管理
  • 系统设置
  • 日志管理

常见问题

1. 数据库连接失败

  • 检查 MySQL 是否启动
  • 确认数据库名称、用户名、密码是否正确
  • 检查数据库端口是否为 3306

2. 前端无法访问后端接口

  • 确认后端服务是否启动(端口 18008)
  • 检查前端配置中的后端地址是否正确
  • 查看浏览器控制台是否有跨域错误

3. 文件上传失败

  • 检查 dwsurvey.web.file-path 配置的目录是否存在
  • 确认目录是否有写入权限
  • 检查文件大小是否超过限制

4. Redis 连接失败

  • 如果不需要 Redis,可以注释掉相关配置
  • 确认 Redis 服务是否启动
  • 检查 Redis 连接信息是否正确

技术支持

官方资源

社区交流

  • QQ群1:635994795(已满)
  • QQ群2:301105635(已满)
  • QQ群3:811287103(已满)
  • QQ群4:398556555

版本说明

  • 当前版本:V7(社区开源版)
  • 最新版本:V8(商业版,Vue3 + Element Plus)
  • 开源协议:AGPL 3.0

更新日志

V7 版本(当前)

  • 前后端完全分离
  • Vue2 + Element UI 实现
  • 支持 50+ 题型
  • DSL 逻辑编程
  • Docker 一键部署

V8 版本(商业版)

  • Vue3 + Element Plus
  • 更多高级功能
  • 更好的性能优化
  • 企业级支持

开发团队

调问网开源团队致力于打造最好用的开源问卷系统,如果这个项目对您有帮助,请给我们一个 ⭐Star 支持!

Power by diaowen.net


许可证

本项目采用 AGPL 3.0 开源协议,部署使用要求保留 "Power by diaowen.net" 标识,且衍生版本需要及时开源。

如需商业授权或更优质的服务,请访问官网了解专业版与企业版。

技术分类

包含内容

完整源码
项目说明文档
演示材料

适用人群

学习参考与二次开发

关于 AI源码

AI源码 专注优质项目源码分享,提供完整源码、详细文档与技术支持,助力源码设计与课程作业。

QQ: 861077046
邮箱: 861077046@qq.com
已服务 58+ 位用户
立即咨询

相关推荐

查看全部 →
大学生就业信息管理系统
Node
进阶

大学生就业信息管理系统

这是一个面向高校大学生的就业信息管理系统,采用前后端分离架构,实现了学生求职、企业招聘、管理员后台管理三端功能。系统涵盖职位发布、简历管理、面试安排、合同签署、就业指南等完整的就业服务流程,适合作为计算机设计或学习项目参考。

NodeVue3MySQL
4.842
大学生在线焦虑测试系统
SpringBoot
进阶

大学生在线焦虑测试系统

这是一个专为大学生设计的在线心理健康评估与咨询平台,集成了焦虑测评、在线咨询、个性化建议等核心功能。系统采用前后端分离架构,支持学生、医生、管理员三种角色,提供专业的心理健康服务。

SpringBootVue2MySQL
4.833
商品管理系统HTML(登录注册增删增删改查)
Node
进阶

商品管理系统HTML(登录注册增删增删改查)

这是一个基于 Node.js + MySQL + HTML(Vue2) 的商品管理系统,包含用户登录注册和商品的增删改查功能。

Node大作业Vue2+1
4.838
高校快递代取系统
Node
NEW推荐
进阶

高校快递代取系统

本系统是一套高校快递代取微信小程序全栈平台,包含用户端小程序、骑手接单端与 PC 管理后台。用户可发布代取预约、在线支付、跟踪订单进度与申诉;骑手可在大厅接单、取件配送并填写备注;管理员负责驿站与价格配置、公告发布、骑手审核、订单改派及数据统计。后端采用 Express + MySQL,适合作为校园 O2O 类小程序计算机设计参考。

Node小程序Vue2+1
4.896
高校选课系统
Node
进阶

高校选课系统

这是一个完整的高校选课管理系统,采用前后端分离架构,实现了院系管理、专业管理、班级管理、学生管理、教师管理、课程管理、选课管理等核心功能。系统支持多角色(超级管理员、普通管理员、教师、学生)权限控制,适合作为Vue3全栈开发学习项目或计算机设计参考。

NodeVue3MySQL
4.872
高校查分系统
Node
NEW
进阶

高校查分系统

高校学生成绩查询与管理系统,采用前后端分离架构,支持管理员、教师、学生三种角色。

NodeVue3MySQL
4.843