每周总结03
学习时间3小时 代码时间4小时
本周完成的工作
本周最大的阶段性成果是顺利通过了科目一考试,在此之外,主要精力投入到教学平台与飞书机器人的深度集成上,完成了学生端通知推送和快捷操作入口的全面升级。
首先,我为学生飞书机器人新增了“帮助”响应能力。当学生在机器人对话中发送“帮助”后,机器人不再只是返回纯文本提示,而是会返回一张包含可交互按钮的卡片。卡片上设置了“进入任务详情”“打开学生工作台”“查看我的通知”三个快捷入口。其中,“进入任务详情”按钮被点击后,机器人会查询该学生当前所有已发布的任务列表,以简洁的方式列出任务名称,每个任务都附带一个跳转链接,点击即可直接打开网页学生端并自动定位到对应任务页面。这项功能极大缩短了学生从看到消息到进入任务操作之间的路径。“打开学生工作台”则直接跳转到学生端的整体任务看板,“查看我的通知”可快速浏览所有系统推送消息。
其次,我实现了网页端学生通知到飞书机器人的实时同步推送。现在,当教师在平台网页端进行以下操作时,对应的学生飞书机器人会立即收到私聊通知:发布新任务、开放课次、提交教师反馈、发起同伴互评。推送机制严格按照学生平台账号进行匹配,每一条通知都只使用该学生飞书机器人自己的私聊会话或该学生应用专属的 Open ID 进行发送。这个设计从根本上杜绝了之前因跨应用 Open ID 混用导致推送失败的问题,确保了消息送达的准确性和稳定性。
此外,我更新了飞书集成交接文档,详细记录了当前的接入架构、机器人配置方式和新增的通知推送机制,方便后续维护和交接。同时完成了相关核心文件的语法检查和本地服务健康检查,确认服务状态正常。
遇到的问题及解决
这周遇到几个技术问题。第一个是代码修改后旧进程仍在运行,导致新功能无法加载。经排查发现是之前启动的 Node 服务没有被完全终止,占用端口的同时还在执行旧版代码。手动终止旧进程并重新启动后,健康接口恢复正常,新功能正常生效。
第二个问题是飞书卡片按钮的渲染兼容性。新增帮助卡片中同时包含了“执行动作”和“跳转链接”两种不同类型的按钮,而原有的卡片渲染逻辑只处理了动作按钮类型,导致跳转按钮无法正常显示。我将渲染逻辑拆分为两条路径,根据按钮类型分别生成对应的属性结构,问题得以解决。
第三个问题是推送时的身份标识混用。最初在设计通知同步时,曾错误地使用了教师机器人应用的 Open ID 去给学生机器人发送消息,这会导致推送失败。经过对飞书开放平台文档的重新梳理,明确了每个机器人和每个应用都有各自独立的 Open ID 体系。修改后的逻辑限定只使用每个学生自己的机器人私聊会话或该学生在自身应用下的 Open ID 进行推送,彻底解决了跨应用标识混用的问题。
下周计划
下周的首要任务是启动项目进行完整的联调验证,计划让学生一和学生二两个机器人分别发送“帮助”指令,逐一确认卡片展示效果和各跳转链接的正确性。同时,教师端将发布新任务和开放课次,验证网页端通知与飞书私聊通知是否能够同时到达对应学生。如果发现问题,及时修复并补充测试记录。验证通过后,出于安全考虑,需要在飞书开放平台上轮换之前曾暴露过的三个应用密钥,并同步更新本地环境变量配置,确保系统在后续演示或对外使用时的安全性。在此之后,如果时间允许,计划继续推进公文流转系统的后端数据库搭建工作。

浙公网安备 33010602011771号