技术栈选择

前端技术栈
微信小程序原生开发(WXML/WXSS/JavaScript)或 UniApp 跨端框架,结合微信开发者工具进行调试和预览。

后端技术栈
Node.js(Express/Koa)或 Java(Spring Boot)提供 RESTful API,微信云开发(TCB)可快速搭建后端服务。

数据库技术栈
MySQL 或 MongoDB 存储数据,微信云开发自带的数据库适用于轻量级场景。

辅助工具
Postman 进行接口测试,Git 进行版本控制,Jenkins 或微信云 CI 实现自动化部署。


详细功能设计

学生模块
宿舍信息查询(床位、室友)、报修申请(文字/图片上传)、访客登记(预约审批)、水电费查询与缴纳。

管理员模块
学生信息管理(增删改查)、宿舍分配与调换、报修处理(状态更新)、访客审批、费用统计与催缴。

公共功能
微信登录(获取 openid)、消息通知(模板消息)、数据统计图表(echarts 小程序版)。


数据库设计示例(MySQL)

学生表(student)

CREATE TABLE `student` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `name` VARCHAR(20) NOT NULL,
  `student_id` VARCHAR(15) UNIQUE,
  `openid` VARCHAR(50) UNIQUE,
  `dorm_id` INT,
  `bed_num` INT,
  FOREIGN KEY (`dorm_id`) REFERENCES `dormitory`(`id`)
);

宿舍表(dormitory)

CREATE TABLE `dormitory` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `building` VARCHAR(10) NOT NULL,
  `room_num` VARCHAR(10) NOT NULL,
  `max_capacity` INT DEFAULT 4
);

报修表(repair)

CREATE TABLE `repair` (
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `student_id` INT,
  `description` TEXT,
  `images` JSON,
  `status` ENUM('pending', 'processing', 'completed') DEFAULT 'pending',
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (`student_id`) REFERENCES `student`(`id`)
);


核心代码片段

小程序登录(JavaScript)

wx.login({
  success: res => {
    wx.request({
      url: 'https://api.example.com/auth',
      data: { code: res.code },
      success: res => {
        wx.setStorageSync('token', res.data.token);
      }
    });
  }
});

报修提交(WXML)

<textarea bindinput="onDescChange" placeholder="描述问题"></textarea>
<view wx:for="{{images}}" wx:key="index">
  <image src="{{item}}" mode="aspectFill"></image>
</view>
<button bindtap="uploadImage">上传图片</button>
<button bindtap="submitRepair">提交报修</button>


系统测试方案

单元测试
使用 Jest 测试后端 API 逻辑,验证数据库操作和权限控制。

接口测试
通过 Postman 模拟请求,检查返回状态码和数据格式,覆盖增删改查场景。

UI 测试
微信开发者工具的自动化测试工具或 Appium 进行页面跳转和表单提交验证。

压力测试
Locust 模拟多用户并发访问,监测接口响应时间和服务器负载。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