164
社区成员
发帖
与我相关
我的任务
分享| Course of the Assignment | EE308FZ Software Engineering |
|---|---|
| Assignment Requirements | Assignment 6 Beta Sprint 3(Backend Group) |
| Objectives of This Assignment | 完成小程序上传部署;实现DCLOUD云函数数据同步功能,确保小程序输入数据完整记录至历史记录;开发云数据库数据查询与导出功能,达成数据可视化 |
| Other References | 《阿里巴巴Java开发手册(终极版)v1.3.0》、《小程序设计指南·微信开放平台》、《Uniapp小程序发布指南》、《DCLOUD云函数开发手册》、《UniCloud数据库高级操作文档》 |
| Project/Group Name | Group 2 —— PoopCare |
| Backend Group Members | 李炳言、王洛森、苏子妍 |
| 成员 | 已完成任务 | 已用时间 | 剩余时间 | 遇到的问题 | 下一步计划 |
|---|---|---|---|---|---|
| 李炳言 | 主导小程序测试版配置与上传:完成Uniapp项目打包配置(适配微信小程序规范);处理小程序权限申请(用户信息、数据存储权限);对接微信开发者平台完成测试版发布审核;验证手机端小程序访问稳定性与接口连通性 | 9h | 0h | 小程序打包时出现代码质量问题,需剔除冗余;测试版访问云函数时跨域权限配置冲突,导致数据请求失败 | 协助前端验证手机端功能完整性;整理小程序测试版部署文档;监控测试版接口响应状态 |
| 王洛森 | 开发DCLOUD云函数数据同步模块:重构数据接收云函数,适配小程序多类型输入数据(基础信息、症状、习惯等);实现数据入库前格式校验与清洗;关联用户id确保历史记录归属唯一性;测试数据同步实时性与完整性 | 8h | 0h | 小程序端复杂数据类型(嵌套数组、对象)传递至云函数时出现序列化丢失;多用户并发提交数据时出现入库重复问题 | 优化云函数数据校验逻辑;同步数据同步规则至前端开发文档 |
| 苏子妍 | 开发云数据库查询与导出功能:实现多条件查询云函数;集成Node.js文件处理模块,开发一键导出功能;适配数据可视化前端组件的数据格式要求;完善导出权限校验 | 9h | 0h | 不同用户数据隔离逻辑需兼容查询与导出功能;文件编码格式与前端可视化工具不兼容 | 优化导出数据分页处理逻辑;完善查询与导出功能的权限校验中间件 |
完成Uniapp项目到微信小程序测试版的全流程部署,确保手机端可正常访问、操作并提交数据。
主要组成:
打包配置优化:剔除冗余的开发依赖,压缩代码体积至微信小程序限制范围内(1.5MB以内);配置pages.json页面路由与权限声明,适配微信小程序导航栏规范
权限申请与审核:在微信开发者平台申请用户信息获取、云开发接口调用等必要权限;提交测试版审核并通过,生成测试版二维码供手机端扫码访问
兼容性验证:在iOS、Android多型号手机上测试小程序加载速度、页面跳转流畅度、数据提交响应时间,确保核心功能无兼容问题
技术特点:
小程序图示


点击即可进入登录界面

基于DCLOUD云开发,实现小程序输入数据到云数据库的实时、完整同步,确保历史记录可追溯。
主要组成:
数据接收云函数:开发云函数,支持接收小程序传递的基础信息便便类型、排便时长、症状表现等多类型数据
数据校验与清洗:通过类型判断,校验必填字段(如时间、类型索引)的有效性;处理空值与异常数据(如将undefined转为空字符串),避免入库失败
用户关联与去重:基于用户id作为唯一标识,将数据与用户绑定,确保历史记录归属准确
技术特点:
云函数与小程序端参数传递无需额外序列化,支持直接接收嵌套数组、对象等复杂数据类型
数据同步延迟低,满足实时记录需求
结合DCLOUD云函数日志功能,记录每一次数据同步详情,便于问题排查
针对不同的数据类型,我们设定了一系列云函数进行数据存储

在排便记录界面录入的数据可以实现与账号关联的云存储

