Files
note2any/release.md
2025-10-09 15:44:26 +08:00

3.2 KiB
Raw Blame History

版本信息(发布版本时填写,供脚本使用)

v1.3.4

重构

新的架构图

┌─────────────────────────────────────────────┐
│   Obsidian Framework Layer                  │
│   preview-view.ts (ItemView 容器)           │
│   - 视图生命周期管理                         │
│   - 事件监听注册                             │
│   - 委托所有业务逻辑                         │
└──────────────┬──────────────────────────────┘
               │ 持有并委托
               ↓
┌─────────────────────────────────────────────┐
│   Business Logic Layer                      │
│   preview-manager.ts (中央调度器) ★         │
│   - 创建和管理所有子组件                     │
│   - 处理平台切换(唯一入口)                 │
│   - 协调组件交互                             │
│   - 管理渲染流程                             │
└──────────────┬──────────────────────────────┘
               │ 管理
       ┌───────┼───────┐
       ↓       ↓       ↓
┌──────────┐ ┌──────────┐ ┌──────────┐
│Platform  │ │Wechat    │ │Xiaohong- │
│Chooser   │ │Preview   │ │shu       │
│(UI选择器)│ │(微信实现)│ │Preview   │
└──────────┘ └──────────┘ │(小红书)  │
                           └──────────┘

单向数据流

用户操作 → PlatformChooser.onChange()
              ↓
         PreviewManager.switchPlatform()
              ↓
         ┌────┴────┐
         ↓         ↓
    show/hide  show/hide
    Wechat     Xiaohongshu

bug修复

症状1Obsidian 一直处于"加载工作区中"状态 症状2:进入安全模式后关闭安全模式,插件能加载但提示:

"获取样式失败defaultldefault请检查主题是否正确安装。"

v1.3.8

重新实现分页测量,清理多余日志。

  • 重新实现分页测量构建隐藏的“测量页面”与真实页面同样的宽度、内边距40px和 class逐个把克隆元素追加进去利用 scrollHeight 决定是否换页,保证 margin 折叠后计算准确 (src/xiaohongshu/paginator.ts:57waitForLayout 新增)。
  • 当元素放不下当前页时,移除测量克隆并把已排内容写入分页,再以该元素开启新页;不可分割元素允许独占一页即便超高 (src/xiaohongshu/paginator.ts:101)。
  • 清理多余日志,同时共用 PAGE_PADDING 常量让 renderPage 和测量逻辑保持一致 (src/xiaohongshu/paginator.ts:182)。

现在分页依据真实渲染高度,预览窗口内不会再丢失底部内容。建议在小红书预览里多翻几页、调整字号后重新分页验证结果。