因微信阅读相关api失效,本项目使用方式需要一定动手能力
之前阅读的热力图使用的是Weread2NotionPro项目进行生成。
考虑到从Notion全面转向Obsidian,而且Obsidian中的Weread插件相比之下更加友好并能够使用dataviewjs
自定义展示方式,而我也因此搞了个obsidian-readingcard的模板用以展示微信阅读的各项进度。
- 手机Quantumult X中添加重写脚本
https://raw.githubusercontent.com/ZiGmaX809/PrivateRules/refs/heads/master/QuantumultX/Scripts/Get_WeRead_Infos/weread_login_monitor.conf
- 在Github -> Settings -> Developer Settings
-> Persional access tokens -> Tokens(classic)中新建一个token,其中
Select scopes
仅需选择gist
。 - Quantumult X中安装
BoxJS
模块,并在www.boxjs.com
管理页面中添加以下订阅,并打开其中的微信读书登录信息监控
,填入上面申请的GitHub Token
后保存。
https://raw.githubusercontent.com/ZiGmaX809/PrivateRules/refs/heads/master/QuantumultX/boxjs.json
-
使用微信阅读,直到出现Quantumult X通知。【使用过程中,脚本会在微信阅读App请求
https://i.weread.qq.com/login
时自动获取vid
、request_body
、request_headers
等信息,并将其同步至你的Github Gists
。(因为该地址并非实时请求,而是存在一个生命周期)】 -
打开
https://gist.github.com/你的GithubID
网址就能看到推送上来的weread_login_info.json
文件,获取其Raw地址。 -
fork本项目,并在项目
Settings->Secrets and variables->New repository secret
中添加上面的Gist文件的Raw地址。
Secrets键 | 示例值 | 备注 |
---|---|---|
GIST_URL | https://gist.githubusercontent.com/ZiGmaX809/akjsjha....sefsfe/raw/773...121/weread_login_info.json | Gist文件的Raw地址 |
- fork本项目;
- 在手机上利用Quantumult X等工具针对微信阅读进行抓包;
- 找到连接为
https://i.weread.qq.com/login
的请求(可能需要关闭app后重新打开才会有或者需要等到已有skey失效后app才会进行请求); - 在
Request Header
中获取vid值; - 获取
Request Body
的json格式文本; - 点击
Settings->Secrets and variables->New repository secret
中添加以下内容:
Secrets键 | 值 | 备注 |
---|---|---|
USER_VID | 365204888 | 9位数字 |
USER_SKEY | YourSkey | 8位随机码,skey和request_body二选一,但skey仅单次有用,body数据可进行skey自动刷新 |
REQUEST_BODY | { "random" : xxxxxxxxx,"deviceId" : "xxxxx"...} | 请求体json |
- 在
Settings->Secrets and variables
中添加Variables
,以下按需自行添加、修改键值,如果无所谓默认样式则无须添加。
Variables键 | (默认)值 | 备注 |
---|---|---|
START_YEAR | 2024 |
开始年份 |
END_YEAR | 2025 |
结束年份 |
NAME | 微信阅读热力图 | 卡片标题 |
TEXT_COLOR | #2D3436 | 默认文字颜色 |
TITLE_COLOR | #2D3436 | 标题颜色 |
YEAR_TXT_COLOR | #2D3436 | 年度阅读时间颜色 |
MONTH_TXT_COLOR | #2D3436 | 月份标签颜色 |
TRACK_COLOR | #EBEDF0 | 无阅读颜色 |
TRACK_SPECIAL1_COLOR | #9BE9A8 | 一级颜色 |
TRACK_SPECIAL2_COLOR | #40C463 | 二级颜色 |
TRACK_SPECIAL3_COLOR | #30A14E | 三级颜色 |
TRACK_SPECIAL4_COLOR | #216E39 | 四级颜色 |
DEFAULT_DOM_COLOR | #EBEDF0 | 默认格子颜色 |
- 项目自动运行后会在根目录下生成
heatmap.svg
文件,直接在Obsidian中进行引用即可。
自行逐个替换TRACK_SPECIAL1_COLOR
至 TRACK_SPECIAL4_COLOR
的值
颜色值 | 预览 |
---|---|
#9BE9A8 |
|
#40C463 |
|
#30A14E |
|
#216E39 |
颜色值 | 预览 |
---|---|
#FFF7B2 |
|
#FFEE4A |
|
#FFD700 |
|
#FFA500 |
颜色值 | 预览 |
---|---|
#B5E1FF |
|
#5AB6FD |
|
#34A7FF |
|
#0077CC |
颜色值 | 预览 |
---|---|
#F7D6F8 |
|
#E5A3E6 |
|
#CA5BCC |
|
#A74AA8 |
本项目灵感来自于Weread2NotionPro,在此再次表示衷心感谢!