项目名称: 汤甜甜 · AI编程实践作品集
文档版本: V2.0
项目采用静态单页网页结构。页面层由index.html构成;展示层为src/styles.css;交互控制由src/app.js负责;纯业务逻辑在src/core.js实现;本地数据在src/storage.js封装;后端数据库并非此实训站点的技术前提。
| 层次 | 组件 | 责任 |
|---|---|---|
| 界面层 | HTML/CSS | 页面结构、适配和视觉交互 |
| 控制层 | app.js | 导航、事件处理、页面渲染、API请求 |
| 业务层 | core.js | 任务校验、排序筛选、Markdown安全渲染 |
| 数据层 | storage.js | localStorage序列化、读取及异常回退 |
| 接口层 | Open-Meteo API | 城市地理编码、天气及未来四日预报 |
数据模型包含任务ID、标题、描述、优先级、截止日期、完成状态及时间戳。用户提交后先校验字段,再更新内存任务列表并写入localStorage,随后重新渲染任务统计和列表。导入JSON文件时限制文件大小并验证结构,替换前提示用户确认。
通过唯一ID选中笔记,编辑内容即时保存。Markdown文本不作为原始HTML直接插入:先进行字符转义,再解析受支持语法;链接限制为HTTP/HTTPS协议,以降低脚本注入风险。
先调用地理编码接口查询城市坐标,再请求天气预报API。设置请求超时与AbortController,统一处理网络异常、地点不存在和API字段缺失。任务及笔记不会发往天气服务。
使用Node.js内置测试运行器执行33项单元测试;Python启动本地HTTP服务并可进行6项静态资源HTTP检查。静态网页可以直接由GitHub Pages发布。start_server.py仅负责本地服务启动,网页交互的主体实现语言是JavaScript,而不是Python或Java。
源代码提交于https://github.com/ZhijianLuan-77/TTT-homework,正式公开网站地址记录在项目首页及最终提交说明中。使用独立课程项目目录,不改写账户中的其他科研或学习资料。