feat(web): 移植 2.0 阅读看板探索 Demo

This commit is contained in:
admin committed 2026-09-11 17:30:10 +08:00
1 parent f42b114384
commit 8e8a0bfba6
7 files changed
+559

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
# 阅间设计 Demo 使用说明
## 范围与启动
这是独立的静态设计 Demo,不调用微信读书接口,不需要 API Key,也不修改现有 Flask 服务、数据采集脚本和 8080 页面。功能与接口的后续实现进度统一维护在 [功能目标清单](feature-checklist.md)。
该 Demo 定位为 2.0 设计探索。当前提交用于保存探索成果,不代表 2.0 正式发布,也不创建 `v2.0` 标签。
在项目根目录执行:
```sh
python3 -m http.server 8765 --bind 127.0.0.1 --directory web-demo
```
访问 `http://127.0.0.1:8765`。也可以直接打开 `web-demo/index.html`;推荐通过本地服务器使用,以便浏览器稳定保存目标数据。
无需安装前端依赖。页面由以下文件构成:
| 文件 | 内容 |
|---|---|
| `web-demo/index.html` | 页面外壳、导航、详情与目标编辑弹窗 |
| `web-demo/styles.css` | 暗亮主题、书封示意、响应式排版 |
| `web-demo/demo-data.js` | 书籍、书单、初始目标、笔记与点评样例 |
| `web-demo/app.js` | 页面渲染、目标操作、搜索筛选、导出 |
## 保存与数据边界
目标使用当前来源的 `localStorage` 键 `weread-demo-goals-v2`,主题使用 `weread-demo-theme`。刷新后保留;更换浏览器、地址或端口不会自动迁移;清除网站数据会清除本地目标。
书单加入目标时保存当前书籍集合,后续不自动跟随书单变化。同一目标内书籍去重,已读完直接计为完成。新增目标必须有名称、有效时间范围和至少一本书。
本地存储读取失败时显示示例目标并提示,不自动覆盖原存储;保存失败时保留编辑表单并提示重试。
所有阅读数据、书单成员、封面、目录、笔记和点评都是示例。用户编辑的目标只保存在本机,不会写回微信读书。公开书单完整成员获取方式仍需接口验证。
## 使用入口
- 阅读目标:新建目标,填写日期,勾选书籍或点击书单快捷加入,保存后可再编辑。
- 我的书架:切换我的书单、有声书、文章收藏与阅读状态。
- 发现好书:选择搜索类型;右侧预览状态可查看加载、空结果、失败及重试效果。
- 书籍详情:从卡片进入,切换目录、个人笔记、热门划线、点评、相似推荐。
- 笔记:按书目和类型筛选,导出当前书目的划线与想法,书签仅显示数量。
## 验证
语法检查:
```sh
node --check web-demo/app.js
node --check web-demo/demo-data.js
```
交互验收记录见 [功能目标清单](feature-checklist.md)。真实 API、鉴权、分页和服务器持久化尚未验证。
## 与 1.0 的关系
1.0 继续由根目录的 `app.py`、`fetch_data.py`、`templates/` 和 `static/` 提供,运行在 8080 端口。2.0 探索 Demo 位于 `web-demo/`,两者可以独立预览。