AI + 工作流驱动的跨平台 UniApp 低代码平台
一款AI + 工作流驱动的跨平台低代码,拖拽式搭建,一套设计多端输出,让开发效率直接起飞!
猫拽低代码是一款基于 Vue3 + TypeScript + Vite 构建的跨平台低代码平台,集成了可视化设计器、工作流引擎、AI 智能辅助三大核心能力,让你通过拖拽就能快速搭建小程序、H5 和 APP 应用。
1. 可视化设计器
猫拽的设计器是一个功能完备的可视化拖拽编辑器,核心亮点:
- 拖拽式画布:从物料面板拖入组件,实时预览效果,选中、多选、对齐一气呵成
- iframe 沙箱渲染:画布在独立沙箱中运行,组件渲染环境与设计器互不干扰,保证预览效果真实可靠
- 插槽选择器:拖入容器组件时自动弹出插槽选择,精准控制子组件渲染位置
2. 工作流引擎
通过图形化节点连线,实现复杂业务逻辑:
- 10+ 内置节点:条件分支、循环体、跳出循环、云函数、HTTP 请求、物料事件……覆盖绝大多数业务场景
- 动态端口:条件分支和物料事件节点的端口数量不固定,根据配置自动生成,灵活应对多分支逻辑
- 异常处理:云函数和 HTTP 请求节点支持三种异常策略——中断执行、返回默认值、走异常分支,保障业务健壮性
- MCP 辅助:工作流画布同样支持 AI 辅助编辑,AI 帮你添加节点、连线、配置属性
3. 插件化架构
猫拽采用全插件化架构,所有设计器功能均以插件形式注册,当前内置 30+ 插件:
| 类别 | 插件 | 能力 |
|---|---|---|
| 配置编辑 | props、styles、tree、variable、datasource、script | 属性编辑、样式可视化、大纲树导航、变量管理、数据源配置、云函数编辑 |
| 物料资源 | materials、resource | 物料组件面板、图片/视频/音频/图标资源管理 |
| 结构编辑 | ast-schema、ast-workflow | 页面 DSL 直接编辑、工作流 Schema 直接编辑 |
| AI 能力 | robot | AI 智能助手,自然语言生成页面 |
4. 丰富物料库
内置组件库物料,覆盖 PC 端和移动端全场景:
- UniApp —— 原生小程序组件
- UniUI —— UniApp 扩展 UI 组件库
每个组件都有完整的元信息定义(属性、事件、插槽、默认值),拖入画布即可使用,属性面板自动生成配置表单。同时支持自定义物料扩展,满足个性化需求。
5. AI 智能辅助
猫拽集成了 AiMcp 智能辅助能力,支持通过自然语言描述需求生成页面。设计器画布和工作流画布均提供 MCP(Model Context Protocol)操作接口,AI 可以帮你:
- 添加/删除/修改物料节点
- 修改节点属性和样式
- Vue SFC 源码转 DSL
- 添加/删除工作流节点和连线
- 获取页面 Schema 和组件列表
6. 全端适配
一套设计同步输出:
- 小程序(微信小程序等 UniApp 跨端环境)
- H5(移动端网页)
- APP(通过 HBuilderX 云打包)
跨端渲染器(catpull-uni)包含自定义表达式解析器(兼容小程序沙箱限制)、节点处理器、上下文管理器,确保设计器产出的 DSL 在各端表现一致。
技术架构
猫拽采用 前端 pnpm Monorepo + 后端 Node.js 服务 架构,技术栈成熟可靠:
| 模块 | 技术栈 | 说明 |
|---|---|---|
| 设计器(catpull-designer) | Vue3 + Vite | 可视化拖拽编辑器主入口 |
| 跨端渲染器(catpull-uni) | UniApp + Vue3 | DSL 跨端运行时渲染 |
| 主服务器 | Express + Sequelize + TypeScript | API 接口、用户认证、项目管理 |
| 云函数服务 | Express + vm2 | 沙箱环境执行用户自定义代码 |
画布沙箱运行时:设计器画布在 iframe 中独立运行,加载 Vue、UniApp 等预构建运行时依赖,通过 postMessage 与主窗口通信,确保渲染环境隔离且真实。
开放能力
提供完整的公有云开放 API,支持第三方平台集成:
- AppKey 认证:通过
app_id+app_key密钥认证,安全可靠 - 项目管理:创建、删除、还原等
- 设计器接入:获取带 JWT 签名的设计器访问地址,直接嵌入你的平台
- 存储空间:查询 COS 存储使用情况
只需几行代码,就能把猫拽的可视化搭建能力嵌入到你的产品中!
为什么选择猫拽?
| 对比维度 | 传统开发 | 猫拽低代码 |
|---|---|---|
| 开发方式 | 手写代码 | 拖拽搭建 + 可视化配置 |
| 多端适配 | 每个端单独开发 | 一套设计多端输出 |
| 业务逻辑 | 编写复杂代码 | 工作流图形化编排 |
| 样式调整 | 改代码刷新看效果 | 可视化调整实时预览 |
| AI 辅助 | 无 | 自然语言生成页面 |
| 上手门槛 | 需要专业前端技能 | 拖拽即可,低门槛高上限 |
立即体验
官网:猫拽低代码平台
一款AI + 工作流驱动的跨平台低代码,拖拽式搭建,一套设计多端输出,让开发效率直接起飞!
猫拽低代码是一款基于 Vue3 + TypeScript + Vite 构建的跨平台低代码平台,集成了可视化设计器、工作流引擎、AI 智能辅助三大核心能力,让你通过拖拽就能快速搭建小程序、H5 和 APP 应用。
1. 可视化设计器
猫拽的设计器是一个功能完备的可视化拖拽编辑器,核心亮点:
- 拖拽式画布:从物料面板拖入组件,实时预览效果,选中、多选、对齐一气呵成
- iframe 沙箱渲染:画布在独立沙箱中运行,组件渲染环境与设计器互不干扰,保证预览效果真实可靠
- 插槽选择器:拖入容器组件时自动弹出插槽选择,精准控制子组件渲染位置
2. 工作流引擎
通过图形化节点连线,实现复杂业务逻辑:
- 10+ 内置节点:条件分支、循环体、跳出循环、云函数、HTTP 请求、物料事件……覆盖绝大多数业务场景
- 动态端口:条件分支和物料事件节点的端口数量不固定,根据配置自动生成,灵活应对多分支逻辑
- 异常处理:云函数和 HTTP 请求节点支持三种异常策略——中断执行、返回默认值、走异常分支,保障业务健壮性
- MCP 辅助:工作流画布同样支持 AI 辅助编辑,AI 帮你添加节点、连线、配置属性
3. 插件化架构
猫拽采用全插件化架构,所有设计器功能均以插件形式注册,当前内置 30+ 插件:
| 类别 | 插件 | 能力 |
|---|---|---|
| 配置编辑 | props、styles、tree、variable、datasource、script | 属性编辑、样式可视化、大纲树导航、变量管理、数据源配置、云函数编辑 |
| 物料资源 | materials、resource | 物料组件面板、图片/视频/音频/图标资源管理 |
| 结构编辑 | ast-schema、ast-workflow | 页面 DSL 直接编辑、工作流 Schema 直接编辑 |
| AI 能力 | robot | AI 智能助手,自然语言生成页面 |
4. 丰富物料库
内置组件库物料,覆盖 PC 端和移动端全场景:
- UniApp —— 原生小程序组件
- UniUI —— UniApp 扩展 UI 组件库
每个组件都有完整的元信息定义(属性、事件、插槽、默认值),拖入画布即可使用,属性面板自动生成配置表单。同时支持自定义物料扩展,满足个性化需求。
5. AI 智能辅助
猫拽集成了 AiMcp 智能辅助能力,支持通过自然语言描述需求生成页面。设计器画布和工作流画布均提供 MCP(Model Context Protocol)操作接口,AI 可以帮你:
- 添加/删除/修改物料节点
- 修改节点属性和样式
- Vue SFC 源码转 DSL
- 添加/删除工作流节点和连线
- 获取页面 Schema 和组件列表
6. 全端适配
一套设计同步输出:
- 小程序(微信小程序等 UniApp 跨端环境)
- H5(移动端网页)
- APP(通过 HBuilderX 云打包)
跨端渲染器(catpull-uni)包含自定义表达式解析器(兼容小程序沙箱限制)、节点处理器、上下文管理器,确保设计器产出的 DSL 在各端表现一致。
技术架构
猫拽采用 前端 pnpm Monorepo + 后端 Node.js 服务 架构,技术栈成熟可靠:
| 模块 | 技术栈 | 说明 |
|---|---|---|
| 设计器(catpull-designer) | Vue3 + Vite | 可视化拖拽编辑器主入口 |
| 跨端渲染器(catpull-uni) | UniApp + Vue3 | DSL 跨端运行时渲染 |
| 主服务器 | Express + Sequelize + TypeScript | API 接口、用户认证、项目管理 |
| 云函数服务 | Express + vm2 | 沙箱环境执行用户自定义代码 |
画布沙箱运行时:设计器画布在 iframe 中独立运行,加载 Vue、UniApp 等预构建运行时依赖,通过 postMessage 与主窗口通信,确保渲染环境隔离且真实。
开放能力
提供完整的公有云开放 API,支持第三方平台集成:
- AppKey 认证:通过
app_id+app_key密钥认证,安全可靠 - 项目管理:创建、删除、还原等
- 设计器接入:获取带 JWT 签名的设计器访问地址,直接嵌入你的平台
- 存储空间:查询 COS 存储使用情况
只需几行代码,就能把猫拽的可视化搭建能力嵌入到你的产品中!
为什么选择猫拽?
| 对比维度 | 传统开发 | 猫拽低代码 |
|---|---|---|
| 开发方式 | 手写代码 | 拖拽搭建 + 可视化配置 |
| 多端适配 | 每个端单独开发 | 一套设计多端输出 |
| 业务逻辑 | 编写复杂代码 | 工作流图形化编排 |
| 样式调整 | 改代码刷新看效果 | 可视化调整实时预览 |
| AI 辅助 | 无 | 自然语言生成页面 |
| 上手门槛 | 需要专业前端技能 | 拖拽即可,低门槛高上限 |
立即体验
官网:猫拽低代码平台
收起阅读 »开发一套婚恋交友小程序需要多少钱?不如直接用开源源码!
很多创业者想切入婚恋市场,却被小程序开发费用劝退。自主开发需组建专业团队,成本高达20-50万,外包定制也需10-30万,模板开发虽便宜却功能固定,缺乏竞争力,后期维护还需额外投入成本。
其实,性价比最高的选择的是直接使用开源婚恋小程序源码。优质开源源码多采用Uniapp、SpringBoot等主流技术栈,支持多端适配,包含用户认证、智能匹配、IM聊天等核心功能,无需从零开发,大幅降低成本。
开源源码价格通常在1-10万,部分可免费用于学习,且代码透明可二次开发,能根据需求拓展红娘系统、视频相亲等功能,适配同城、银发等垂直场景。同时,开源项目多提供部署指导,省去技术搭建的麻烦,新手也能快速上线。
需注意选择版权合规的开源源码,避免侵权风险。相较于高额开发费用,开源源码既能节省成本、缩短上线周期,又能保留定制灵活性,无疑是婚恋创业的最优解。
很多创业者想切入婚恋市场,却被小程序开发费用劝退。自主开发需组建专业团队,成本高达20-50万,外包定制也需10-30万,模板开发虽便宜却功能固定,缺乏竞争力,后期维护还需额外投入成本。
其实,性价比最高的选择的是直接使用开源婚恋小程序源码。优质开源源码多采用Uniapp、SpringBoot等主流技术栈,支持多端适配,包含用户认证、智能匹配、IM聊天等核心功能,无需从零开发,大幅降低成本。
开源源码价格通常在1-10万,部分可免费用于学习,且代码透明可二次开发,能根据需求拓展红娘系统、视频相亲等功能,适配同城、银发等垂直场景。同时,开源项目多提供部署指导,省去技术搭建的麻烦,新手也能快速上线。
需注意选择版权合规的开源源码,避免侵权风险。相较于高额开发费用,开源源码既能节省成本、缩短上线周期,又能保留定制灵活性,无疑是婚恋创业的最优解。
收起阅读 »uniapp人脸识别UTS API插件制作
人脸识别UTS API插件简介
1:1人脸识别,活体检测UTS API插件,支持iOS,Android,支持uniappX和uniapp(vue2&vue3)。
所有功能都是设备端侧AI能力可开飞行模式体验无需网络,无需后台API服务可完全离线运行,高性能无依赖
插件部分的代码: https://github.com/FaceAISDK/FaceAISDK_uniapp_UTS
一般制作插件需求具备uniapp,Android iOS 3种交叉知识储备,否则调试会非常的痛苦,验证效果自定义基座也很难受
当然你可以借助AI辅助编程工具能省事不少
快速体验完整人脸识别功能可以下载Android演示App:
<div align=center>
<img src="https://www.pgyer.com/app/qrcode/faceVerify" width = 15% alt="扫一扫下载Demo"/>
</div>
使用方法
如果你是第一次运行UTS插件工程/引入UTS API插件,你应先安装官方说明配置好基础环境 基础环境
开发调试阶段请开启调试模式,Android-manifest.json distribute配置 "debuggable" : true,
1. 下载最新Demo工程先跑通;熟悉半天后参考文档集成到主项目
2. 运行 -》 运行到手机或模拟器 -》制作自定义调试基座 -》打包 (期间不要修改原生代码)
.
3. 运行 -》运行到iOS/Android基座 -》使用自定义基座运行 -》本地基座 -》运行
.
4. 把插件引入到你的主项目(即 import {faceVerify,**等方法} from "@/uni_modules/FaceAISDK-Core";)
一定一定要先制作自定义调试基准,然后运行的时候使用自定义基准-本地基座,请看图片步骤引导说明
常见错误与解决方法
1.iOS 基座安装到手机后很久都是白屏/黑屏
控制台输出
项目 [FaceAI_API_Plugin] 已启动。请点击手机/模拟器的运行基座App(uni-app x)查看效果。
如应用未更新,请在手机上杀掉基座进程重启
老旧手机根据提示确保杀死基座进程,稍后重启App就可以了
2.炫彩活体提示光线太亮导致失败
这个基本上只能规避强光环境了,或引导用户用手遮住强烈光线,让手机彩色光能照到脸部
室外强光环境建议使用动作活体+静默活体检测
3.改动原生swift/kotlin 代码导致基座不能正常运行
只能重新制作自定义调试基座,UTS API插件使用方如果不需要修改插件底层实现尽量不用改原生代码
人脸识别,活体检测状态码
人脸识别,活体检测状态码含义
let DEFAULT = 0 // 0 初始化状态,流程没有开始
let VERIFY_SUCCESS = 1 // 1 人脸识别对比成功大于设置的threshold
let VERIFY_FAILED = 2 // 2 人脸识别对比识别小于设置的threshold
let MOTION_LIVENESS_SUCCESS = 3 // 3 动作活体检测成功(基本不用,还有后续动作)
let MOTION_LIVENESS_TIMEOUT = 4 // 4 动作活体超时
let NO_FACE_MULTI = 5 // 5 多次没有检测到人脸
let NO_FACE_FEATURE = 6 // 6 没有对应的人脸特征值
let COLOR_LIVENESS_SUCCESS = 7 // 7 炫彩活体成功
let COLOR_LIVENESS_FAILED = 8 // 8 炫彩活体失败
let COLOR_LIVENESS_LIGHT_TOO_HIGH = 9 // 9 炫彩活体失败,光线亮度过高
let ALL_LIVENESS_SUCCESS = 10 // 10 所有的活体检测完成(包括动作和炫彩)
let SILENT_LIVENESS_FAILED = 11 // 11 静默活体检测失败
人脸识别 目前插件部分的代码是开放修改的,底层SDK不开放。 欢迎提issues反馈问题
🌍: https://faceaisdk.github.io/index
📮:FaceAISDK.Service@gmail.com
人脸识别UTS API插件简介
1:1人脸识别,活体检测UTS API插件,支持iOS,Android,支持uniappX和uniapp(vue2&vue3)。
所有功能都是设备端侧AI能力可开飞行模式体验无需网络,无需后台API服务可完全离线运行,高性能无依赖
插件部分的代码: https://github.com/FaceAISDK/FaceAISDK_uniapp_UTS
一般制作插件需求具备uniapp,Android iOS 3种交叉知识储备,否则调试会非常的痛苦,验证效果自定义基座也很难受
当然你可以借助AI辅助编程工具能省事不少
快速体验完整人脸识别功能可以下载Android演示App:
<div align=center>
<img src="https://www.pgyer.com/app/qrcode/faceVerify" width = 15% alt="扫一扫下载Demo"/>
</div>
使用方法
如果你是第一次运行UTS插件工程/引入UTS API插件,你应先安装官方说明配置好基础环境 基础环境
开发调试阶段请开启调试模式,Android-manifest.json distribute配置 "debuggable" : true,
1. 下载最新Demo工程先跑通;熟悉半天后参考文档集成到主项目
2. 运行 -》 运行到手机或模拟器 -》制作自定义调试基座 -》打包 (期间不要修改原生代码)
.
3. 运行 -》运行到iOS/Android基座 -》使用自定义基座运行 -》本地基座 -》运行
.
4. 把插件引入到你的主项目(即 import {faceVerify,**等方法} from "@/uni_modules/FaceAISDK-Core";)
一定一定要先制作自定义调试基准,然后运行的时候使用自定义基准-本地基座,请看图片步骤引导说明
常见错误与解决方法
1.iOS 基座安装到手机后很久都是白屏/黑屏
控制台输出
项目 [FaceAI_API_Plugin] 已启动。请点击手机/模拟器的运行基座App(uni-app x)查看效果。
如应用未更新,请在手机上杀掉基座进程重启
老旧手机根据提示确保杀死基座进程,稍后重启App就可以了
2.炫彩活体提示光线太亮导致失败
这个基本上只能规避强光环境了,或引导用户用手遮住强烈光线,让手机彩色光能照到脸部
室外强光环境建议使用动作活体+静默活体检测
3.改动原生swift/kotlin 代码导致基座不能正常运行
只能重新制作自定义调试基座,UTS API插件使用方如果不需要修改插件底层实现尽量不用改原生代码
人脸识别,活体检测状态码
人脸识别,活体检测状态码含义
let DEFAULT = 0 // 0 初始化状态,流程没有开始
let VERIFY_SUCCESS = 1 // 1 人脸识别对比成功大于设置的threshold
let VERIFY_FAILED = 2 // 2 人脸识别对比识别小于设置的threshold
let MOTION_LIVENESS_SUCCESS = 3 // 3 动作活体检测成功(基本不用,还有后续动作)
let MOTION_LIVENESS_TIMEOUT = 4 // 4 动作活体超时
let NO_FACE_MULTI = 5 // 5 多次没有检测到人脸
let NO_FACE_FEATURE = 6 // 6 没有对应的人脸特征值
let COLOR_LIVENESS_SUCCESS = 7 // 7 炫彩活体成功
let COLOR_LIVENESS_FAILED = 8 // 8 炫彩活体失败
let COLOR_LIVENESS_LIGHT_TOO_HIGH = 9 // 9 炫彩活体失败,光线亮度过高
let ALL_LIVENESS_SUCCESS = 10 // 10 所有的活体检测完成(包括动作和炫彩)
let SILENT_LIVENESS_FAILED = 11 // 11 静默活体检测失败
人脸识别 目前插件部分的代码是开放修改的,底层SDK不开放。 欢迎提issues反馈问题
🌍: https://faceaisdk.github.io/index
📮:FaceAISDK.Service@gmail.com
【2026全民国家安全教育日】筑牢网络安全防线,DCloud 开发者在行动!
各位 DCloud 社区的开发者小伙伴们,大家好!👋
今天(4月15日)是第十一个全民国家安全教育日。提到“国家安全”,很多人的第一反应可能是军事防御、防谍保密等宏观层面的内容。但实际上,在数字化、智能化的今天,网络安全和数据安全已经成为国家安全体系中至关重要的一环!
作为在这个时代浪潮中冲浪的开发者,我们敲下的每一行代码、设计的每一个业务逻辑,其实都与“安全”息息相关。
🛡️ 开发者与国家安全的距离有多近?
在日常的 uni-app 开发、前端构建或后端接口对接中,我们不仅是产品的创造者,更是用户数据和网络安全的“守门员”:
- 数据安全与隐私保护:我们的 App/小程序是否合规收集用户数据?是否在本地存储了未加密的敏感信息?防范数据泄露,不仅是保护用户,更是维护国家数据安全底线。
- 抵御网络攻击:无论是 XSS、CSRF,还是各类接口越权访问,不规范的代码随时可能成为黑客攻击系统的突破口。
- 开源组件的安全:引入第三方插件或 SDK 时,是否关注过其安全性?供应链安全目前也是网络安全防范的重中之重。
💡 我们能做些什么?
在2026年的今天,网络空间已成为大国博弈的“第五空间”。为了响应全民国家安全教育日的号召,我们在此向社区的每一位开发者发出倡议:
- 增强安全意识:主动学习《网络安全法》、《数据安全法》、《个人信息保护法》等相关法律法规,让“合规”成为开发的第一原则。
- 践行安全开发(DevSecOps):在需求设计、代码编写、测试发布的每一个环节,都把安全因素考虑进去。拒绝“先上线再修补”的侥幸心理。
- 保护用户隐私:严格落实 App 隐私合规要求,遵循“最小必要”原则获取用户权限,妥善加密敏感数据。
💬 社区互动:你的项目是如何做安全防护的?
国家安全,人人有责;网络安全,代码为基。
欢迎大家在评论区分享:在日常的开发中,你遇到过哪些安全大坑?或者你在项目中使用了哪些好用的安全防护手段/插件?
让我们一起交流学习,共同构建更安全、更可靠的应用生态!👇
【活动说明】
本文为响应2026年第十一个全民国家安全教育日主题宣传活动所发。维护网络空间清朗,需要你我共同参与!
各位 DCloud 社区的开发者小伙伴们,大家好!👋
今天(4月15日)是第十一个全民国家安全教育日。提到“国家安全”,很多人的第一反应可能是军事防御、防谍保密等宏观层面的内容。但实际上,在数字化、智能化的今天,网络安全和数据安全已经成为国家安全体系中至关重要的一环!
作为在这个时代浪潮中冲浪的开发者,我们敲下的每一行代码、设计的每一个业务逻辑,其实都与“安全”息息相关。
🛡️ 开发者与国家安全的距离有多近?
在日常的 uni-app 开发、前端构建或后端接口对接中,我们不仅是产品的创造者,更是用户数据和网络安全的“守门员”:
- 数据安全与隐私保护:我们的 App/小程序是否合规收集用户数据?是否在本地存储了未加密的敏感信息?防范数据泄露,不仅是保护用户,更是维护国家数据安全底线。
- 抵御网络攻击:无论是 XSS、CSRF,还是各类接口越权访问,不规范的代码随时可能成为黑客攻击系统的突破口。
- 开源组件的安全:引入第三方插件或 SDK 时,是否关注过其安全性?供应链安全目前也是网络安全防范的重中之重。
💡 我们能做些什么?
在2026年的今天,网络空间已成为大国博弈的“第五空间”。为了响应全民国家安全教育日的号召,我们在此向社区的每一位开发者发出倡议:
- 增强安全意识:主动学习《网络安全法》、《数据安全法》、《个人信息保护法》等相关法律法规,让“合规”成为开发的第一原则。
- 践行安全开发(DevSecOps):在需求设计、代码编写、测试发布的每一个环节,都把安全因素考虑进去。拒绝“先上线再修补”的侥幸心理。
- 保护用户隐私:严格落实 App 隐私合规要求,遵循“最小必要”原则获取用户权限,妥善加密敏感数据。
💬 社区互动:你的项目是如何做安全防护的?
国家安全,人人有责;网络安全,代码为基。
欢迎大家在评论区分享:在日常的开发中,你遇到过哪些安全大坑?或者你在项目中使用了哪些好用的安全防护手段/插件?
让我们一起交流学习,共同构建更安全、更可靠的应用生态!👇
收起阅读 »【活动说明】
本文为响应2026年第十一个全民国家安全教育日主题宣传活动所发。维护网络空间清朗,需要你我共同参与!
小程序包体积分析利器 -- vite-plugin-component-insight
背景
微信小程序支持分包异步化 跨分包自定义组件引用,但是,很多业务项目往往都比较复杂,组件使用情况也不容易看清,开发中很容易遇到这些问题:
- 无法快速获悉某个组件到底被哪些页面使用
- 不清楚一个组件在项目里出现了多少次
- 做分包优化时,不知道组件放在主包还是分包更合适
于是,我写了一个插件 vite-plugin-component-insight 来简化这一过程。
特性
- 开箱即用,配置简单
- 统计组件的使用次数和调用情况
- 结合主包和分包关系输出组件划分建议
- 支持生成 markdown 报告,方便查看更加详细的信息
- 支持 hx 项目和 cli 项目
- 支持 uni-app 和 uni-app-x (vue3)
使用指南
安装
npm install @uni_toolkit/vite-plugin-component-insight -D
# 或
pnpm add @uni_toolkit/vite-plugin-component-insight -D
# 或
yarn add @uni_toolkit/vite-plugin-component-insight -D
配置插件
在 vite.config.js 中使用:
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import componentInsight from '@uni_toolkit/vite-plugin-component-insight';
export default defineConfig({
plugins: [
uni(),
componentInsight(), // 在 uni 之后调用
],
});
Tips
插件默认不会生成文件,而是在控制台直接输出分析结果。效果参考附件1
如果需要生成 markdown 报告,可以这样配置:
componentInsight({
reportMarkdownPath: 'logs/component-insight-report.md',
})
如果只想生成 markdown,不输出控制台日志,可以这样配置:
componentInsight({
logToConsole: false,
reportMarkdownPath: 'logs/component-insight-report.md',
})
完整配置项
interface VitePluginComponentInsightOptions {
reportMarkdownPath?: string;
logToConsole?: boolean;
exclude?: ReadonlyArray<string | RegExp> | string | RegExp | null;
include?: ReadonlyArray<string | RegExp> | string | RegExp | null;
}
| 选项 | 说明 |
|---|---|
| reportMarkdownPath | 自定义 Markdown 报告输出路径,不传则不生成 Markdown |
| logToConsole | 是否输出控制台日志,默认开启 |
| exclude | 指定过滤的文件,默认过滤 node_modules 和 uni_modules |
| include | 指定包含的文件,默认为空 |
交流群
如果你有其他 uniapp 或者 uniappx 的问题想要咨询,可以扫描附件中的微信二维码进群
背景
微信小程序支持分包异步化 跨分包自定义组件引用,但是,很多业务项目往往都比较复杂,组件使用情况也不容易看清,开发中很容易遇到这些问题:
- 无法快速获悉某个组件到底被哪些页面使用
- 不清楚一个组件在项目里出现了多少次
- 做分包优化时,不知道组件放在主包还是分包更合适
于是,我写了一个插件 vite-plugin-component-insight 来简化这一过程。
特性
- 开箱即用,配置简单
- 统计组件的使用次数和调用情况
- 结合主包和分包关系输出组件划分建议
- 支持生成 markdown 报告,方便查看更加详细的信息
- 支持 hx 项目和 cli 项目
- 支持 uni-app 和 uni-app-x (vue3)
使用指南
安装
npm install @uni_toolkit/vite-plugin-component-insight -D
# 或
pnpm add @uni_toolkit/vite-plugin-component-insight -D
# 或
yarn add @uni_toolkit/vite-plugin-component-insight -D
配置插件
在 vite.config.js 中使用:
import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import componentInsight from '@uni_toolkit/vite-plugin-component-insight';
export default defineConfig({
plugins: [
uni(),
componentInsight(), // 在 uni 之后调用
],
});
Tips
插件默认不会生成文件,而是在控制台直接输出分析结果。效果参考附件1
如果需要生成 markdown 报告,可以这样配置:
componentInsight({
reportMarkdownPath: 'logs/component-insight-report.md',
})
如果只想生成 markdown,不输出控制台日志,可以这样配置:
componentInsight({
logToConsole: false,
reportMarkdownPath: 'logs/component-insight-report.md',
})
完整配置项
interface VitePluginComponentInsightOptions {
reportMarkdownPath?: string;
logToConsole?: boolean;
exclude?: ReadonlyArray<string | RegExp> | string | RegExp | null;
include?: ReadonlyArray<string | RegExp> | string | RegExp | null;
}
| 选项 | 说明 |
|---|---|
| reportMarkdownPath | 自定义 Markdown 报告输出路径,不传则不生成 Markdown |
| logToConsole | 是否输出控制台日志,默认开启 |
| exclude | 指定过滤的文件,默认过滤 node_modules 和 uni_modules |
| include | 指定包含的文件,默认为空 |
交流群
如果你有其他 uniapp 或者 uniappx 的问题想要咨询,可以扫描附件中的微信二维码进群
收起阅读 »一套完整的游戏陪玩搭子系统源码里,必须有的5个高留存模块
在游戏陪玩赛道竞争日趋激烈的当下,用户留存直接决定系统生命力。一套完整的游戏陪玩搭子系统源码,若想实现长期运营,必须内置5个核心高留存模块,既贴合用户核心需求,又能强化用户粘性,无需额外大幅开发即可快速落地。
首先是智能精准匹配模块,这是留存的基础。源码需支持基于游戏类型、段位、玩法偏好甚至作息时间的多维度匹配,结合Redis缓存优化查询效率,让用户快速找到适配的陪玩搭子,避免因匹配低效导致流失,这也是提升用户首次体验的关键环节。
其次是实时语音互动模块,作为陪玩核心场景刚需,不可或缺。源码需集成稳定的语音SDK,支持低延迟多人通话、静音控制等功能,同时适配多游戏场景,让用户在游戏过程中实现顺畅沟通,强化陪伴感,这是区别于普通社交系统的核心优势。
第三是搭子关系沉淀模块,助力用户长期留存。源码需支持关注、收藏常用搭子,建立专属聊天列表,留存聊天记录与陪玩历史,同时设置“常用搭子”一键预约功能,让用户形成固定社交关系链,减少用户流失率,提升复访频次。
第四是积分激励与任务模块,激活用户活跃度。源码需内置完善的任务体系,涵盖每日登录、完成陪玩订单、邀请好友等任务,积分可兑换陪玩时长或道具,同时搭配等级体系,让用户在使用过程中获得成就感,主动留存并活跃。
最后是评价与服务保障模块,筑牢留存根基。源码需支持用户对陪玩服务进行评分、留言,建立陪玩分级体系,同时设置不满意退款、违规投诉等机制,保障服务质量,增强用户信任度,为长期留存提供保障。
这5个模块相互联动,覆盖匹配、互动、沉淀、激励、保障全场景,是游戏陪玩搭子系统源码的核心骨架。唯有完善这些模块,才能有效提升用户留存率,降低运营成本,让系统在激烈竞争中站稳脚跟。
查看演示及源码获取地址⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
在游戏陪玩赛道竞争日趋激烈的当下,用户留存直接决定系统生命力。一套完整的游戏陪玩搭子系统源码,若想实现长期运营,必须内置5个核心高留存模块,既贴合用户核心需求,又能强化用户粘性,无需额外大幅开发即可快速落地。
首先是智能精准匹配模块,这是留存的基础。源码需支持基于游戏类型、段位、玩法偏好甚至作息时间的多维度匹配,结合Redis缓存优化查询效率,让用户快速找到适配的陪玩搭子,避免因匹配低效导致流失,这也是提升用户首次体验的关键环节。
其次是实时语音互动模块,作为陪玩核心场景刚需,不可或缺。源码需集成稳定的语音SDK,支持低延迟多人通话、静音控制等功能,同时适配多游戏场景,让用户在游戏过程中实现顺畅沟通,强化陪伴感,这是区别于普通社交系统的核心优势。
第三是搭子关系沉淀模块,助力用户长期留存。源码需支持关注、收藏常用搭子,建立专属聊天列表,留存聊天记录与陪玩历史,同时设置“常用搭子”一键预约功能,让用户形成固定社交关系链,减少用户流失率,提升复访频次。
第四是积分激励与任务模块,激活用户活跃度。源码需内置完善的任务体系,涵盖每日登录、完成陪玩订单、邀请好友等任务,积分可兑换陪玩时长或道具,同时搭配等级体系,让用户在使用过程中获得成就感,主动留存并活跃。
最后是评价与服务保障模块,筑牢留存根基。源码需支持用户对陪玩服务进行评分、留言,建立陪玩分级体系,同时设置不满意退款、违规投诉等机制,保障服务质量,增强用户信任度,为长期留存提供保障。
这5个模块相互联动,覆盖匹配、互动、沉淀、激励、保障全场景,是游戏陪玩搭子系统源码的核心骨架。唯有完善这些模块,才能有效提升用户留存率,降低运营成本,让系统在激烈竞争中站稳脚跟。
查看演示及源码获取地址⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
UniApp资深程序猿,八年全栈经验全职开发,主打uniCloud+uniapp全栈开发,可独立完成各类APP,小程序,H5的开发,效率高,成本低,全欢迎老板来咨询,微信同QQ:170842262
我的优势
1、精通uniCloud uniapp等技术栈,熟练使用 前后端分离开发 、拥有丰富的项目开发经验。
2、能够独立完成从项目的 分析 、设计 、 开发 、测试 、部署 到 维护与优化 的全过程,能 快速的对需求进行梳理并制定开发计划。
3、注重代码可维护性、可扩展性、性能优化等方面的工作。
4、汇聚多行业100 成熟项目案例 可供复用,效率倍增,快人一步。
如果您正在寻找一位高效、专业的开发者来完成您的项目,我非常愿意为您提供优质的服务,共同推动项目顺利进行。
如果您对我的技能与工作经验感兴趣,请通过微信联系我,我们可以进一步探讨您的具体项目需求,并且开展合作。
微信同QQ:170842262
我的优势
1、精通uniCloud uniapp等技术栈,熟练使用 前后端分离开发 、拥有丰富的项目开发经验。
2、能够独立完成从项目的 分析 、设计 、 开发 、测试 、部署 到 维护与优化 的全过程,能 快速的对需求进行梳理并制定开发计划。
3、注重代码可维护性、可扩展性、性能优化等方面的工作。
4、汇聚多行业100 成熟项目案例 可供复用,效率倍增,快人一步。
如果您正在寻找一位高效、专业的开发者来完成您的项目,我非常愿意为您提供优质的服务,共同推动项目顺利进行。
如果您对我的技能与工作经验感兴趣,请通过微信联系我,我们可以进一步探讨您的具体项目需求,并且开展合作。
微信同QQ:170842262
uniapp扩展组件uni-file-picker有安全漏洞,用云效部署后,会泄漏源代码
我是h5项目,用uni-file-picker进行文件选择上传,然后用云效部署,发现在这个页面的js文件里,有我自己的云效账号密码token等,继而能找到阿里云仓库源代码,太神奇了。
我写的代码如下,刚开始不知道是哪里泄漏的,反复验证后,发现是这段代码,哪怕只留下limit,也会泄漏:
uni-file-picker v-if="userinfo.id" class="file-picker" ref="filePickerRef" v-model="state.uploadFile"
limit="1" file-mediatype="all" :auto-upload="false" title="" :sourceType="['album']" @select="fileSelect" ></uni-file-picker>
部分泄漏内容如下:
Re({
npm_command: "run-script",
privileged: "false",
KUBERNETES_SERVICE_PORT_HTTPS:
STEP_DOCUMENT_JSON:
TASK_DIR:
npm_config_userconfig:
runnerCacheMode:
KUBERNETES_SERVICE_PORT:
npm_config_cache:
operator:
invalidStepVersion:
NVM_INC:
NVM_IOJS_ORG_MIRROR:
NODEGROUP_TYPE:
npm_config_electron_mirror:
HOSTNAME:
npm_config_always_auth: LANGUAGE:
我是h5项目,用uni-file-picker进行文件选择上传,然后用云效部署,发现在这个页面的js文件里,有我自己的云效账号密码token等,继而能找到阿里云仓库源代码,太神奇了。
我写的代码如下,刚开始不知道是哪里泄漏的,反复验证后,发现是这段代码,哪怕只留下limit,也会泄漏:
uni-file-picker v-if="userinfo.id" class="file-picker" ref="filePickerRef" v-model="state.uploadFile"
limit="1" file-mediatype="all" :auto-upload="false" title="" :sourceType="['album']" @select="fileSelect" ></uni-file-picker>
部分泄漏内容如下:
Re({
npm_command: "run-script",
privileged: "false",
KUBERNETES_SERVICE_PORT_HTTPS:
STEP_DOCUMENT_JSON:
TASK_DIR:
npm_config_userconfig:
runnerCacheMode:
KUBERNETES_SERVICE_PORT:
npm_config_cache:
operator:
invalidStepVersion:
NVM_INC:
NVM_IOJS_ORG_MIRROR:
NODEGROUP_TYPE:
npm_config_electron_mirror:
HOSTNAME:
npm_config_always_auth: LANGUAGE:
避坑:ios自定义启动图官方提供的storyboard 模板
在storyboard 文件中包含了这么一段代码,我正常开发只是替换了外面的图片。快要上线了才发现启动图底部还有一行小字”hello uniapp“
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="hello uniapp" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QBH-Ne-rcx">
<rect key="frame" x="168" y="835" width="78.333333333333314" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label> 在storyboard 文件中包含了这么一段代码,我正常开发只是替换了外面的图片。快要上线了才发现启动图底部还有一行小字”hello uniapp“
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="hello uniapp" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QBH-Ne-rcx">
<rect key="frame" x="168" y="835" width="78.333333333333314" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label> 收起阅读 »
高并发不卡顿!TP6+Uniapp三角洲代练护航小程序源码,支持三端同步,千万级订单这样架构。
高并发不卡顿,千万级订单从容承载!专为三角洲代练护航场景量身打造,基于TP6+Uniapp双框架开发,一站式解决代练平台高并发、多端适配、订单管理难题,源码可直接部署、灵活二开,助力快速搭建专业代练护航平台。
核心架构亮点拉满,直击代练行业痛点,兼顾性能与实用性,适配三角洲、和平精英、暗区突围等热门电竞游戏代练场景,无论是个人创业者、电竞工作室,还是代练平台运营者,都能快速落地业务、抢占市场先机。
后端采用TP6框架,基于PHP 7.3+构建,减少数据库压力,避免高峰期阻塞,筑牢高并发底座。前端Uniapp实现“一套代码三端运行”,无缝适配微信小程序、H5、Android/iOS App,三端数据实时同步,兼顾便捷性与体验感。
针对千万级订单场景,源码专项优化架构,采用分库分表、读写分离设计,搭配Redis分布式锁防重复操作,结合负载均衡与动态扩容,轻松承载订单峰值冲击。同时深度适配三角洲代练场景,内置双角色管理、订单全流程管控、支付结算、营销裂变等核心功能,无需额外开发,快速上线运营。
查看演示及源码获取地址⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
高并发不卡顿,千万级订单从容承载!专为三角洲代练护航场景量身打造,基于TP6+Uniapp双框架开发,一站式解决代练平台高并发、多端适配、订单管理难题,源码可直接部署、灵活二开,助力快速搭建专业代练护航平台。
核心架构亮点拉满,直击代练行业痛点,兼顾性能与实用性,适配三角洲、和平精英、暗区突围等热门电竞游戏代练场景,无论是个人创业者、电竞工作室,还是代练平台运营者,都能快速落地业务、抢占市场先机。
后端采用TP6框架,基于PHP 7.3+构建,减少数据库压力,避免高峰期阻塞,筑牢高并发底座。前端Uniapp实现“一套代码三端运行”,无缝适配微信小程序、H5、Android/iOS App,三端数据实时同步,兼顾便捷性与体验感。
针对千万级订单场景,源码专项优化架构,采用分库分表、读写分离设计,搭配Redis分布式锁防重复操作,结合负载均衡与动态扩容,轻松承载订单峰值冲击。同时深度适配三角洲代练场景,内置双角色管理、订单全流程管控、支付结算、营销裂变等核心功能,无需额外开发,快速上线运营。
查看演示及源码获取地址⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
收起阅读 »
IOS 高版本跳转不到设置,应该怎么弄?
使用plus.runtime.openURL("app-settings:")
使用plus.runtime.openURL("app-settings:")





















