第15讲 网页待办项目上下文 通用填写方式 已有程序:【程序与目录】 当前能力:【已经运行验证的功能】 本轮目标:【网页升级与使用者】 运行环境:【实际环境与运行资源】 数据规则:【字段、类型、保存位置】 允许改动:【目录与文件】 不能改动:【核心、已有功能和数据】 验收方式:【操作与预期】 本案例 解压lesson-15-starter.zip,在Comate选择lesson15-starter文件夹作为本地目录。 已有lesson14_desktop/todo_core.py、todo_app.py和README.md,是上一讲的Python桌面待办程序。 runtime/pyodide含5个同源运行时文件,固定314.0.2;不是最新版承诺。 本轮只新建lesson15_browser,保留原桌面目录。 核心类TodoCore,接口add_task、complete_task、uncomplete_task、delete_task、get_tasks、get_stats。 任务字段id为UUID字符串,title为非空字符串,completed为布尔值。 JSON顶层为对象,含tasks列表;get_stats返回total、completed、rate,rate范围0至1。 核心源文件SHA-256:72b33149abe9228eed715755af370dd8553ddaf6e89cd19e506fe40feb5d3dd8。 HTML放内容,CSS管外观,JS接事件与存储桥接,web_api.py调用真实TodoCore。 Python在访问者的浏览器里经Pyodide运行,本例没有远端Python服务器。 启动本地HTTP服务仅提供文件,不能用file://直接双击替代HTTP加载。 localStorage键lesson15.browser.v1;刷新恢复同站点任务,不自动跨设备同步。 功能:新增、完成/恢复、删除确认与取消、三种筛选、全局统计、JSON导出。 验收:两条任务完成一条,2/1/1/50.0%;筛选不改全局统计,刷新保留编号和状态。 损坏数据不覆盖,保存失败明确显示未保存;加载中禁止操作,失败有重试。 先做功能基础版并验证,再保存检查点,用设计参考美化,最后回归验收。 不加登录、云同步、JSON导入、撤销删除、发布或付费服务。 没有运行证据的检查只写待验证。不要删除已有数据或用演示任务遮盖错误。 课堂提示词经过教学整理,路径与本起步包一致。 真实备课使用同一Python核心及运行时,但运行时原始路径来自旧项目;实际发送记录另存于网页案例实测目录。