# 版本信息(发布版本时填写,供脚本使用) ## 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修复 **症状1**:Obsidian 一直处于"加载工作区中"状态 **症状2**:进入安全模式后关闭安全模式,插件能加载但提示: > "获取样式失败defaultldefault,请检查主题是否正确安装。" ## v1.3.8 - 重新实现分页测量:构建隐藏的“测量页面”,与真实页面同样的宽度、内边距(40px)和 class,逐个把克隆元素追加进去,利用 scrollHeight 决定是否换页,保证 margin 折叠后计算准确 (src/xiaohongshu/paginator.ts:57;waitForLayout 新增)。 - 当元素放不下当前页时,移除测量克隆并把已排内容写入分页,再以该元素开启新页;不可分割元素允许独占一页即便超高 (src/xiaohongshu/paginator.ts:101)。 - 清理多余日志,同时共用 PAGE_PADDING 常量让 renderPage 和测量逻辑保持一致 (src/xiaohongshu/paginator.ts:182)。 现在分页依据真实渲染高度,预览窗口内不会再丢失底部内容。建议在小红书预览里多翻几页、调整字号后重新分页验证结果。