账户页增加支持说明
付费按钮下方新增一段说明,让用户知道这个工具背后有持续的服务成本,也能更清楚地理解订阅支持的意义。
tech账户页支付按钮后新增 support-note 文案,并让空的支付状态提示不再预留高度。
product.log / infrastructure for Chinese internet reading
Readwise Reader 是长期阅读的基础设施。wechat2readwise 会持续修复中文互联网里的剪藏断点,让微信文章更稳定地进入你的 Reader。
每次功能、修复或体验优化完成后,都会追加到这里。
付费按钮下方新增一段说明,让用户知道这个工具背后有持续的服务成本,也能更清楚地理解订阅支持的意义。
tech账户页支付按钮后新增 support-note 文案,并让空的支付状态提示不再预留高度。
新用户添加企业微信个人号后,会收到更清晰的欢迎说明和一个专属账户入口。这个入口可用于首次绑定 Readwise,也会在绑定成功后长期回到账户页。
tech客户联系欢迎卡片 URL 从 /setup/<nonce> 调整为 /account/setup/<nonce>;底层仍复用 setup session,旧 /setup/<nonce> 链接继续兼容,OAuth 回调会保持 account setup 路径。
账户页现在只保留 Readwise 账号邮箱和更新入口,Token 尾号、更新时间和更新表单集中到二级页面,主页面更适合快速查看额度和订阅状态。
tech/account/<accountKey> 的 Readwise 摘要改为紧凑账号条,并放在使用额度和订阅状态上方;/account/<accountKey>/readwise 增加 Readwise Access Token 获取地址。
曾经绑定过 Readwise Token 的用户,如果 account 页面没有自动找到账号,现在可以用 Readwise 邮箱和 Access Token 找回账户,继续查看状态、订阅支付和更新绑定。
tech/account 的微信找回未命中时会创建短时 account recovery session;用户提交 Readwise 邮箱和 Token 后,Worker 校验 Token 并匹配旧加密记录,成功后补齐 accountKey、wechatOpenid 和 account_openid 索引。
如果删除企业微信好友后重新添加没有收到新欢迎语,用户现在可以从 account 入口通过微信身份找回已绑定账户;旧绑定链接再次打开也会回到账户页。
tech绑定成功后保留 /setup/<nonce> 到 /account/<accountKey> 的长期跳转,并增加 account_openid 索引用于 /account 的服务号 OAuth 找回。
账户与订阅页现在只展示 Readwise 绑定状态;需要更换邮箱或 Access Token 时,可从更新入口进入单独页面处理。
tech/account/<accountKey> 保留绑定摘要和订阅支付,/account/<accountKey>/readwise 增加独立更新页面,提交成功后回到账户总览。
顶部导航里的账户入口文案已简化为 account,和 product、changelog 的命名风格保持一致。
tech共享 page header、/account 中转页标题、文档和公开 changelog 文案统一使用 account。
顶部导航现在会用深蓝色标出当前页面,其他页面入口颜色更浅,三页切换时位置和状态更清楚。
tech共享 page header 增加 active page 参数和 aria-current 标记,用统一 CSS 区分选中与未选中导航项。
产品页、账户页和 changelog 页现在使用完全一致的顶部导航,切换页面时品牌、链接和尺寸保持统一。
tech抽取共享 page header 渲染和样式,三个页面复用同一份 header markup;移除产品页独有的顶部扫码按钮,扫码入口保留在正文。
产品页的 account 和 changelog 入口已移到顶部导航,页面底部不再保留重复的白色链接区。
tech首页 header 增加 account / changelog 导航,并移除 footer 白色区域;移动端保留顶部账户和更新日志入口。
产品页、账户页和 changelog 页面现在都能互相跳转,用户不需要依赖浏览器返回键切换页面。
tech账户页增加 product / changelog 顶部导航,changelog 增加 product / account 导航,并继续通过 /account 中转保护具体账户链接。
产品页底部现在提供 account 和 changelog 两个入口,用户可以从首页回到已保存的账户页。
tech首页 footer 增加 /account 和 /changelog 英文链接;/account 会尝试读取本机保存的账户路径并跳转,账户页打开时会记录当前账户路径。
用户现在可以在长期账户页查看已绑定邮箱、Token 尾号和更新时间,并随时更换 Readwise 邮箱和 Access Token。
tech/account/<accountKey> 增加 Readwise 绑定管理表单和 /account/<accountKey>/readwise 更新入口;页面只展示 Token 遮罩预览,不展示完整 Token。
微信内打开绑定 readwise 账户页面时,页面现在会按手机屏幕宽度铺满,不再出现右侧留白。
tech绑定页移动端布局移除固定 390px 宽度,改为流式 100% 宽度,并保留桌面最大宽度约束。
订阅页去掉顶部重复标题;付费后显示额度不限,订阅状态只保留有效期。
tech账户页按 paidUntil 渲染权益摘要,FAQ 更新客服微信 happy_logos,并移除过期支付恢复提示。
新用户可以先免费剪藏 3 篇文章;免费额度用完后,需要订阅月卡或年卡继续保存。
tech生产环境开启 BILLING_ENFORCEMENT_ENABLED,文章和文件保存入口会按免费额度与订阅有效期判断权益。
微信内打开订阅页时,页面现在会按手机屏幕宽度铺满,不再出现右侧留白。
tech账户页移动端布局移除固定 390px 宽度,改为流式 100% 宽度,并保留桌面最大宽度约束。
从微信转发 EPUB 电子书后,现在会和 PDF 一样进入 Reader Inbox,并保留文件标签。
tech文件暂存 URL 改为 Worker /reader-files/... 出口,由 Worker 从私有 R2 流式返回并同时支持 HEAD/GET;保存成功后追加 Reader metadata update 补齐 reader-file 标签。
企业微信个人号开始具备接收 PDF、EPUB、OPML、XML、CSV 文件并导入 Reader 的服务端链路。
tech会话存档 poller 增加文件识别、Finance SDK 媒体下载、R2 临时暂存;Worker /archive/ingest 增加文件去重和 Readwise 文件保存 payload。
用户现在可以在产品页底部进入更新日志,看到 wechat2readwise 的持续迭代记录。
tech新增 /changelog 静态路由,更新内容由结构化 TypeScript 数据维护。
保存到 Reader 的内容统一带上 wechat-to-readwise 标签,公众号文章会额外标记为 wechat-articles。
techReadwise 保存 payload 支持按文章类型传入 tags,并对标签做去重和清洗。
账户页、服务号授权和微信支付路径已经准备好,后续可以在验证稳定后逐步开启订阅闭环。
tech新增 JSAPI 下单、支付通知验签解密、订单幂等和 paidUntil 延期逻辑,保存拦截仍由独立开关控制。
不同用户可以绑定自己的 Readwise Token,转发文章后保存到各自的 Reader Inbox。
tech会话内容存档 poller 传入 archiveUserId,Worker 按用户记录解密并调用对应的 Readwise Token。
用户添加企业微信个人号后,会收到专属绑定链接,用邮箱和 Readwise Access Token 完成初始化。
tech客户联系回调创建一次性 setup 会话,并通过固定 IP relay 发送欢迎文字和链接卡片。
公众号文章会保存正文、标题、摘要、封面和发布时间,不再只依赖 Reader 自己抓取微信链接。
tech保存前抓取 mp.weixin.qq.com 页面,提取 js_content,并向 Readwise Reader 提交 HTML snapshot 和元数据。
带图片的公众号文章保存到 Reader 后,正文图片也能正常进入阅读内容。
tech将微信懒加载图片的 data-src、data-original、data-backsrc 规范化为真实 src。