# 2026-07-17 工作日志 ## 微信读书数据展示网站 - 使用微信读书 API(weread-skills)拉取用户的阅读数据 - 数据采集脚本 `fetch_data.py`:拉取书架(404本)、阅读统计(overall+annually)、笔记本(32本1709条笔记)数据,存入本地 SQLite 数据库 `weread.db` - Flask 后端 `app.py`(端口 8080),提供 8 个 API 接口:overview, yearly-trend, top-books, categories, authors, time-distribution, shelf, notebooks - 前端页面:ECharts 图表(年度趋势柱状图、24h时段折线图、分类饼图、作者排行条形图)、书架网格(分页+筛选)、笔记概览 - 数据规模:累计阅读 339 小时 57 分钟、304 天阅读、404 本书架藏书、1709 条笔记 - 技术栈:Python Flask + SQLite + ECharts + 原生 HTML/CSS/JS ## 功能迭代(第二批) - Git 仓库:dev 分支初版提交 + 功能迭代提交,master 分支 --no-ff 合并,遵循 conventional commits 规范 - 书籍详情弹窗:点击书架书籍实时调 /book/info + /book/getprogress API,展示详细信息+阅读进度,数据入库 book_details/book_progress 表 - 笔记详情弹窗:点击笔记书籍实时调 /book/bookmarklist + /review/list/mine API,划线按章节分组+想法/点评,数据入库 book_highlights/book_reviews/book_chapters 表 - 推荐页面:个性化推荐(/book/recommend)+ 关键词搜索(/store/search),数据入库 recommended_books/search_results 表 - 修复 Flask 中文 URL 参数编码问题(latin-1 -> utf-8 转码) - MySQL 版本建表语句 schema_mysql.sql:18 张表完整 DDL,utf8mb4 字符集,含索引和字段注释 - 新增 7 张按需数据表:book_details, book_progress, book_highlights, book_chapters, book_reviews, recommended_books, search_results ## MySQL 迁移 - 启动本地 MySQL 5.7.31(通过 launchctl load com.oracle.oss.mysql.mysqld.plist) - MySQL root 密码:258963 - 创建数据库 `weread_dashboard`(utf8mb4),执行 schema_mysql.sql 创建 18 张表 - 迁移脚本 `migrate_to_mysql.py`:SQLite -> MySQL 全量迁移,共 862 行数据 - 时间戳列自动转换(SQLite int -> MySQL TIMESTAMP) - 中文内容 utf8mb4 完整保存,数据校验通过 - Flask 服务暂未切换至 MySQL(用户要求服务不重启)