Skip to content

shukelab 组件总览 ​

shukelab 是一套 uni-app + Vue 3 + TypeScript 的跨端组件集,以 uni_modules 目录形式分发:把插件目录放进工程即被 easycom 自动识别,不发布 npm、无需 import、无需注册。目标端为 H5 与微信小程序,端差异用条件编译隔离。

与 sh-design 的区别

本站还有另一条产品线 sh-design:那是发布到 npm 的 Vue 3 Web 组件库,用 app.use() 或按需 import 使用。shukelab 面向 uni-app 工程,两者安装方式与运行环境都不通用,别把 npm i 的思路带过来。

组件目录 ​

组件说明版本插件市场文档
sk-linkage-menu左右联动菜单:分组吸顶标题、受控选中、异步加载后自动重测、分组级虚拟渲染1.0.6id=22894sk-linkage-menu
sk-tab-bar组件形式凹陷弧形 tabBar:角标/红点、beforeChange 守卫、autoRoute 路由联动 + useTabBar1.0.6id=24578sk-tab-bar
sk-cameraH5 拍照相机:getUserMedia 前后置切换 / 固定区域裁剪 / 人脸取景引导,不可预览环境自动降级系统拍照1.1.0待发布插件 readme
sk-flux-capsuleWebGL 域扭曲 FBM 流体色彩胶囊:1~6 色调色板、按压/搅动交互、视口懒激活1.1.0待发布插件 readme
sk-swipe-feed频道页三件套:整页横滑 sk-swipe-page + 滚动标签栏 sk-scroll-tabs + 滚动列表 sk-scroll-list,附 usePagedList 分页状态机1.0.0待发布插件 readme

版本号取自各插件目录下的 package.json。「待发布」表示源码已在仓库内、DCloud 插件市场尚未上架——功能与市场版一致,按快速上手里的手动复制方式引入即可。

sk-swipe-feed 是一个插件目录内打包的三个组件加一个组合式函数,导入时以整个插件为单位,三个组件之间零运行时耦合,可单独使用,也可拼成频道页。

平台兼容性 ​

组件H5微信小程序App
sk-linkage-menu✅✅—
sk-tab-bar✅✅—
sk-camera✅✅(原生 <camera>)—
sk-flux-capsule✅✅—
sk-swipe-feed✅✅—

✅ 已验证 · — 未纳入验证范围

App 端目前不作为支持目标。sk-camera 在小程序 / App 会降级为原生 <camera>,对外 props 与事件保持一致;H5 端 getUserMedia 要求安全上下文(https:// 或 localhost),不满足时自动走「微信 JSSDK → <input capture>」兜底拍照链路。

在线演示 ​

两个已上站的组件页里,手机壳 iframe 加载的是 shukelab 的 H5 真实构建(非截图),可直接交互。演示页即下表中的 pages.json 路由,hash 模式下可拼成完整地址打开:

https://ktboy.github.io/shukelab/#/pages/tabBarDemo/badge
组件H5 演示页(shukelab src/pages.json 注册路径)
sk-linkage-menupages/virtualMenuGanged/* — basic / style / sticky / control / loadmore / with-tabbar
sk-tab-barpages/tabBarDemo/* — index / corner / badge / control / route-a / route-b / filter
sk-camerapages/skCameraDemo/* — basic / switch / control / crop / face
sk-flux-capsulepages/skFluxCapsuleDemo/* — basic / props / themes / events
sk-swipe-feedpages/skSwipeFeedDemo/* — index / combo-custom-icon / swipe-page / scroll-tabs / scroll-list / refresher / custom-indicator / paged-list

下一步 ​

Released under the MIT License.