第15讲 网页待办运行说明 1. 从起步素材重做 解压lesson-15-starter.zip,在Comate“新任务→日常任务”选择lesson15-starter目录。 按课件通用模板→本案例的顺序分轮发送,先确认现有文件和计划,再批准实现。 起步包只有桌面源码、上下文和本地Pyodide运行资源,没有预先完成的网页。 课堂提示词是实际Comate过程的教学整理,回复、耗时和生成文件细节可能不同,仍须实测。 设计参考另开任务,点输入框下方“技能”,选中Canvas交互式产出物后发送。 不要只在消息正文中写技能名就认为已调用。若技能缺失,使用下载的设计要求作替代输入。 参考稿不是Python应用;将审核后的设计要求交回开发任务美化,再复验。 2. 查看已完成案例 解压lesson-15-todolist-browser.zip。基础版和成品版分别包含完整运行文件。 在所选版本文件夹打开终端,运行: python3 serve.py 浏览器打开:http://127.0.0.1:8795/ 要求本机有Python 3用于本地HTTP服务;业务代码实际在浏览器的Pyodide中运行。 不是Tk桌面窗口,不要求安装Flask、Streamlit或Node,不需要外部CDN。 首次加载需读取约13MB本地运行资源,短暂等待Python就绪。 不要双击index.html用file://代替HTTP入口。 同一时间只运行一个8795服务。结束时在启动它的终端按Ctrl+C,再启动另一版本。 若8795已占用且不便停止原服务,可在所选目录另开一个仅本机的端口: python3 -m http.server 8796 --bind 127.0.0.1 随后打开http://127.0.0.1:8796/。更换端口会改变浏览器存储所属站点,不会自动带上原任务。 3. 演示数据与保存 默认空列表,使用虚构任务“完成Python练习”“整理课堂笔记”,完成第一条后为2/1/1/50.0%。 筛选仅改变显示,统计基于全部任务。刷新同一站点后任务恢复。 localStorage键为lesson15.browser.v1;同一站点下基础版与成品版共用此键。 不要在录制中假定打开另一版必然空白,也不要为恢复空白清除个人数据。 同时开着两版时,另一页若保存了新任务,旧页继续变更会提示“其他页面已更新,请刷新”。请先刷新再操作,不反复点按钮。 该保护不是多人协作或跨设备同步;录制时建议只保留当前操作的一版。 任务不随源码压缩包传递,不自动同步到其他浏览器、设备或域名。 “导出JSON”下载任务备份;本轮没有导入功能,也不宣称已有从桌面JSON自动迁移的入口。 4. 实测边界 Python核心与桌面版SHA-256相同,基础版与成品的web_api.py、bridge.js也保持一致。 Comate产出网页并修复了真实筛选aria-selected问题;Canvas真实加载并打开参考稿。 Canvas文件产生后出现重复工具调用,备课时已主动停止;这不代表每次生成会完整自动收尾。 原始制作中一条删除/tmp/tasks.json的命令被取消,未执行;未修改系统安全设置。 当前实测和未验证项见同目录课程验收记录;目标清单不是通过结论。 本讲只完成本地网页,不代表已经上线公网或可以跨设备同步。 参考资料:Pyodide官方文件系统说明 https://pyodide.org/en/stable/usage/accessing-files.html