历史记录会一直保存在该账号下

反馈功能记录也是一样

点击查看历史记录,可以查看到该账号曾经提交过的反馈记录

实现云数据库多条件查询、用户数据隔离与格式一键导出,为数据可视化提供支撑。
主要组成:
一键导出功能:集成工具,将查询结果转换为JSON或CSV格式;通过DCLOUD云函数生成临时下载链接,支持浏览器直接下载;导出文件包含字段说明表头,便于数据分析
权限控制:在查询与导出云函数中集成权限中间件,普通用户仅可查询本人数据,管理员可查询/导出全量用户数据;通过云数据库条件与身份校验双重保障数据安全
技术特点:
feedback
在DCLOUD的云数据库中,可以查看到各账号输入的反馈

可以点开管理界面看到记录的源代码

点击导出数据可以在浏览器中直接下载JSON或者CSV格式的文件
打开后可看到各用户输入的全部数据

records
在DCLOUD的云数据库中的records,可以查看到各账号输入的排便记录


同样的,点击管理界面可以看到记录的源代码

点击导出可以在浏览器中直接下载JSON或者CSV格式的文件

我在VScode中打开后即可看到各用户输入的全部数据


后端组3名成员围绕小程序测试版部署、云函数数据同步、数据库查询导出三大核心任务展开协作,同步DCLOUD云开发适配进度,解决数据同步一致性、导出性能等技术难题
| 项目模块 | 预计工作量 |
|---|---|
| 小程序测试版部署与适配 | 8小时 |
| DCLOUD云函数数据同步开发 | 7小时 |
| 云数据库查询与导出功能开发 | 8小时 |
| 功能测试与兼容性验证 | 6小时 |
| 总计 | ≈29小时 |
后端Sprint 3已完成内容:
✅ 小程序测试版部署:成功完成Uniapp项目打包、权限申请与审核,生成测试版二维码,手机端可正常访问并提交数据
✅ 数据同步功能:实现DCLOUD云函数对小程序输入数据的实时接收、校验与入库,确保历史记录完整记录
✅ 查询与导出功能:开发多条件查询云函数,实现一键导出,支持用户数据隔离与管理员全量导出
✅ 兼容性与安全性验证:完成多端设备测试、并发场景测试、权限边界测试,核心功能无异常
• 已完成工作量:约26h(不含后续优化)
• 已完成任务数:4
• 核心成果:实现"小程序端操作-云函数同步-云数据库存储-查询导出"全流程闭环,达成数据可视化基础条件
• 后端模块剩余工作量:≈10小时(数据可视化前端对接0.5天、测试版问题修复0.5天)
• 项目整体剩余工作量:≈24小时
• 后续衔接重点:配合前端完成数据可视化组件与后端接口的对接;优化大数据量导出性能;修复测试版反馈的问题。
| 时间 | 剩余任务数 | 已完成任务数 | 备注 |
|---|---|---|---|
| 0 | 4 | 0 | 明确三大核心任务范围,制定DCLOUD云开发适配方案与小程序部署计划 |
| 8 | 2 | 2 | 完成小程序测试版部署与云函数数据同步开发,启动查询与导出功能开发 |
| 16 | 1 | 3 | 完成查询与导出功能开发,进入全面测试阶段 |
| 24 | 0 | 4 | 通过所有功能测试与兼容性验证,达成Sprint 3目标 |

