更新日志
2.0.0(2026-08-31)
- 【重要】插件推荐运行版本为 HBuilder X Alpha 5.25 及以上(蒸汽模式在此版本之前存在比较严重的问题)
- 【重要】新增 框架全面重构为 uni-app x 蒸汽模式(vapor),VDOM 模式由于性能原因不再支持。
- 新增 多风格(Style)系统:内置 default / ink / chinese / new-year / morandi-green / orange 六套风格,支持自由修改增删内置风格,或者为应用添加自定义风格,并支持一键切换。
- 新增 五乘数体系(
fontsizeFactor/radiusFactor/marginFactor/paddingFactor/aniTimeFactor)与三基础动画时长baseAniTimeShort/Normal/Long,修改自动持久化并实时驱动页面 - 新增
SnColorBase.shadow阴影色字段,随主题自动切换 - 新增 全局弹窗
showLoading/hideLoading;showToast新增title兼容写法与passThrough点击穿透,showModal/showActionsheet新增openAnimation/closeAnimation自定义开合动画 - 新增
snu金额工具roundAmount/numToUpperAmount(字符串级舍入,规避浮点陷阱)与全新 Resolve、Perm 方法分组 - 新增
$snui.logging日志开关与log/info/debug/warn/error统一日志接口,组件内部不再直接console来报日志。 - 新增 Utils 工具库
hideToast隐藏轻提示 - 新增 Utils 工具库
clamp夹具函数,对所给值限制范围 - 新增
$snui.colors颜色light,与dark相对应。亮色模式下,light即#fff,dark即#000;暗黑模式下,两者颜色互换,light即#000,dark即#fff - 新增
syncStatusBarColor/createCalendarDayPaint/createCalendarDayContent全局函数与SN_DEFAULT_STYLE_ID常量 - 新增
sn-agreement协议勾选:支持链接文本与勾选状态双向绑定 - 新增
sn-album相册:网格宫格展示图片组并支持点击预览 - 新增
sn-amount金额展示:字符串级精确舍入、千分位分隔与中文大写金额 - 新增
sn-arc-progress环形进度:基于 canvas 绘制,支持自定义起止角度 - 新增
sn-arc-slider圆弧滑块:圆弧形态滑动选择器,含 hue 颜色模式 - 新增
sn-calendar日历选择器:底部弹出,支持单选 / 区间 / 多选三种模式 - 新增
sn-calendar-view月历视图:可滑动的月历面板,供日历系列组件复用 - 新增
sn-calendar-punch打卡日历:签到打卡记录日历 - 新增
sn-calendar-week周日历:一次展示一周并支持滑动切周 - 新增
sn-cascader级联选择:支持静态 data 与异步 loadData 双数据源 - 新增
sn-cell列表项:通用单元格组件,框架内部列表布局统一复用 - 新增
sn-clipper图片裁剪:可视裁剪框拖拽缩放,导出区域与预览一致 - 新增
sn-code-input验证码输入:支持掩码、光标与粘贴识别 - 新增
sn-color-picker颜色选择器:支持 alpha 透明度与预设色 - 新增
sn-color-picker-view颜色视图:颜色选择的滑动面板视图 - 新增
sn-drag拖拽排序:长按拖拽交换排序 - 新增
sn-drag-item拖拽项:配合sn-drag使用的可拖拽子项 - 新增
sn-drawer-list抽屉长列表:底部抽屉形态的长列表容器 - 新增
sn-ellipsis文本省略:超长文本省略并支持展开 / 收起 - 新增
sn-footer页脚:Logo + 导航链接 + 版权三段式布局 - 新增
sn-fullscreen全屏:原位展开全屏容器 - 新增
sn-form-field表单项容器:标签、内容、必填标与校验注册的基座 - 新增
sn-input-field标签输入框:表单项 + 输入框组合,内置错误提示 - 新增
sn-textarea-field标签文本域:表单项 + 文本域组合,含字数统计 - 新增
sn-highlight-text高亮文本:关键词高亮显示 - 新增
sn-keyboard安全键盘:数字 / 整数 / 密码 / 身份证 / 车牌五种类型 - 新增
sn-mention提及输入:@ 提及选择输入框 - 新增
sn-message消息条:全局消息队列,六方向弹出与分组计数 - 新增
sn-notification通知:带标题内容与类型图标,支持进度条与拖动关闭 - 新增
sn-pagination分页器:简洁 / 完整两种模式,支持快速跳转 - 新增
sn-popover气泡卡片:锚点定位的轻量气泡弹层 - 新增
sn-post-card帖子卡片:动态 / 帖子信息展示卡片 - 新增
sn-region-picker省市区选择:内置中国区划数据,省 / 市 / 县模式 - 新增
sn-scroll-view滚动容器:与长列表共用刷新 / 加载更多 / 回到顶部机制 - 新增
sn-slide-captcha滑块验证:拖拽滑块完成验证 - 新增
sn-slider-double双向滑块:区间范围选择 - 新增
sn-sorter排序:字段排序选择器 - 新增
sn-steps步骤条:横 / 竖排布,圆点 / 点状两种形态 - 新增
sn-step步骤项:配合sn-steps的步骤节点 - 新增
sn-table表格:支持固定表头与固定列 - 新增
sn-tr表格行:配合sn-table的行节点 - 新增
sn-td表格单元格:配合sn-table的单元格节点 - 新增
sn-tree树:多模式选择与懒加载 - 新增
sn-watermark水印:页面或局部水印覆盖,不影响其他组件,无副作用。 - 新增
sn-keyboard-top键盘上方区域:未弹出键盘时按默认方式定位(与普通 view 一致),弹出键盘时切换为 fixed 定位并跟随键盘高度贴在键盘上方(Android / Web) - 新增
Demo手势库实例,结合可视化元素演示手势库应用 - 新增
sn-e-toast插件:替换snu.showToast基于dialogPage实现的不可透穿手势的 Toast 轻提示,原生弹层实现同官方uni.showToast基本一致的体验。同时相对于官方的 UI 新增了动画和丰富的样式支持。 - 优化
$动态变量解析,在原有的仅支持基础上支持解析任意尺寸,自动计算符合当前框架尺寸乘数的结果。新增Resolve相关解析 API (详见文档)暴露给开发者使用以适配框架样式。 - 优化 动画统一由 UniElement DOM animate / transition +
--ani-time-*变量实现,支持$简写并随aniTimeFactor全局调速 - 优化 点击态统一为
useHover+hover-style机制,替代旧hover-class,配套hover-start-time/hover-stay-time/hover-trans-time - 优化 内部列表项 / 子项布局统一复用
sn-cell,子元素样式经itemStyle/itemHoverStyle/itemTextStyle/itemIconStyle/itemClass/itemBorder传递链透传 - 优化 长列表组件(
sn-list-view/sn-waterflow)改为数据驱动 + 作用域插槽渲染,条目按数据项 type 分组复用回收,避免了直接传入list-item/flow-item组件被渲染为普通view 而引发的内存泄露问题 - 优化 重新设计了
sn-input和sn-textarea的默认样式。如需原来的样式可以通过丰富的属性来实现。 - 优化 跟手组件触摸交互改为 DOM 直操作,APP 端拖动更顺滑
- 优化
sn-select、sn-menu支持触底上移,即如果触发点位于页面底部,将自动将弹出层上移,避免触底。 - 优化 各组件尺寸类统一支持联合类型
String | Number - 优化
sn-datetime-picker的性能问题。 - 优化 禁用态统一使用主题禁用色,Web 端条件编译设置
cursor: not-allowed - 优化
sn-select滚动模式下打开将自动定位到当前选中项。 - 优化 sn-waterflow Web 端启用虚拟滚动,长列表滚动更流畅
- 优化 sn-picker-view 在 APP端使用拍平,极大提升了载入大量数据时的性能,卡顿大幅减轻
- 优化 sn-upload-media 及 sn-upload-media-unicloud 在非 Web 端平台改用系统提供的选择器,无需再向系统申请媒体权限
- 优化 sn-scan 从相册中选择图片时改用系统提供的选择器,无需再向系统申请媒体权限,且不会产生大量缓存文件而导致占用空间膨胀
- 优化 Demo 新特性速览跳转到工具库 Demo 时出现的卡顿问题
- 优化
sn-e-markdown改 Android 原生渲染,消除 WebView 卡顿 - 优化 按钮 / 输入框 / 开关加载态指示器延迟 100ms 显示,避免闪烁
- 优化
sn-rate只读态改为双层裁剪渲染,提升性能 - 【重要】更改【破坏性变更】重构原有 API 架构,具体见文档。
- 更改【破坏性变更】 全部组件样式扩展统一为
customStyle+{语义}Style/Class透传体系,适配蒸汽模式样式隔离 2.0 - 更改 【破坏性变更】错误体系统一为 uni 错误规范:
SnError移除,统一改用UniError(errSubject / errCode / errMsg / cause),多级模块 errSubject 以::分割;日志与错误码查询迁至sinle-logger插件 - 更改 【破坏性变更】
$snui.setColorSet更名setColorBase,颜色键校验更严格 - 更改 组件 v-model 规范化:旧
vModel/modelValue统一为v-model(sn-checkbox/sn-radio/sn-switch/sn-rate/sn-slider/sn-progress等) - 更改 【破坏性变更】弹出层组件
open/close事件改为六段动画生命周期事件beforeenter/enter/afterenter/beforeleave/leave/afterleave,clickMask统一更名clickoverlay - 更改 【破坏性变更】扩展插件收编为内置组件:
sn-e-gesture→sn-gesture、sn-e-qrcode→sn-qrcode、sn-e-barcode→sn-barcode - 更改 【破坏性变更】
sn-waterfall更名重写为sn-waterflow,并进行了重构。在APP 端封装官方内置组件waterflow,在Web端采用自实现的虚拟列表。 - 更改 【破坏性变更】
sn-markdown迁移为独立插件sn-e-markdown - 更改 【破坏性变更】
sn-longlist重构为sn-list-view,refresher-triggered改为 v-model 双向绑定 - 更改 【破坏性变更】
sn-form-item拆分为sn-form-field/sn-input-field/sn-textarea-field,submited事件更名submit - 更改 【破坏性变更】
sn-menu菜单类组件的子组件从sn-menu-item改为sn-cell,移除插槽并新增select事件。 - 更改 重新设计
sn-signature组件布局,适配横屏模式。 - 更改 尺寸 / 时间类 props 统一放宽为
String | Number并接入$乘数语法,颜色类 props 使用String支持$主题色 - 更改 【破坏性变更】字号板(
font.baseSize+ size 等级)、圆角等级板、动画等级板,改为乘数体系 - 更改 【破坏性变更】各组件
customXxxStyle(UTSJSONObject)更名去custom前缀为{语义}Style并成对新增{语义}Class,customStyle类型放宽为UTSJSONObject | String - 更改 【破坏性变更】
$snui.configs六大子配置体系,改为$snui扁平属性直接读写 - 修复 Android 端跟手组件拖动卡顿问题,触摸交互改 DOM 直写保证帧率
- 修复
sn-notice组件在横屏或宽屏场景下文字完全隐藏后需要等待较长时间才会再次显示的问题 - 修复
sn-notice组件过长文本会被截断的问题 - 修复 弹出层类组件未置于
sn-page根节点时--sn-*颜色与--ani-time-*动画时长变量失效的问题 - 修复 非法 type / level 导致异常的问题,当前自动回退默认主题
- 修复 sn-timer / sn-countdown 等组件类型过度收窄导致的传参报错
- 修复 Date 日期库部分情况下报空指针异常的问题
- 修复 Utils 工具库 isDate 在高版本 uni-app x 上报空指针异常的问题
- 修复 sn-scan 图片扫描成功后预览图与识别点错位的问题
- 修复 sn-scan 手指在扫描线上无法触发缩放事件的问题(即缩放具有明显的卡顿感的问题)
- 更改 【破坏性变更】Store 状态管理库回归:旧版挂载于
$snui.store的实现废弃重建,2.0 改为独立导出StoreLib/store/frameStore,不再挂载$snui(蒸汽模式也可直接使用pinia)。 - 移除 【破坏性变更】
configs.font.mainFamily内置字体配置与configs.app.grayMode哀悼置灰模式 - 移除 【破坏性变更】
snu方法:makePhoneCall、vibrate、addPx、share、chooseMedia、previewImage、showToasty。上述方法官方基本已有实现或已不实用。 - 移除 废弃类型:
SnShareConfig、SnChooseMediaOptions、SnPreviewImageConfig、SnPreviewImageLongPressActions、SnToastyConfig - 移除 【破坏性变更】 栅格布局组件
sn-col/sn-row与过渡组件sn-transition。上述组件已不实用。 - 移除 【破坏性变更】SVG 组件
sn-e-svg。官方内置image已支持svg格式。 - 移除
sn-list-item、sn-list-chat、sn-menu-item静态列表子组件,改由sn-cell实现 - 移除 【破坏性变更】
sn-perm-listener组件标签形态,权限提示能力迁移为snu.setPermTips/registerPermListener等全局 API。
