介绍
Snake UI 是面向 uni-app Vue 3 的移动商城与 CMS 组件库。它既提供按钮、弹层、表单等基础组件,也提供商品、优惠券、装修页面渲染等业务组件。
Snake UI 的由来
移动商城项目长期面临同一个问题:基础组件能通用,商品、优惠券、页面装修却总是各项目重复造一遍。Snake UI 把这条线拆成两层——基础 UI 组件开箱即用,业务组件通过注入的服务与宿主项目对接,从而在不绑定后端的前提下复用整条商城组件链路。
如果你只需要基础组件,安装插件、引入样式并配置 easycom 即可;只有使用 CMS 业务能力时,才需要注入请求、缓存或业务服务。
框架优势
- 🚀 Vue 3 原生:基于
<script setup lang="ts">编写,组件类型随包发布,IDE 补全与校验开箱即用。 - 🖥️ 多端运行:H5、微信小程序、支付宝小程序、App 同一套代码构建,通过 uni-app 内置组件与条件编译屏蔽平台差异。
- 🛒 商城与 CMS 组件:商品列表、优惠券、筛选、装修渲染等业务组件内置,不绑定具体后端。
- 🎨 主题系统:品牌色七档令牌 + 语义色 + 中性色,CSS 变量驱动,多主题与暗黑模式一键切换。
- 🌍 国际化:内置
zh-CN与en-US,响应式切换、持久化语言偏好、深度合并与回退。 - 🔌 虚拟根组件:
Root插件全局注入主题、提示与弹窗,无需逐页添加组件。 - 🌙 暗黑模式:
light/dark/auto三种策略,跟随系统主题并持久化选择。 - 📦 按需使用:工具与组合式函数走
libs子路径按需导入,自动 tree-shaking。
适合什么项目
- 使用 uni-app Vue 3 开发 H5、小程序或 App。
- 需要统一的商城基础组件、主题和国际化能力。
- 后端保存页面装修 JSON,客户端需要按配置渲染页面。
- 正在替换旧组件库,希望按页面逐步接入。
Snake UI 不是普通 Vue Web 组件库,也不负责提供后台装修编辑器、商品接口或外链承载页。这些能力由宿主项目或 SankeEditor 提供。
核心能力
| 能力 | 说明 |
|---|---|
| 基础组件 | 按钮、图标、图片、弹层、表单、轮播、索引列表等 |
| 商城组件 | 商品列表、优惠券、筛选、活动、营销展示等 |
| CMS 渲染 | 根据 pageComponents 分发组件,支持别名、数据规范化和扩展插槽 |
| 全局底座 | 主题、暗色模式、国际化、HTTP、路由和常用工具 |
| 多端运行 | 基于 uni-app 内置组件与 API,具体能力受目标平台限制 |
使用边界
兼容范围
Snake UI 要求 Vue 3 和 uni-app 运行时。仓库中的目标平台均可编译,但每个端的完整兼容程度仍应以业务项目实测为准。
- 基础组件无第三方组件库依赖,也不需要 CMS 适配器。
- 商品、优惠券和外链等业务行为需要宿主提供对应服务。
datas表描述组件实际读取的配置字段,不等同于后端完整响应协议。- 兼容接口以具体组件文档为准,未声明的历史属性不属于兼容承诺。
开源信息
Snake UI 遵循 MIT 协议,可免费用于任何合法项目。