TinyVue v3.22.0 正式发布:深色模式上线!集成 UnoCSS 图标库!TypeScript 类型支持全面升级!
我们非常高兴地宣布,2025年4月7日,TinyVue发布了v3.22.0🎉。
本次 3.22.0 版本主要有以下重大变更:
- 支持深色模式
- 增加基于 UnoCSS 的图标库
- 更丰富的 TypeScript 类型声明
- 支持 XSS 配置
详细的 Release Notes 请参考:https://github.com/opentiny/tiny-vue/releases/tag/v3.22.0
本次版本共有 18 位贡献者参与开发,其中hashiqi12138/hu-qi/tsinghua-lauDarkingtail/lcy0620/discreted66是新朋友,欢迎新朋友的加入👏
- hashiqi12138- 新增贡献者✨
- hu-qi- 新增贡献者✨
- tsinghua-lau- 新增贡献者✨
- Darkingtail- 新增贡献者✨
- lcy0620- 新增贡献者✨
- discreted66- 新增贡献者✨
- shenjunjian
- kagol
- zzcr
- gimmyhehe
- Davont
- betavs
- wuyiping0628
- Youyou-smiles
- James-9696
- chenxi-20
- MomoPoppy
- gweesin
感谢新老朋友们对 TinyVue 的辛苦付出👏
你可以更新@opentiny/vue@3.22.0
进行体验!
npm i @opentiny/vue@3.22.0
我们一起来看看都有哪些更新吧!
1 支持深色模式
TinyVue 开源以来,陆续有小伙伴提出要支持深色模式。
本次 v3.22.0 版本全面支持了深色模式。
效果如下:
使用方式也非常简单,只需要引入深色模式样式文件,在 html 标签配置class="dark"
即可。
假设我们已经有了一个 Vite + Vue3 的工程。
先安装 TinyVue 3.22.0 版本。
npm i @opentiny/vue@3.22.0
然后在 src/style.css 文件中写入以下代码,引入深色模式样式文件。
[@import](https://my.oschina.net/fzqlovehzl) '@opentiny/vue-theme/dark-theme-index.css';
接着在 index.html 的 HTML 根元素添加 dark 类名。
<html class="dark"> ... </html>
我们尝试在 App.vue 中引入 TinyVue 的 Button 组件。
<template> <tiny-button type="primary">主要按钮</tiny-button> <tiny-button>次要按钮</tiny-button> </template> <script setup> import { TinyButton } from '@opentiny/vue' </script>
具体代码可以拷贝 Button 组件的 demo 代码:https://opentiny.design/tiny-vue/zh-CN/os-theme/components/button
效果如下:
2 增加基于 UnoCSS 的图标库
之前 TinyVue 的图标库图标整体不够统一,存在一些重复图标,并且是通过封装 Vue 组件方式提供的,性能欠佳。
本次我们的设计师小姐姐和开发小哥哥携手推出了一款更加现代、更美观、性能更优异的图标库,而且是框架无关的。
- 源码:https://github.com/opentiny/icons(欢迎 Star ⭐)
- 官网:https://opentiny.github.io/icons/
- 图标预览:https://opentiny.github.io/icons/browser-icons-base
OpenTiny Icons 是 OpenTiny 团队推出的一款纯 CSS 图标库,单色图标以线型图标为主的设计风格,图标统一为16*16
的大小,拥有安全边距,保证了一致的视觉大小。
该图标库主要有以下亮点特色:
- CSS 图标库:纯 CSS 图标,支持 Vue / React 等所有的前端框架
- 按需引用:支持
@iconify-json
导出方式,配合@unocss/preset-icons
插件, 实现按需引用 - 图标美观/丰富:300+ 基础单色图标,精致美观,风格统一,大小&颜色随心变,可满足大部分日常开发需要
- 支持多色图标:支持 330+ 的多色图标,覆盖常见的空数据、请求状态、应用权限等场景
- 适用场景多:支持组件库的开发,日常应用开发
欢迎有需要的朋友使用!
使用方式也非常简单,我们以一个普通的 vite 工程 为例,执行以下命令安装@opentiny/icons
图标库。
npm install @opentiny/icons
在 style.css 中加入以下内容,就可以放心使用图标库了
@import "@opentiny/icons/style/all.css";
图标库可以通过 CSS 去完全控制样式,其中单色图标支持通过字体大小和颜色去自定义样式,而彩色图标仅支持自定义大小。
<i class="ci-home" style="font-size:14px; color:#000;"></i> <i class="ci-email" style="font-size:16px; color:#d32222;"></i> <i class="ci-news" style="font-size:18x; color:#4822d3;"></i> <i class="ci-date" style="font-size:20px; color:#40d322;"></i> <hr /> <i class="ci-svc-ecs" style="font-size:72px;"></i> <i class="ci-svc-obs" style="font-size:72px;"></i> <i class="ci-svc-cbr" style="font-size:72px;"></i> <i class="ci-svc-live" style="font-size:72px;"></i> <hr />
效果如下:
更多使用方式,请参考文档:https://opentiny.github.io/icons/
3 更丰富的 TypeScript 类型声明
TinyVue 组件库很早就支持 TypeScript 类型提示,不过有些函数式组件(比如 Modal、Loading 等)的 TypeScript 支持不是特别友好,本次版本完善了这部分组件的 TypeScript 类型声明,给 Modal、Notify、Loading、Message 等函数式组件增加了 TypeScript 类型声明。
使用效果如下:
4 支持 XSS 配置
为了尽可能防止 XSS 攻击,TinyVue 内置的 XSS 过滤规则比较严格,会对所有包含 XSS 风险的代码片段进行过滤处理。若开发者需要放开部分规则(比如富文本场景下放开 img 标签的 src 属性)的需求场景,可以手动配置 xss 白名单。
使用 @opentiny/utils
中的 setXssOption
方法传入自定义的 xss 白名单,示例:
import { xss } from'@opentiny/utils' const options = { enableAttrs: true, enableHtml: true, enableUrl: true, html: { whiteList: { a: ['class', 'style', 'contenteditable', 'data-id', 'data-title', 'data-size', 'href', 'data-last-modified'], img: ['class', 'style', 'src'] } } } xss.setXssOption(options)
同时欢迎大家一起参与OpenTiny开源共建:朋友你好,一起加入OpenTiny社区吧~
关于OpenTiny
欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~
OpenTiny 官网:https://opentiny.design
OpenTiny 代码仓库:https://github.com/opentiny
TinyVue 源码:https://github.com/opentiny/tiny-vue
TinyEngine 源码:https://github.com/opentiny/tiny-engine
欢迎进入代码仓库 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~ 如果你也想要共建,可以进入代码仓库,找到 good first issue标签,一起参与开源贡献~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开发认为测试不及时,测试吐槽工作量太大?
大家好,我是陈哥。 前几天,我收到一位读者的留言:“最近公司一直有测试反映工作量太大了,后来调研发现测试往往要负责多个项目。我们想搞搞调整一下测试与开发的配置比,又不知道多少才是合理的。” 测试与开发配置比的问题,一直都是个热门话题。不同行业、不同项目类型以及不同的开发模式,都会对这一比例产生影响。 我在互联网行业写了十几年代码,又做了十几年技术高管,想结合过去的经验,通过分享“三维度配置模型”方法来谈谈测试开发配置比的问题。 一、行业现状解析:测试过劳 据《2024 IT行业项目管理调查报告》显示:半数以上的受访者所在的团队中,测试人员与开发人员的配置在1:10-1:20之间,也就是1位测试工程师需承担10-20位工程师的测试任务。 不难看出,测试人员常常在一个配置失衡的团队中,处于“过劳”的状态。长此以往,这种失衡配置可能会导致质量风险的出现。举个例子,某头部电商平台在“双十一”大促期间,测试团队被迫将回归测试覆盖率从85%压缩至62%,直接导致上线后出现支付链路异常等严重故障,造成单日超千万的经济损失。 当前IT行业测试与开发人员的配置比例长期处于失衡状态,尤其是在需求频繁变更和...
- 下一篇
使用 gt-checksum 分析迁移对象
使用 gt-checksum 分析迁移对象 背景 本文以从 ORACLE 迁移到 GreatSQL 为例讲述如何使用gt-checksum分析迁移对象。 关于gt-checksum gt-checksum 是 GreatSQL 社区开源的一款静态数据库校验修复工具,支持MySQL、Oracle等主流数据库。如下是一个简单的分析迁移对象的使用案例。 本次使用的是 gt-checksum 商业版本 为什么需要分析迁移对象? 首先我们通过一个项目案例来说明一下去O过程中为什么需要分析迁移对象。 项目背景 当前有个去O项目,总共3000张业务表 ,总数据量大概在3T左右,业务方要求在3小时内迁移完成。 思考 这时,我们就要思考,如何能在规定时间内完成迁移?影响迁移效率的因素有哪些? 索引的选择性 业务表有没有索引;是主键索引还是普通索引;是全局索引还是本地索引;若存在索引,索引的离散度如何。 元数据合理性 业务表中有没有lob或者text字段,若存在,总共有多少个lob或text字段;业务表是否是分区表,表的分区类型是什么以及总共有多少个分区。 表的数据量 每张表各有多少数据量,百万级、千万级...
相关文章
文章评论
共有0条评论来说两句吧...