Project file 2024
已上线
iDesignLab
天津大学工业设计实验室预约平台
WxMpGo+Gin+GormMariaDBDockerNginxVue3 + ElementPlus + Vite
Selected work / Jarvis Hub 背景与目标
iDesignLab 面向实验室日常开放与课题研究场景,解决“资源分散、规则不统一、沟通低效”的问题。平台以“统一入口(微信服务号)、可配置规则(时段模板/权限)、全流程留痕(申请-审核-签到-完结)”为核心目标,降低老师与同学的协作成本,并提升设备与场地的使用效率与安全性。
架构与技术选型
- 前端:
Vue 3+Element Plus+Vite,强调表格/日历的可用性与批量操作体验。 - 后端:
Go+Gin+Gorm,领域模型清晰、易于扩展;同步校验与异步通知并行。 - 数据库:
MariaDB,围绕预约冲突与统计优化索引设计,保留审计表。 - 接入层:
Nginx反向代理 + 静态资源缓存;HTTPS强制。 - 运维:
Docker容器化部署,Compose管理多服务;每日备份与周恢复演练。 - 入口:
WxMp(微信服务号),支持扫码快速进入与模板消息触达。
核心功能模块
1. 账号与权限
- 角色:管理员、教师/助教、学生。
- 准入:基于学号/工号白名单与学院维度的批量导入。
- 授权:按资源分组授权(设备/房间/工位),支持“仅可申请”、“免审核”、“黑名单”。
2. 资源管理
- 资源类型:设备、场地、工位;可设置标签、容量与维护周期。
- 时段模板:支持学期/周末/节假日差异化开放;黑名单与维护期优先级最高。
- 冲突策略:同一时间段同一资源只允许一个预约,支持并发容量的资源型例外(如教室工位)。
3. 预约流程
- 申请:选择资源与时段,前端即时冲突检测;支持重复预约批量录入。
- 审核:规则驱动(是否免审、是否超时长、是否跨学院);可人工二次确认。
- 签到:到场扫码;迟到与缺席自动记录,并触发后续风控策略。
- 完结:设备归还/场地清理确认;支持上传照片与备注。
4. 日历与排班
- 视图:周视图/月视图/资源分组视图,颜色区分状态(可预约/已锁定/维护)。
- 批量:一键屏蔽考试周/校级活动;教师可批量锁定课程时间段。
5. 通知与消息
- 模板消息:申请成功、审核结果、到场提醒、超时预警、违规告知。
- 兜底策略:邮件/站内信在模板消息未达时进行二次推送。
6. 数据报表
- 指标:资源使用率、热门时段、违规比例、预约完成率、复用率。
- 导出:按学期与学院维度的 CSV/Excel 导出,用于绩效与预算评审。
关键业务规则
- 时间上限:单次预约不超过既定时长(如 4 小时),累计时长按周限额。
- 并发限制:同一用户同一时间仅能占用一个不可并发资源;并发资源遵循容量上限。
- 审批阈值:跨学院、跨维护期、超时长等触发人工审批。
- 违规处理:未签到/超时未归还达阈值时,自动冻结一段时间并通知导师。
- 学期边界:模板随学期切换,历史预约自动归档不可更改。
数据模型概览(简化)
User:基础信息、角色、学院、状态与违规计数。Resource:类型、容量、标签、归属学院、维护计划。SlotTemplate:时段规则、适用日期范围、优先级(维护/黑名单最高)。Booking:申请记录(资源、时段、状态流转、审批人、备注)。CheckinLog:签到/签退时间、地点与证据。Notice:模板消息记录与兜底通道状态。
端到端流程(概要)
申请 → 准入校验(角色/白名单) → 冲突检测/容量校验 → 风控(历史违规/时长阈值) → 审批(自动/人工) → 锁定时段 → 开始前提醒 → 到场扫码签到 → 使用中状态监控 → 签退/完结 → 归档与报表
安全与合规
- 数据安全:手机号与学号脱敏展示,操作行为全量审计,管理员操作二次确认。
- 接口安全:统一鉴权中间件、速率限制与 IP 黑名单,上传文件类型白名单。
- 合规:用户协议与隐私政策弹窗确认,数据最小化采集与可撤回。
性能与稳定性
- 索引优化:
Booking(resource_id, start_time, end_time, status)组合索引;统计类接口采用只读副本或缓存。 - 缓存策略:热门资源与模板配置本地缓存 + 定时刷新;避免高频重复计算。
- 前端:日历虚拟滚动、表格分页与按需加载;弱网下降级渲染。
- 稳定性:失败重试与幂等设计,消息通知保证至少一次投递并记录送达状态。
运维与部署
Docker Compose启动后端、数据库与 Nginx;统一环境变量与密钥注入。- 备份:数据库每日快照;周度恢复演练确保可用性。
- 灰度:新功能按学院/教师试点,配置化开关逐步放量。
上线成效(示例指标)
- 预约冲突率下降约 72%,设备使用率提升约 35%。
- 老师审核耗时从均值 12 分钟降至 3 分钟左右。
- 违规率(迟到/未归还)随提醒链路优化下降约 40%。
迭代规划
- 扫码归还与出入记录打通门禁系统。
- 审批流配置化(多级审批/条件分支)。
- 学校统一认证与学籍系统对接,减少手工导入。
- 报表自助化:可视化仪表盘与自定义查询。