rhb-server/mes-ui/rhb-app
2025-10-20 11:14:41 +08:00
..
.hbuilderx 初始化 2025-10-20 11:14:41 +08:00
common 初始化 2025-10-20 11:14:41 +08:00
components 初始化 2025-10-20 11:14:41 +08:00
node_modules 初始化 2025-10-20 11:14:41 +08:00
packageForm/pages 初始化 2025-10-20 11:14:41 +08:00
packageQuery/pages 初始化 2025-10-20 11:14:41 +08:00
packageUser/pages 初始化 2025-10-20 11:14:41 +08:00
pages 初始化 2025-10-20 11:14:41 +08:00
static 初始化 2025-10-20 11:14:41 +08:00
uni_modules 初始化 2025-10-20 11:14:41 +08:00
utils 初始化 2025-10-20 11:14:41 +08:00
App.vue 初始化 2025-10-20 11:14:41 +08:00
babel.config.js 初始化 2025-10-20 11:14:41 +08:00
database.sql 初始化 2025-10-20 11:14:41 +08:00
element.js 初始化 2025-10-20 11:14:41 +08:00
index.html 初始化 2025-10-20 11:14:41 +08:00
main.js 初始化 2025-10-20 11:14:41 +08:00
manifest.json 初始化 2025-10-20 11:14:41 +08:00
package-lock.json 初始化 2025-10-20 11:14:41 +08:00
package.json 初始化 2025-10-20 11:14:41 +08:00
pages.json 初始化 2025-10-20 11:14:41 +08:00
README 初始化 2025-10-20 11:14:41 +08:00
README.md 初始化 2025-10-20 11:14:41 +08:00
TEST_GUIDE.md 初始化 2025-10-20 11:14:41 +08:00
uni.scss 初始化 2025-10-20 11:14:41 +08:00

农村人口登记系统

项目简介

这是一个基于uni-app + Spring Boot的农村人口登记系统支持多平台部署H5、小程序、APP

技术栈

  • 前端: uni-app + Vue2 + uView UI
  • 后端: Spring Boot + JPA + MySQL
  • 数据库: MySQL 8.0+

功能特性

  • 用户登录认证
  • 完整的户主信息登记表单
  • 家庭成员信息管理
  • 手写签名功能(支持图片保存)
  • 单选/多选字段支持
  • 表单验证
  • 数据暂存功能
  • 记录查询和统计
  • 数据导出Excel
  • 响应式设计,支持多平台

快速开始

1. 数据库配置

-- 执行 database.sql 创建数据库和表
mysql -u root -p < database.sql

2. 后端启动

# 进入backend目录
cd backend

# 修改 application.yml 中的数据库配置
# 启动Spring Boot应用
mvn spring-boot:run

3. 前端启动

# 安装依赖
npm install

# 运行到H5
npm run dev:h5

# 运行到微信小程序
npm run dev:mp-weixin

项目结构

├── pages/login/login.vue              # 登录页面
├── pages/index/index.vue              # 主页(功能选择)
├── pages/index/householdForm.vue      # 户主信息填报页面
├── pages/query/query.vue              # 结果查询页面
├── backend/                            # 后端项目目录
│   ├── pom.xml                        # Maven配置
│   ├── src/main/java/com/rural/       # 后端源码
│   │   ├── controller/                # 控制器层
│   │   │   ├── AuthController.java    # 认证控制器
│   │   │   └── HouseholdController.java # 户主控制器
│   │   ├── service/                   # 业务逻辑层
│   │   │   ├── AdminUserService.java  # 管理员服务
│   │   │   └── HouseholdService.java  # 户主服务
│   │   ├── repository/                # 数据访问层
│   │   │   ├── AdminUserRepository.java # 管理员数据访问
│   │   │   └── HouseholdRepository.java # 户主数据访问
│   │   ├── entity/                    # 实体类
│   │   │   ├── AdminUser.java         # 管理员实体
│   │   │   └── Household.java         # 户主实体
│   │   └── dto/                       # 数据传输对象
│   │       └── HouseholdDTO.java      # 户主DTO
│   └── src/main/resources/            # 配置文件
│       └── application.yml            # Spring Boot配置
├── database.sql                        # 数据库初始化脚本
└── README.md                          # 项目说明文档

API接口

认证接口

POST /houseapi/auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "admin123"
}

户主信息接口

# 保存户主信息
POST /houseapi/household/save
Content-Type: application/json

# 暂存户主信息
POST /houseapi/household/draft
Content-Type: application/json

# 获取暂存数据
GET /houseapi/household/draft

# 查询我的记录
GET /houseapi/household/my-list?page=1&size=20&submitStatus=1

# 获取统计信息
GET /houseapi/household/stats

功能说明

1. 用户登录

  • 支持用户名密码登录
  • 登录后获取token和用户信息
  • 未登录自动跳转到登录页

2. 户主信息填报

  • 完整的户主信息表单
  • 支持手写签名
  • 支持暂存功能
  • 支持编辑已有记录
  • 提交时自动删除相同身份证号的旧记录

3. 暂存功能

  • 点击暂存按钮保存当前表单数据
  • 下次进入填报页面时自动加载暂存数据
  • 暂存数据状态为"暂存",提交后状态变为"已提交"

4. 结果查询

  • 查看自己提交的所有记录
  • 支持按状态筛选(全部/已提交/暂存)
  • 支持搜索户主姓名或身份证号
  • 点击记录可查看详情或编辑

5. 统计功能

  • 显示总记录数、已提交数、暂存数
  • 实时更新统计数据

签名功能说明

  • 使用 lime-signature 组件实现手写签名
  • 签名数据以base64格式保存
  • 支持签名图片反显
  • 签名数据会保存到数据库的 signature_img 字段

注意事项

  1. 确保MySQL服务已启动
  2. 修改 backend/src/main/resources/application.yml 中的数据库连接信息
  3. 前端API地址默认为 http://localhost:8080,请根据实际情况修改
  4. 签名图片较大,建议配置适当的文件上传限制
  5. 默认管理员账号admin/admin123user1/user123user2/user123

开发环境

  • Node.js 14+
  • Java 8+
  • MySQL 8.0+
  • Maven 3.6+

许可证

MIT License