# 网页版使用说明 ## 功能介绍 这是一个基于Flask的网页应用,提供了**背诵排序**功能,可以帮助你: 1. **识别知识点**:从输入的文本中自动识别出要背诵的知识点 2. **随机排序**:对识别出的知识点进行随机排序 3. **转盘抽背**:通过转盘功能随机选择背诵内容 ## 快速开始 ### 1. 安装依赖 ```bash pip install Flask>=3.0.0 ``` 或者安装所有依赖: ```bash pip install -r requirements.txt ``` ### 2. 启动应用 运行启动脚本: ```bash python start_web.py ``` 或者直接运行: ```bash python web_app.py ``` ### 3. 访问应用 在浏览器中打开: - 首页:http://localhost:5000 - 背诵排序:http://localhost:5000/recitation ## 使用步骤 ### 第一步:输入背诵内容 在文本框中粘贴包含知识点列表的文本,支持以下格式: - 列表格式(数字开头) - 表格格式(从表格中复制) - 普通文本(每行一个知识点) 示例: ``` 第一章 西周 夏商学校名称 西周学在官府 国学乡学 六艺 私学兴起的原因与意义 稷下学宫 ``` ### 第二步:识别知识点 点击"识别知识点"按钮,系统会自动: - 过滤无关内容(表头、页码等) - 提取有效的知识点 - 显示识别结果 ### 第三步:随机排序 点击"开始随机排序"按钮,系统会: - 对知识点进行随机打乱 - 生成随机排序列表 - 创建转盘界面 ### 第四步:转盘抽背 点击"转动转盘"按钮: - 转盘会旋转3圈后停下 - 随机选中一个知识点 - 显示选中的内容 同时,页面下方会显示完整的随机排序结果列表。 ## 技术说明 ### 后端技术 - **Flask**:轻量级Web框架 - **Python正则表达式**:文本解析和知识点提取 ### 前端技术 - **HTML5 + CSS3**:响应式页面设计 - **JavaScript (原生)**:交互逻辑 - **SVG**:转盘可视化 ### 知识点识别规则 系统会智能识别以下内容: 1. 以数字或章节号开头的行(如"第一章"、"1. 知识点") 2. 以列表符号开头的行(如"- 知识点"、"? 知识点") 3. 包含中文且非空的行 系统会自动过滤: - 表头行(包含"章节"、"知识点"等关键词) - 页码行(如"第1页") - 说明文字 - 空行 ## API接口 ### 提取知识点 **POST** `/api/extract` 请求体: ```json { "text": "输入文本内容" } ``` 响应: ```json { "success": true, "items": ["知识点1", "知识点2", ...], "count": 2 } ``` ### 随机排序 **POST** `/api/sort` 请求体: ```json { "items": ["知识点1", "知识点2", ...] } ``` 响应: ```json { "success": true, "items": ["知识点2", "知识点1", ...], "count": 2 } ``` ## 目录结构 ``` diet_recommendation_app/ ├── web_app.py # Flask应用主文件 ├── start_web.py # 启动脚本 ├── templates/ # HTML模板 │ ├── index.html # 首页 │ └── recitation.html # 背诵排序页面 ├── static/ # 静态资源 │ ├── css/ │ │ ├── style.css # 通用样式 │ │ └── recitation.css # 背诵排序页面样式 │ └── js/ │ └── recitation.js # 前端交互逻辑 └── logs/ # 日志文件 └── web_app.log ``` ## 注意事项 1. 首次运行会自动创建必要的目录(templates、static、logs) 2. 建议在本地环境中使用,如需公网访问请配置防火墙和反向代理 3. 日志文件保存在 `logs/web_app.log` ## 故障排除 ### 问题:无法启动应用 **解决方案**: - 检查Flask是否已安装:`pip list | grep Flask` - 检查端口5000是否被占用 - 查看日志文件 `logs/web_app.log` ### 问题:无法识别知识点 **解决方案**: - 确保输入文本格式正确 - 尝试手动整理文本,每行一个知识点 - 检查是否包含特殊字符 ### 问题:转盘不显示或旋转异常 **解决方案**: - 检查浏览器是否支持SVG - 清除浏览器缓存 - 使用现代浏览器(Chrome、Firefox、Edge等)