✅ 梳理小程序测试版部署流程,配置Uniapp打包参数与微信开发者平台信息(2小时)
✅ 剔除项目冗余依赖,压缩代码体积至符合小程序规范(1.5小时)
✅ 申请小程序必要权限,编写审核说明并提交测试版审核(1.5小时)
✅ 验证多设备小程序访问稳定性,修复页面加载白屏问题(2小时)
✅ 封装小程序端云函数调用工具,优化错误提示逻辑(1小时)
✅ 整理测试版部署文档与访问指南(1小时)
✅ 分析小程序输入数据格式,设计云函数数据接收模型(1.5小时)
✅ 开发云函数,实现数据校验与清洗逻辑(2小时)
✅ 添加数据唯一索引与用户关联逻辑,解决并发重复提交问题(2小时)
✅ 测试数据同步实时性,优化云函数执行效率(1.5小时)
✅ 编写数据同步模块开发文档,明确参数格式与错误码(1小时)
✅ 设计多条件查询接口,开发云函数(2小时)
✅ 集成工具,实现JSON和CSV格式数据导出功能(2.5小时)
✅ 开发权限中间件,实现用户数据隔离与管理员权限控制(2小时)
✅ 编写查询与导出功能接口文档,配合前端联调(1小时)
在Beta Sprint 3中,后端组聚焦"功能落地与数据闭环"核心目标,完成了小程序测试版部署、DCLOUD云函数数据同步、云数据库查询导出三大关键任务,成功实现从"开发环境"到"测试可用"的跨越。本次冲刺延续"分工明确+协同验证"的协作模式:李炳言主导小程序部署与端侧适配,解决了打包配置、权限审核等落地性问题;王洛森负责数据同步核心逻辑,保障了小程序输入数据的完整性与一致性;苏子妍聚焦数据查询与导出,为数据可视化提供了关键支撑。
本次冲刺中,我们深刻体会到云端协同的复杂性:小程序端与云函数的数据交互、权限配置、格式适配需要多环节联动,初期因对小程序打包规范不熟悉导致代码体积超限,因云函数参数解析逻辑不完善导致数据丢失,这些问题通过迭代的方式逐步解决。同时,数据闭环的实现让我们意识到,后端开发不仅要关注功能实现,更要考虑数据的可用性与安全性——用户数据隔离、导出权限控制、数据格式标准化,都是保障产品合规性与用户体验的关键。
基于DCLOUD云开发的技术栈优势在本次冲刺中充分体现:无需关注服务器部署与运维,可快速聚焦业务逻辑开发;云函数与小程序的兼容,降低了端云协同成本;云数据库的灵活扩展能力,支撑了多条件查询与大数据量导出需求。后续,后端组将继续围绕"数据可视化对接"与"正式版上线准备"展开工作,持续优化功能性能与安全性,确保产品从测试版平稳过渡到正式版,为用户提供稳定、易用的记录服务。
| 成员 | 主要任务 | 贡献比例 | 衔接Sprint 2的工作 |
|---|---|---|---|
| 李炳言 | 小程序测试版部署、打包配置、端侧适配、文档整理 | 34% | 延续框架迁移成果,实现小程序端落地部署 |
| 王洛森 | 数据同步云函数开发、数据校验、并发问题解决 | 33% | 基于云数据库结构,实现数据入库与同步闭环 |
| 苏子妍 | 查询与导出功能开发、权限控制、大数据量优化 | 33% | 复用权限中间件基础,扩展数据查询与导出能力 |
作为小程序测试版部署的主导者,在本次冲刺前,我更多关注代码功能实现,忽视了小程序打包规范、权限申请等落地细节,导致初期打包失败、审核驳回,浪费了宝贵时间。这暴露了我对从开发到上线流程的认知不足;同时,小程序测试版的成功部署让我意识到,后端开发需要具备一定的端侧思维,了解前端与小程序的运行机制,才能更好地实现端云协同,提升产品整体体验。
在数据同步功能开发中,初期因未考虑多用户并发提交场景,导致出现数据重复入库问题;因未完善数据校验逻辑,导致异常数据流入数据库,这些问题都影响了数据质量。通过添加唯一索引、优化校验规则,最终解决了这些问题。这让我明白,后端开发不能只满足功能可用,更要追求数据可靠。此外,云函数的无状态特性要求逻辑设计更简洁高效,本次开发中我通过拆分复杂逻辑、复用工具函数,提升了代码可维护性。
在查询与导出功能开发中,我发现数据可视化的核心是让数据可用,因此查询功能需要支持多条件组合,导出格式需要兼容主流工具,导出过程需要兼顾性能与稳定性。这让我意识到,后端开发不能闭门造车,要站在用户的角度思考功能设计。同时,权限控制的实现让我认识到,数据安全是产品的生命线,普通用户与管理员的权限边界必须清晰,数据隔离必须严格。