Skip to content

介绍 ​

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 协议,可免费用于任何合法项目。

建议阅读顺序 ​

  1. 从安装与快速上手完成接入并渲染首个组件。
  2. 在运行环境确认平台和业务依赖。
  3. 通过全局配置总览了解主题、语言、HTTP 和全局工具。
  4. CMS 项目继续阅读CMS 快速接入和装修编辑器数据对接。
  5. 品牌定制查看多主题与暗黑模式和自定义样式。

为 uni-app 商城与 CMS 场景设计