Skip to content

Plainstruct 3.5.0 Release

Choose a tag to compare

@MogroWang MogroWang released this 03 Oct 12:59
· 63 commits to main since this release

[3.5.0] - 2026-10-03

修复

  • 修复下拉选择面板打开即自动收起:面板打开时会聚焦当前选中项,选中项在面板可视区之外(如设备列表的最后一项)时聚焦引发面板内部滚动,而「任何滚动即收起」的全局监听会把这个滚动当成外部滚动,菜单在打开的瞬间就消失;在选项列表里滚动手势也会同样误收。现面板内部的滚动不再触发收起,只有面板之外的容器滚动才收起(全应用的下拉选择统一修复,含主题配置与独立预览窗口的机型预设)

新增

  • 独立预览窗口自绘壳层(不再使用原生标题栏):构建页打开的独立预览窗口换上与应用一致的自绘外壳 —— macOS 保留原生红绿灯悬浮在自绘标题栏上(窗口圆角与阴影不受影响),Windows 为无边框窗口加自绘窗口控制(最小化/最大化还原/关闭,双击标题栏可最大化);标题栏内提供浏览器式导航(后退/前进/刷新,按站点会话历史自动启用或禁用)与站点内路径地址栏(显示发布后的站内路径,悬停可看完整 URL);窗口在壳层就绪后才显示,不再有启动白屏闪烁
  • 桌面端 / 移动端预览模式随时切换:标题栏右侧的分段控件(滑动药丸指示)一键切换,两种模式共用同一个站点页面,切换不重载、站点阅读位置保持;模式会被记住,下次打开沿用上一次的选择
    • 桌面端模式:窗口即桌面浏览器视口,站点满幅铺开,适合检查宽屏布局与悬停交互;
    • 移动端模式:站点被约束进真机尺寸的移动设备视口,设备居左、右侧为操作面板 —— 面板提供返回与刷新按钮,以及机型预设(小米 14、Redmi Note 13、华为 Mate 60 Pro、荣耀 Magic6、OPPO Find X7、vivo X100、三星 Galaxy S24、Google Pixel 8 与 iPhone SE 3 ~ iPhone 15 Pro Max,均标注设备像素比);面板下方同时显示逻辑视口(模拟实际生效)与物理分辨率(逻辑 × DPR);面板宽度可拖拽调节(220–420px,记忆);切换预设立即生效并记忆;设备随窗口缩放适配、深色机身外框承载,主题的移动端布局、媒体查询与窄屏行为都按真实设备宽度呈现;模拟屏幕内鼠标显示为圆形触点光标(由注入脚本设置),模拟手指触摸
  • 移动端模拟:真实触摸事件:移动模式下,指针的按下/拖动/抬起会以真实的 touchstart/touchmove/touchend 事件送达站点页面(触摸流与鼠标事件流并存,事件序列与真机一致),主题与页面脚本里的触摸交互都能按真机方式触发;切回桌面模式或关闭窗口后完全还原,构建产物本身不含任何注入逻辑
  • 内容页右上角独立预览窗口开关:编辑文档时无需前往「构建」页 —— 工具条最右侧新增小按钮,点击自动构建并弹出独立预览窗口,窗口打开期间按钮保持点亮,再次点击关闭;应用启动时自动同步窗口开关状态;浏览器预览中同样可用(点击构建并以命名标签页打开壳层,重复点击复用同一标签,环境允许时再次点击可关闭)
  • 移动端模拟:自定义设备:机型预设列表末尾新增「自定义…」,可自由指定逻辑宽 / 高 / 像素倍数(宽 200–1600、高 200–2560、倍数 1–5),输入立即生效并记忆,读数随自定义参数实时换算逻辑视口与物理分辨率
  • 移动端模拟:按住拖动滚动页面:模拟屏幕内按住拖动即滚动网页(内容 1:1 跟手),优先滚动指针下的内部滚动容器,滚到边界自动链接外层容器;松手带惯性衰减,拖动后松手不会误触链接,再次按住即打断惯性;左缘排除区仍归返回手势,与真机手势区一致
  • 移动端模拟:隐藏滚动条:模拟屏幕内的滚动条不再显示,与真机浏览器的滚动条形态一致(滚轮与拖动滚动不受影响)
  • 移动端模拟:安卓左缘侧滑返回:从屏幕左缘向右拖动即可返回上一页 —— 整屏 1:1 跟手滑动并轻微缩小渐隐(预测性返回的观感),松手按滑动位移与松手速度共同裁决提交或取消,取消时以松手速度无缝弹回、提交后上一页自左侧轻推入场;已到站点首页时手势只让出一条缝并以渐进阻尼回弹,提示「没有更多历史」;侧滑手势自带方向锁(纵向意图让位给页面滚动),期间不会误触选字

变更

  • 构建完成后的原位刷新不再打断阅读:重建完成后,独立预览窗口刷新的是当前正在查看的页面(原位重载,尽量保留滚动位置),不再跳回站点首页;主窗口的自动重建也不会再把预览窗口抢到前台
  • 独立预览窗口最小尺寸 620×440,防止壳层布局在极小窗口下过挤;窗口位置与尺寸的记忆保持不变
  • 预览壳层的语言、配色、字号与字重自动跟随应用设置,无需单独配置
  • 「独立窗口」按钮在浏览器预览同样可用:浏览器 mock 无 Tauri 窗口能力,点击改为以新标签页打开预览壳层(机型预设、面板拖拽等界面形态可正常演示;site:// 协议在浏览器不可用,壳层会说明站点内容不渲染);此前该按钮在浏览器预览中直接隐藏
  • 主题配置支持行为说明小字(全主题):theme.json 的配置项新增可选 hint 字段,在面板中渲染为字段下方的灰色小字,用于说明行为边界;五款博客主题的「顶栏显示当前页面标题」开关加上「首页不显示(避免与站点名重复);窗口宽度 ≤640px 时自动隐藏」说明 —— 该功能此前被误报未生效,实测构建产物中文章页标题渲染正常,首页按设计不显示
  • 主题配置分类导航改为悬浮圆角栏(全主题):3.4.1 引入的吸顶分类按钮栏升级为悬浮毛玻璃圆角矩形 —— 半透明表面加背景模糊,底部带渐变模糊带(滚动内容临近栏底时逐渐虚化,不再是硬边缘截断),吸附位置更贴顶;点击分类的落点按栏的实际渲染高度动态计算,分类多到换行、界面字号缩放、语言切换时依然精确定位,分组标题不再被栏遮住;分组标题字号加大并提高对比度;适配减弱透明度偏好(自动回退不透明表面、去掉模糊)
  • 主题配置分组以圆角边框成组(全主题):每组配置装进圆角矩形边框容器(表面底色、细线边框,与全应用卡片语言一致),组与组的边界一目了然;无分类的旧主题自动合成单个容器平铺,外观不受影响
  • 点击分类跳转后分组标题闪烁提示:跳转落点的分组标题以注意色脉冲三次(素色 → 注意色 → 素色,约 1.5 秒),滚动到位前后都能看见落点在哪;颜色取自现有「注意色」令牌(深浅主题各自适配),减弱动态偏好下不闪烁(瞬时跳位本身即时可见)