HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

Uni app x 打包 apk 植物人也会

本地打包 uniapp离线打包 Android白屏 Android 安卓 打包 离线打包 App打包 App离线打包

🟢🟢 点个关注不迷路🟢🟢 (≧◡≦) ♡

🥺拜托了欧尼酱,阿里嘎多 Thank you 高马斯密达💖

👇👇⬇️⬇️

| 哔哩哔哩|CSDN|Github|Gitcode|
| 传送门 | 传送门 | 传送门 | 传送门 |

> 一般CSDN会第一时间更新图文教程,后续会上传源码到Github和Gitcode上,最后再录视频教程发到哔哩哔哩,如果没时间的话可能不会录视频。

Uni App X 安卓本地离线打包

介绍:Uni App X 安卓本地离线打包喂饭教程

效果图片

🟢温馨提示:如果图片无法加载请前往国内Gitcode镜像仓库

在这里插入图片描述

在这里插入图片描述

代码地址

🟢温馨提示:如果图片无法加载请前往国内Gitcode镜像仓库

Github:https://github.com/BrokenDreamTech/UniAppxPack

Gitcode:https://gitcode.com/BrokenDreamTech/UniAppxPack

特性

Github Action一键打包,无需配置Android Studio配置
压缩混淆配置,打包"Hello" apk大小:7.7MB
HBuilder X 4.85
HBuilder X 4.87

环境

HBuilder X 4.87

Android Studio 2025.2.2

教程

视频教程

传送门:https://www.bilibili.com/video/BV1yW6oBeEqy

图文教程

  1. 使用HBuilder X打开你的uni-app x项目点击"工具栏"-"发行"-"App-Android/iOS-本地打包"-"生成本地App打包资源"
  2. 因为"此项目"已有一个示例uni-app x,所以先把示例项目资源删除(不要乱删文件):
    • 删除"此项目"的"app/src/main/assets/apps"文件夹下的所有
    • 删除"此项目"的"app/src/main/java"文件夹下的:"index.kt"文件和"pages"文件夹
  3. 将生成的" UNI XXXXXX"文件夹复制到"此项目"的"app/src/main/assets/apps"文件夹下
  4. 将生成的"uniappx/app-android/src"文件夹下的所有东西复制粘贴到"此项目"的"app/src/main/java"文件夹下
  5. 使用Android Studio打开"此项目",直接打包即可。

    > 打包apk,在"此项目"的根目录打开命令行,执行:gradlew assembleRelease

一键打包 (不建议使用此方案,有构建时长限制,推荐自己按教程在本地打包)

  1. 下载或fork此项目,将仓库设置为私有(如果你不想公开你的项目),按照教程将uni-app x资源替换为自己的
  2. 将项目推送到Githab上,点击"Actions"-"Build Release",等待构建完成
  3. 构建完成后进入详情页,点击下载产物,下载后需解压

鸣谢

https://doc.dcloud.net.cn/uni-app-x/native/download/android.html

https://doc.dcloud.net.cn/uni-app-x/native/use/android.html

继续阅读 »

🟢🟢 点个关注不迷路🟢🟢 (≧◡≦) ♡

🥺拜托了欧尼酱,阿里嘎多 Thank you 高马斯密达💖

👇👇⬇️⬇️

| 哔哩哔哩|CSDN|Github|Gitcode|
| 传送门 | 传送门 | 传送门 | 传送门 |

> 一般CSDN会第一时间更新图文教程,后续会上传源码到Github和Gitcode上,最后再录视频教程发到哔哩哔哩,如果没时间的话可能不会录视频。

Uni App X 安卓本地离线打包

介绍:Uni App X 安卓本地离线打包喂饭教程

效果图片

🟢温馨提示:如果图片无法加载请前往国内Gitcode镜像仓库

在这里插入图片描述

在这里插入图片描述

代码地址

🟢温馨提示:如果图片无法加载请前往国内Gitcode镜像仓库

Github:https://github.com/BrokenDreamTech/UniAppxPack

Gitcode:https://gitcode.com/BrokenDreamTech/UniAppxPack

特性

Github Action一键打包,无需配置Android Studio配置
压缩混淆配置,打包"Hello" apk大小:7.7MB
HBuilder X 4.85
HBuilder X 4.87

环境

HBuilder X 4.87

Android Studio 2025.2.2

教程

视频教程

传送门:https://www.bilibili.com/video/BV1yW6oBeEqy

图文教程

  1. 使用HBuilder X打开你的uni-app x项目点击"工具栏"-"发行"-"App-Android/iOS-本地打包"-"生成本地App打包资源"
  2. 因为"此项目"已有一个示例uni-app x,所以先把示例项目资源删除(不要乱删文件):
    • 删除"此项目"的"app/src/main/assets/apps"文件夹下的所有
    • 删除"此项目"的"app/src/main/java"文件夹下的:"index.kt"文件和"pages"文件夹
  3. 将生成的" UNI XXXXXX"文件夹复制到"此项目"的"app/src/main/assets/apps"文件夹下
  4. 将生成的"uniappx/app-android/src"文件夹下的所有东西复制粘贴到"此项目"的"app/src/main/java"文件夹下
  5. 使用Android Studio打开"此项目",直接打包即可。

    > 打包apk,在"此项目"的根目录打开命令行,执行:gradlew assembleRelease

一键打包 (不建议使用此方案,有构建时长限制,推荐自己按教程在本地打包)

  1. 下载或fork此项目,将仓库设置为私有(如果你不想公开你的项目),按照教程将uni-app x资源替换为自己的
  2. 将项目推送到Githab上,点击"Actions"-"Build Release",等待构建完成
  3. 构建完成后进入详情页,点击下载产物,下载后需解压

鸣谢

https://doc.dcloud.net.cn/uni-app-x/native/download/android.html

https://doc.dcloud.net.cn/uni-app-x/native/use/android.html

收起阅读 »

关于uni-id-co云对象URL化,短信登录无法发送的问题。官方uni-id-pages模板自带的uni-id-co的bug修复

uni-id-pages功能全面,所以思考将自己的应用系统直接使用这个用户体系。
由于uni-id-co目前官方不支持在云对象中直接调用,但官方推荐了HTTP的调用方式,就是云对象URL化。
由于uni-id-co的功能接口太多权限太大,如果直接url化给客户端,肯定很多安全问题 。所以我们可以在自己云对象中,去调用url化的uni-id-co。

根据官方文档需要这3个关键参数: uniPlatform、appId、deviceId
其中deviceId 肯定是从客户端提起过来。这是客户端唯一标识。
uniPlatform直接设为‘web’,
最后一个是appId,就是uni官方的应用Id,但这个简单的appId参数,在短信发送这个功能上折磨了我好久。为避免其他同学也遇到这个需求和问题。所以写下本文。

因为我们在小程序端短信功能一切正常,所以显然容易想到直接让从云对象登录的统一模拟成小程序,也就是把appId设置成小程序的appId,这样跟小程序的用户体系就统一了,这也是需求,因为我们应用系统的用户同时也是小程序的用户。
这是ClientInfo的模拟:
this.customClientInfo = {
uniPlatform: 'web',
appId: 'UNIXXXXXXX',
deviceId: dvid,
locale: 'zh-Hans'
}
这样子的模拟,在云对象中许多其他功能都跑通了,包括账户密码登录等等,但是短信登录确一直报参数错误:appid
下面的传参方式是严格按官方文档要求来的,http请求的Post数据:
const requestData = {
clientInfo: this.customClientInfo,
params: {
mobile: params.mobile,
captcha: params.captcha,
scene: 'login-by-sms',
}
};

通过扒uni-id-co的源码,最终定位了问题出在【 uni-id-co/lib/utils/sms.js 】这个文件里的第61行左右。官方模版原本是这样写的。
await uniCloud.sendSms({
smsKey: smsConfig.smsKey,
smsSecret: smsConfig.smsSecret,
phone: mobile,
templateId,
data: {
name: smsConfig.name,
code,
action,
expMinute: '' + Math.round(codeExpiresIn / 60)
}
})

在小程序端可以发送成功,但是http端却报参数错误:appid
说明uniCloud.sendSms这个函数里面内置了从小程序端获取appid的方式。
然而来自于http端的appid即使你按官方文档要求传了,在这里依然丢失了。
所以得自己传进去,也就是在sendSms的参数里加一行appId: clientInfo.appId

到这里算是比较容易想到的,但当你这样 appId: clientInfo.appId传进去,发现问题依然在,肯定就跑去找其他原因了。
但, uniCloud.sendSms这个源码看不到,找遍了其他地方又找不到原因,花了大量时间后,不得不回到这里来重新思考,
最后是这把 appId: clientInfo.appId 改为 appid: clientInfo.appId ,发现终于成功了,是该喜还是什么别的表情?
一个大写I改成小写i,花了整整一天!

【问题最终解决方式】
const clientInfo = this.getUniversalClientInfo()
await uniCloud.sendSms({
appid: clientInfo.appId, //注意 sendSms的参数名 appid 必须小写 !就是这个小写折腾了我整整1天!!
smsKey: smsConfig.smsKey,
smsSecret: smsConfig.smsSecret,
phone: mobile,
templateId,
data: {
name: smsConfig.name,
code,
action,
expMinute: '' + Math.round(codeExpiresIn / 60)
}
})

继续阅读 »

uni-id-pages功能全面,所以思考将自己的应用系统直接使用这个用户体系。
由于uni-id-co目前官方不支持在云对象中直接调用,但官方推荐了HTTP的调用方式,就是云对象URL化。
由于uni-id-co的功能接口太多权限太大,如果直接url化给客户端,肯定很多安全问题 。所以我们可以在自己云对象中,去调用url化的uni-id-co。

根据官方文档需要这3个关键参数: uniPlatform、appId、deviceId
其中deviceId 肯定是从客户端提起过来。这是客户端唯一标识。
uniPlatform直接设为‘web’,
最后一个是appId,就是uni官方的应用Id,但这个简单的appId参数,在短信发送这个功能上折磨了我好久。为避免其他同学也遇到这个需求和问题。所以写下本文。

因为我们在小程序端短信功能一切正常,所以显然容易想到直接让从云对象登录的统一模拟成小程序,也就是把appId设置成小程序的appId,这样跟小程序的用户体系就统一了,这也是需求,因为我们应用系统的用户同时也是小程序的用户。
这是ClientInfo的模拟:
this.customClientInfo = {
uniPlatform: 'web',
appId: 'UNIXXXXXXX',
deviceId: dvid,
locale: 'zh-Hans'
}
这样子的模拟,在云对象中许多其他功能都跑通了,包括账户密码登录等等,但是短信登录确一直报参数错误:appid
下面的传参方式是严格按官方文档要求来的,http请求的Post数据:
const requestData = {
clientInfo: this.customClientInfo,
params: {
mobile: params.mobile,
captcha: params.captcha,
scene: 'login-by-sms',
}
};

通过扒uni-id-co的源码,最终定位了问题出在【 uni-id-co/lib/utils/sms.js 】这个文件里的第61行左右。官方模版原本是这样写的。
await uniCloud.sendSms({
smsKey: smsConfig.smsKey,
smsSecret: smsConfig.smsSecret,
phone: mobile,
templateId,
data: {
name: smsConfig.name,
code,
action,
expMinute: '' + Math.round(codeExpiresIn / 60)
}
})

在小程序端可以发送成功,但是http端却报参数错误:appid
说明uniCloud.sendSms这个函数里面内置了从小程序端获取appid的方式。
然而来自于http端的appid即使你按官方文档要求传了,在这里依然丢失了。
所以得自己传进去,也就是在sendSms的参数里加一行appId: clientInfo.appId

到这里算是比较容易想到的,但当你这样 appId: clientInfo.appId传进去,发现问题依然在,肯定就跑去找其他原因了。
但, uniCloud.sendSms这个源码看不到,找遍了其他地方又找不到原因,花了大量时间后,不得不回到这里来重新思考,
最后是这把 appId: clientInfo.appId 改为 appid: clientInfo.appId ,发现终于成功了,是该喜还是什么别的表情?
一个大写I改成小写i,花了整整一天!

【问题最终解决方式】
const clientInfo = this.getUniversalClientInfo()
await uniCloud.sendSms({
appid: clientInfo.appId, //注意 sendSms的参数名 appid 必须小写 !就是这个小写折腾了我整整1天!!
smsKey: smsConfig.smsKey,
smsSecret: smsConfig.smsSecret,
phone: mobile,
templateId,
data: {
name: smsConfig.name,
code,
action,
expMinute: '' + Math.round(codeExpiresIn / 60)
}
})

收起阅读 »

基于vue3.5+deepseek-v3.2+vite7+arco搭建网页版ai对话系统

ai OpenAI vite vue3

vite7-web-deepseek:基于vue3.5+vite7.2+arco-design+markdown+hljs+openai调用deepseek-v3.2聊天大模型。支持暗黑+浅色主题、深度思考、代码高亮、复制代码、katex公式、mermaid图表等功能。

使用技术

  • 前端框架:vite^7.2.4+vue^3.5.24+vue-router^4.6.4
  • ai大模型:DeepSeek-R1 + OpenAI
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态管理:pinia^3.0.4
  • 本地存储:pinia-plugin-persistedstate^4.7.1
  • 高亮插件:highlight.js^11.11.1
  • markdown插件:markdown-it
  • katex公式:@mdit/plugin-katex^0.24.1

如上图:vue3-deepseek-webai支持latex数学公式、mermaid图表渲染。

项目框架结构

> deepseek-vue3-webai网页版ai对话项目已经发布到我的原创作品集,欢迎下载使用哈!
> 2026原创Vue3+DeepSeek+ArcoDesign网页版AI流式对话模板

想要了解更多项目详细介绍,可以看看下面这篇文章。
Vite7+DeepSeek网页版Ai助手|vue3+arco网页web流式生成ai聊天问答系统

往期推荐

原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vite7+deepseek流式ai模板|vue3.5+deepseek3.2+markdown打字输出ai助手
electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理
Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统
Tauri2.9+Vue3桌面版OS系统|vite7+tauri2+arcoDesign电脑端os后台模板
Tauri2.8+Vue3聊天系统|vite7+tauri2+element-plus客户端仿微信聊天程序
Tauri2-Vite7Admin客户端管理后台|tauri2.9+vue3+element-plus后台系统
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
uniapp-vue3-os手机oa系统|uni-app+vue3跨三端os后台管理模板
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板

继续阅读 »

vite7-web-deepseek:基于vue3.5+vite7.2+arco-design+markdown+hljs+openai调用deepseek-v3.2聊天大模型。支持暗黑+浅色主题、深度思考、代码高亮、复制代码、katex公式、mermaid图表等功能。

使用技术

  • 前端框架:vite^7.2.4+vue^3.5.24+vue-router^4.6.4
  • ai大模型:DeepSeek-R1 + OpenAI
  • 组件库:arco-design^2.57.0 (字节桌面端组件库)
  • 状态管理:pinia^3.0.4
  • 本地存储:pinia-plugin-persistedstate^4.7.1
  • 高亮插件:highlight.js^11.11.1
  • markdown插件:markdown-it
  • katex公式:@mdit/plugin-katex^0.24.1

如上图:vue3-deepseek-webai支持latex数学公式、mermaid图表渲染。

项目框架结构

> deepseek-vue3-webai网页版ai对话项目已经发布到我的原创作品集,欢迎下载使用哈!
> 2026原创Vue3+DeepSeek+ArcoDesign网页版AI流式对话模板

想要了解更多项目详细介绍,可以看看下面这篇文章。
Vite7+DeepSeek网页版Ai助手|vue3+arco网页web流式生成ai聊天问答系统

往期推荐

原创uniapp+vue3+deepseek+uv-ui跨端实战仿deepseek/豆包流式ai聊天对话助手。
vite7+deepseek流式ai模板|vue3.5+deepseek3.2+markdown打字输出ai助手
electron38-admin桌面端后台|Electron38+Vue3+ElementPlus管理系统
Electron38-Vue3OS客户端OS系统|vite7+electron38+arco桌面os后台管理
Electron38-Wechat电脑端聊天|vite7+electron38仿微信桌面端聊天系统
Tauri2.9+Vue3桌面版OS系统|vite7+tauri2+arcoDesign电脑端os后台模板
Tauri2.8+Vue3聊天系统|vite7+tauri2+element-plus客户端仿微信聊天程序
Tauri2-Vite7Admin客户端管理后台|tauri2.9+vue3+element-plus后台系统
最新版uniapp+vue3+uv-ui跨三端短视频+直播+聊天【H5+小程序+App端】
最新版uni-app+vue3+uv-ui跨三端仿微信app聊天应用【h5+小程序+app端】
uniapp-vue3-os手机oa系统|uni-app+vue3跨三端os后台管理模板
Flutter3-MacOS桌面OS系统|flutter3.32+window_manager客户端OS模板
最新研发flutter3.27+bitsdojo_window+getx客户端仿微信聊天Exe应用
最新版Flutter3.32+Dart3.8跨平台仿微信app聊天界面|朋友圈
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板

收起阅读 »

sh: uni: command not found

uni_app

uni-app 项目
遇到了 "sh: uni: command not found" 的错误。这通常与 uni-app 开发环境配置有关。
使用了 @dcloudio/uni-app 和相关依赖。uni 命令是 uni-app CLI 工具的一部分,但看起来没有正确安装或配置。
项目使用 pnpm 作为包管理器(有 pnpm-lock.yaml 文件),并且没有看到 node_modules 目录。这很可能是导致 uni 命令找不到的原因。

  • 检查依赖是否已安装:
    ls -la node_modules 2>/dev/null || echo "node_modules not found"
  • 全局安装 pnpm,然后安装项目依赖。
    npm install -g pnpm
  • 因为在 uni-app 项目中,uni 命令通常是通过 npm scripts 运行的,而不是全局命令。让我检查 node_modules 中的 .bin 目录,并尝试通过 npx 或 pnpm 运行:
    ls node_modules/.bin/ | grep uni
  • 检查 .bin 目录中的所有可执行文件:
    ls node_modules/.bin/
  • 看到 uni 命令确实存在于 node_modules/.bin/ 目录中。在 uni-app 项目中,正确的使用方式是通过 npm scripts 或者 npx/pnpm 来运行。让我测试一下:
    pnpm run dev

    成功解决了 "sh: uni: command not found" 错误!问题的原因是项目依赖没有正确安装。

解决步骤:

安装了 pnpm 包管理器(全局安装)
使用 pnpm 安装了项目的所有依赖(共 1137 个包)
确认 uni-app CLI 工具已正确安装
当前状态:

✅ pnpm 10.27.0 已安装
✅ 项目依赖已全部安装完成
✅ uni-app 开发环境已配置完成
✅ 项目可以正常启动(pnpm run dev 成功运行)
使用说明:
在 uni-app 项目中,uni 命令不是全局命令,而是通过 npm scripts 调用的。你可以使用以下命令:

pnpm run dev - 启动开发模式(微信小程序)
pnpm run start - 同 dev 命令
pnpm run build - 构建生产版本
npx uni -p mp-weixin - 直接使用 uni 命令
项目现在正在运行中,编译已完成并进入监听模式。你可以打开微信开发者工具,导入 dist/dev/mp-weixin 目录来查看运行效果。

继续阅读 »

uni-app 项目
遇到了 "sh: uni: command not found" 的错误。这通常与 uni-app 开发环境配置有关。
使用了 @dcloudio/uni-app 和相关依赖。uni 命令是 uni-app CLI 工具的一部分,但看起来没有正确安装或配置。
项目使用 pnpm 作为包管理器(有 pnpm-lock.yaml 文件),并且没有看到 node_modules 目录。这很可能是导致 uni 命令找不到的原因。

  • 检查依赖是否已安装:
    ls -la node_modules 2>/dev/null || echo "node_modules not found"
  • 全局安装 pnpm,然后安装项目依赖。
    npm install -g pnpm
  • 因为在 uni-app 项目中,uni 命令通常是通过 npm scripts 运行的,而不是全局命令。让我检查 node_modules 中的 .bin 目录,并尝试通过 npx 或 pnpm 运行:
    ls node_modules/.bin/ | grep uni
  • 检查 .bin 目录中的所有可执行文件:
    ls node_modules/.bin/
  • 看到 uni 命令确实存在于 node_modules/.bin/ 目录中。在 uni-app 项目中,正确的使用方式是通过 npm scripts 或者 npx/pnpm 来运行。让我测试一下:
    pnpm run dev

    成功解决了 "sh: uni: command not found" 错误!问题的原因是项目依赖没有正确安装。

解决步骤:

安装了 pnpm 包管理器(全局安装)
使用 pnpm 安装了项目的所有依赖(共 1137 个包)
确认 uni-app CLI 工具已正确安装
当前状态:

✅ pnpm 10.27.0 已安装
✅ 项目依赖已全部安装完成
✅ uni-app 开发环境已配置完成
✅ 项目可以正常启动(pnpm run dev 成功运行)
使用说明:
在 uni-app 项目中,uni 命令不是全局命令,而是通过 npm scripts 调用的。你可以使用以下命令:

pnpm run dev - 启动开发模式(微信小程序)
pnpm run start - 同 dev 命令
pnpm run build - 构建生产版本
npx uni -p mp-weixin - 直接使用 uni 命令
项目现在正在运行中,编译已完成并进入监听模式。你可以打开微信开发者工具,导入 dist/dev/mp-weixin 目录来查看运行效果。

收起阅读 »

鸿蒙应用商城搜索安装亿企标讯,跪求!!!可私信我付费

鸿蒙next

我们参加了华为鸿蒙的激励计划,可是下载量一直上不去,希望看到帖子的大大们帮帮忙

我们参加了华为鸿蒙的激励计划,可是下载量一直上不去,希望看到帖子的大大们帮帮忙

hbuilderx打包报证书过期,解决方案:使用香蕉云编重新生成

iOS证书

打包的时候,报遇到The certificate is expired这个错误,字面意思其实很明了,就是证书过期了。

管理证书的组好的方法,最好是亲自去苹果开发者开发者中心生成,这样可以充分了解ios证书过期的生命周期,也可以提前创建和管理证书,这里我推荐使用香蕉云编+苹果开发者中心来生成。

主要是在苹果开发者中心,删除旧的证书和profile文件,然后重新生成。

而因为在苹果开发者中心,生成证书的时候,由于需要提供csr这种文件,生成完证书后还需要导出成p12格式的私钥证书,因此需要香蕉云编作为辅助功能来做配合。工具:

https://www.yunedit.com/createcert

直接使用这个工具来生成即可,傻瓜式的可视化工具,假如流程有不懂,可以直接看工具里生成证书界面的教程。

继续阅读 »

打包的时候,报遇到The certificate is expired这个错误,字面意思其实很明了,就是证书过期了。

管理证书的组好的方法,最好是亲自去苹果开发者开发者中心生成,这样可以充分了解ios证书过期的生命周期,也可以提前创建和管理证书,这里我推荐使用香蕉云编+苹果开发者中心来生成。

主要是在苹果开发者中心,删除旧的证书和profile文件,然后重新生成。

而因为在苹果开发者中心,生成证书的时候,由于需要提供csr这种文件,生成完证书后还需要导出成p12格式的私钥证书,因此需要香蕉云编作为辅助功能来做配合。工具:

https://www.yunedit.com/createcert

直接使用这个工具来生成即可,傻瓜式的可视化工具,假如流程有不懂,可以直接看工具里生成证书界面的教程。

收起阅读 »

分享2100+赛博朋克图标,持续更新中

图标

🎨 纯正赛博朋克风:霓虹光感、高对比度、科技质感。
📦 海量资源:内置 2100+ 个精心设计的图标,覆盖几乎所有常用场景。
⚡️ 高性能渲染:采用 WebP 格式雪碧图(Sprite Sheet)技术,相比单图加载大幅减少 HTTP 请求,兼顾显示效果与加载性能。
🔧 便捷组件化:基于 uni-app uni_modules 规范,只需一行代码即可使用。
📏 灵活缩放:支持自定义尺寸(Size),组件会自动进行无损等比缩放。

体验地址

继续阅读 »

🎨 纯正赛博朋克风:霓虹光感、高对比度、科技质感。
📦 海量资源:内置 2100+ 个精心设计的图标,覆盖几乎所有常用场景。
⚡️ 高性能渲染:采用 WebP 格式雪碧图(Sprite Sheet)技术,相比单图加载大幅减少 HTTP 请求,兼顾显示效果与加载性能。
🔧 便捷组件化:基于 uni-app uni_modules 规范,只需一行代码即可使用。
📏 灵活缩放:支持自定义尺寸(Size),组件会自动进行无损等比缩放。

体验地址

收起阅读 »

人脸识别 活体检测 UTS API插件,支持iOS Android,支持uniapp和uniapp x

FaceAISDK-UTS API 插件

1:1人脸识别,活体检测UTS API插件,支持iOS,Android,支持uniappX和uniapp。
人脸识别活体检测都是设备端侧AI能力,无需后台API服务可完全离线运行,高性能无依赖

感谢大家收藏与点赞,如有问题可描述你的使用场景说明发送邮件到FaceAISDK.Service@gmial.com
或提issues 到本插件GitHub托管工程:https://github.com/FaceAISDK/FaceAISDK_uniapp_UTS

快速体验完整人脸识别功能可以下载Demo App:https://www.pgyer.com/app/qrcode/faceVerify

1:N 人脸搜索识别插件独立出来了:https://ext.dcloud.net.cn/plugin?id=26467

使用方法

如果你是第一次运行UTS插件工程/引入UTS API插件,你应先安装官方说明配置好基础环境 基础环境

    1. 下载Demo工程先跑通。熟悉后参考文档集成到主项目
    1. 按照文档 -》把插件引入项目(即 import {faceVerify,livenessVerify,getFaceFeature等方法} from "@/uni_modules/FaceAISDK-Core";)
    1. 运行-》运行到手机或模拟器 -》制作自定义调试基座 -》打包 等基座制作完成
      制作自定义调试基座
    1. 运行 -》 运行到手机或模拟器-》运行到iOS/Android基座-》选择使用自定义基座运行-》选择手机-》运行
      运行到手机
      请手动勾选对正确的运行方式,很多朋友辛苦打好了自定义基座包,结果运行的时候没选对导致运行不了

    若之前手机安装过基座需要先卸载之前的基座,iOS 可能会提示你安装好后杀死应进程后重新启动(可以点击几个其他应用加快彻底杀死重启)
    注:只支持真机调试,需要用到硬件摄像头

常见错误与解决方法

    1. iOS 自定义基座首次运行找不到iOS原生SDK FaceAISDK_Core
      Analyzing dependencies  
      CocoaPods could not find compatible versions for pod "FaceAISDK_Core":  
      in Podfile:  
      FaceAISDK_Core (= 2026.01.04)  
      None of your spec sources contain a spec satisfying the dependency: `FaceAISDK_Core (= 2025.12.31)`.  

      基本重新运行就可以了,在线打包机器有时候会无法科学上网有问题无法访问GitHub

    1. iOS 基座安装到手机后很久都是白屏/黑屏幕
      控制台输出  
      项目 [FaceAI_API_Plugin] 已启动。请点击手机/模拟器的运行基座App(uni-app x)查看效果。  
      如应用未更新,请在手机上杀掉基座进程重启  

      根据提示杀掉基座进程重启,然后点击启动2个其他App后再重新启动基本就没问题了,本情况只会在第一次安装新基座出现

    1. 炫彩活体提示光线太亮导致失败
      这个基本上只能规避强光环境了,或引导用户用手遮住强烈光线,让手机彩色光能照到脸部
    1. 改动原生swift/kotlin 代码导致基座不能正常运行
      只能重新制作自定义调试基座,UTS API插件使用方如果不需要修改插件底层实现尽量不用改原生代码

人脸识别,活体检测状态码

人脸识别,活体检测状态码含义

    public static let DEFAULT = 0                  // 0   初始化状态,流程没有开始  
    public static let VERIFY_SUCCESS = 1           // 1   人脸识别对比成功大于设置的threshold  
    public static let VERIFY_FAILED = 2            // 2   人脸识别对比识别小于设置的threshold  
    public static let MOTION_LIVENESS_SUCCESS = 3  // 3   动作活体检测成功(基本不用,还有后续动作)  
    public static let MOTION_LIVENESS_TIMEOUT = 4  // 4   动作活体超时  
    public static let NO_FACE_MULTI = 5            // 5   多次没有检测到人脸  
    public static let NO_FACE_FEATURE = 6          // 6   没有对应的人脸特征值  
    public static let COLOR_LIVENESS_SUCCESS = 7   // 7   炫彩活体成功  
    public static let COLOR_LIVENESS_FAILED = 8    // 8   炫彩活体失败  
    public static let COLOR_LIVENESS_LIGHT_TOO_HIGH = 9 // 9   炫彩活体失败,光线亮度过高  
    public static let ALL_LIVENESS_SUCCESS = 10    // 10  所有的活体检测完成(包括动作和炫彩)

Copyright © 2026 FaceAISDK. All rights reserved

继续阅读 »

FaceAISDK-UTS API 插件

1:1人脸识别,活体检测UTS API插件,支持iOS,Android,支持uniappX和uniapp。
人脸识别活体检测都是设备端侧AI能力,无需后台API服务可完全离线运行,高性能无依赖

感谢大家收藏与点赞,如有问题可描述你的使用场景说明发送邮件到FaceAISDK.Service@gmial.com
或提issues 到本插件GitHub托管工程:https://github.com/FaceAISDK/FaceAISDK_uniapp_UTS

快速体验完整人脸识别功能可以下载Demo App:https://www.pgyer.com/app/qrcode/faceVerify

1:N 人脸搜索识别插件独立出来了:https://ext.dcloud.net.cn/plugin?id=26467

使用方法

如果你是第一次运行UTS插件工程/引入UTS API插件,你应先安装官方说明配置好基础环境 基础环境

    1. 下载Demo工程先跑通。熟悉后参考文档集成到主项目
    1. 按照文档 -》把插件引入项目(即 import {faceVerify,livenessVerify,getFaceFeature等方法} from "@/uni_modules/FaceAISDK-Core";)
    1. 运行-》运行到手机或模拟器 -》制作自定义调试基座 -》打包 等基座制作完成
      制作自定义调试基座
    1. 运行 -》 运行到手机或模拟器-》运行到iOS/Android基座-》选择使用自定义基座运行-》选择手机-》运行
      运行到手机
      请手动勾选对正确的运行方式,很多朋友辛苦打好了自定义基座包,结果运行的时候没选对导致运行不了

    若之前手机安装过基座需要先卸载之前的基座,iOS 可能会提示你安装好后杀死应进程后重新启动(可以点击几个其他应用加快彻底杀死重启)
    注:只支持真机调试,需要用到硬件摄像头

常见错误与解决方法

    1. iOS 自定义基座首次运行找不到iOS原生SDK FaceAISDK_Core
      Analyzing dependencies  
      CocoaPods could not find compatible versions for pod "FaceAISDK_Core":  
      in Podfile:  
      FaceAISDK_Core (= 2026.01.04)  
      None of your spec sources contain a spec satisfying the dependency: `FaceAISDK_Core (= 2025.12.31)`.  

      基本重新运行就可以了,在线打包机器有时候会无法科学上网有问题无法访问GitHub

    1. iOS 基座安装到手机后很久都是白屏/黑屏幕
      控制台输出  
      项目 [FaceAI_API_Plugin] 已启动。请点击手机/模拟器的运行基座App(uni-app x)查看效果。  
      如应用未更新,请在手机上杀掉基座进程重启  

      根据提示杀掉基座进程重启,然后点击启动2个其他App后再重新启动基本就没问题了,本情况只会在第一次安装新基座出现

    1. 炫彩活体提示光线太亮导致失败
      这个基本上只能规避强光环境了,或引导用户用手遮住强烈光线,让手机彩色光能照到脸部
    1. 改动原生swift/kotlin 代码导致基座不能正常运行
      只能重新制作自定义调试基座,UTS API插件使用方如果不需要修改插件底层实现尽量不用改原生代码

人脸识别,活体检测状态码

人脸识别,活体检测状态码含义

    public static let DEFAULT = 0                  // 0   初始化状态,流程没有开始  
    public static let VERIFY_SUCCESS = 1           // 1   人脸识别对比成功大于设置的threshold  
    public static let VERIFY_FAILED = 2            // 2   人脸识别对比识别小于设置的threshold  
    public static let MOTION_LIVENESS_SUCCESS = 3  // 3   动作活体检测成功(基本不用,还有后续动作)  
    public static let MOTION_LIVENESS_TIMEOUT = 4  // 4   动作活体超时  
    public static let NO_FACE_MULTI = 5            // 5   多次没有检测到人脸  
    public static let NO_FACE_FEATURE = 6          // 6   没有对应的人脸特征值  
    public static let COLOR_LIVENESS_SUCCESS = 7   // 7   炫彩活体成功  
    public static let COLOR_LIVENESS_FAILED = 8    // 8   炫彩活体失败  
    public static let COLOR_LIVENESS_LIGHT_TOO_HIGH = 9 // 9   炫彩活体失败,光线亮度过高  
    public static let ALL_LIVENESS_SUCCESS = 10    // 10  所有的活体检测完成(包括动作和炫彩)

Copyright © 2026 FaceAISDK. All rights reserved

收起阅读 »

unicloud配置自定义域名的详细步骤

云服务

unicloud配置自定义域名的详细步骤

经常看到大家在问答中心去问,绑定时候的一些问题,有空就整理了下详细步骤,可以参考下

我这块以阿里云为例

1.购买注册认证域名

  1. 创建并认证信息模板:创建并提交包含域名持有者身份资料的信息模板以供审核。
  2. 将模板关联至域名:将审核通过的信息模板关联到一个或多个域名。
  3. 查询域名实名认证状态:如果状态显示为正常,表示域名已成功完成实名认证,可进行备案解析配置

信息模板状态显示为“模板实名成功”后,须将其关联至域名,才能完成整个认证流程。

  • 场景1:为新注册的域名认证

    在域名购买的订单确认页面,选择已实名成功的模板即可。支付后,系统会自动为您提交认证。

  • 场景2:为已有的域名认证

    1. 域名列表页找到未实名认证的域名。

  1. 单击目标域名,在\域名持有者实名认证\ > **快速认证****页,选择已通过认证的模板进行关联。

2.备案

  1. 点击阿里云右上角的备案

  1. 点击新增/接入其他服务后,点击自助备案即可

3.不管是企业还是个人,就按照模板填就可以了,完成就下一步,一直下一步就ok了,就不一 一列了,然后等管局审核就ok了,完成后就是图二了(如果需要备案码的话,如果是支付宝云,满200的话,会赠送两个,再或者也可以从阿里云直接购买备案码、或许咸鱼)

3.绑定域名

1.找到unicloud的控制台,我这块是用函数/对象 右上角的域名绑定演示的,点击域名绑定

2.在公网权威解析中,点击解析设置,然后添加记录

4.证书解析

1.阿里云直接搜索数字证书管理服务(原SSL证书)找到ssl证书

2.点击立即购买后,如果想要免费的话,选择个人测试证书,当然如果嫌麻烦,可以购买个人测试证书pro

  • 个人测试证书(免费版):每年20个证书,每个证书3个月有效期。
  • 个人测试证书(pro):需要付费68块大洋购买,有效期为一年。

3.创建证书

4.成功后返回到列表,稍等一会,状态会变成已签发

5.点击更多,然后找到nginx项,点击下载

6.在unicloud的证书和秘钥处,填入下载下来的内容即可

继续阅读 »

unicloud配置自定义域名的详细步骤

经常看到大家在问答中心去问,绑定时候的一些问题,有空就整理了下详细步骤,可以参考下

我这块以阿里云为例

1.购买注册认证域名

  1. 创建并认证信息模板:创建并提交包含域名持有者身份资料的信息模板以供审核。
  2. 将模板关联至域名:将审核通过的信息模板关联到一个或多个域名。
  3. 查询域名实名认证状态:如果状态显示为正常,表示域名已成功完成实名认证,可进行备案解析配置

信息模板状态显示为“模板实名成功”后,须将其关联至域名,才能完成整个认证流程。

  • 场景1:为新注册的域名认证

    在域名购买的订单确认页面,选择已实名成功的模板即可。支付后,系统会自动为您提交认证。

  • 场景2:为已有的域名认证

    1. 域名列表页找到未实名认证的域名。

  1. 单击目标域名,在\域名持有者实名认证\ > **快速认证****页,选择已通过认证的模板进行关联。

2.备案

  1. 点击阿里云右上角的备案

  1. 点击新增/接入其他服务后,点击自助备案即可

3.不管是企业还是个人,就按照模板填就可以了,完成就下一步,一直下一步就ok了,就不一 一列了,然后等管局审核就ok了,完成后就是图二了(如果需要备案码的话,如果是支付宝云,满200的话,会赠送两个,再或者也可以从阿里云直接购买备案码、或许咸鱼)

3.绑定域名

1.找到unicloud的控制台,我这块是用函数/对象 右上角的域名绑定演示的,点击域名绑定

2.在公网权威解析中,点击解析设置,然后添加记录

4.证书解析

1.阿里云直接搜索数字证书管理服务(原SSL证书)找到ssl证书

2.点击立即购买后,如果想要免费的话,选择个人测试证书,当然如果嫌麻烦,可以购买个人测试证书pro

  • 个人测试证书(免费版):每年20个证书,每个证书3个月有效期。
  • 个人测试证书(pro):需要付费68块大洋购买,有效期为一年。

3.创建证书

4.成功后返回到列表,稍等一会,状态会变成已签发

5.点击更多,然后找到nginx项,点击下载

6.在unicloud的证书和秘钥处,填入下载下来的内容即可

收起阅读 »

寻求uni熟手合作

招聘与外包

寻求uni-app熟手合作项目,你负责技术,我负责变现,利润分成。VX:xiaoniuniu023628

寻求uni-app熟手合作项目,你负责技术,我负责变现,利润分成。VX:xiaoniuniu023628

马上2026年了uni-app-x会是未来吗

早在2021年就做了uview组件库对vue3的适配版本,因为之前自己项目的经验,加上vue3虽然与vue2有些许不同,但整体向下兼容性是很高的,总体而言需要修改适配的工作量并不会太大,也就2天就完成了初步的基础适配(虽然基础适配耗时并不长,但其后的修复与完善仍然需要投入很多时间,期间也得到了很多热心用户的PR,感谢他们)。

dcloud于2022年就发布了uni-app-x,看到之后其实当时久觉得这个一定是未来的风向,自2015年步入移动端开发,我曾经历并尝试了几乎大部分主流的跨平台移动开发方案,从最开始的cordova(phonegap)不知道有没有人还有印象,当时配合国外一个知名UI框架Framework7做页面很合适,淘宝还定制了一个自己的Framework7版本,再到后来的reactnative、fultter(这俩方案尝试没多久就放弃了,因为其门槛、复杂度高了些,并不利于向前端普及),真正好的跨平台方案一定要门槛低,对前端开发着友好,reactnative/fultter的环境配置就会拦住一大批人,而会带来显著的副作用,生态起来会很慢很慢,更别提他们对web的支持很有限。几年过去了事实也是如此,至少在国内,rn/flutter的占比很低。

后来微信推出了小程序,国内跨平台届更是迎来一次大洗牌,在国内跨平台势必要支持微信小程序,当时美团率先推出了mpVue,后来Dcloud推出了uni-app后来居上,从此逐步发展壮大,可以看出来dcloud有着很强的研发实力,从框架的平台支持、vue的二次开发等等方面显著领先于其他方案,虽然bug也不少,但可以理解,跨平台要比普通开发个原生App什么的吃研发,天生就复杂麻烦容易出兼容问题。

记得2024年8月立项打算开始给uview-plus适配uni-app-x,适配之初就发现难度跟当初适配vue3不是一个等级的。一开始就遇到一个几个问题,其一当时uni-app-x还不支持联合类型,而uview中很多组件的props同时兼容string和number,这在js方案里能方便用户,但是在当时适配就必须取舍,当时尝试先改了几个组建让它们只支持单类型,一番尝试后发现不太现实,这样会对uview的API兼容性产生巨大破坏。

于是适配计划进度放慢,一般改着一边等uni-app-x完善,除了上面的联合类型问题,遇到的第二个问题是调试问题,可能是对mixin支持还不完善,在mixin情况下很多报错文件与行数毫不相关,让人摸不着头脑,没办法只能剔除所有其他代码,采用二分法一步步定位问题在哪段代码里。适配过程中是一个很繁杂的过程,看这屏幕上成百上千个报错要一个个定位解决。

除了以上问题其实很有遇到很多适配问题,比如button组建不支持嵌套子组建、动画支持还未彻底完成等各种问题不一一列举,总之开发者使用uni-app-x会比uni-app要更耐心一些。

其后由于其他项目原因,uni-app-x的适配计划不断延期,不断有用户询问,随着uni-app-x越来越完善,于是在2026年来临之前,决定将适配工作完成。经过一些几乎通宵的推进,在尽量保证uview接口兼容性的前提下,目前终于完成了初步的适配。已经发布到插件市场https://ext.dcloud.net.cn/plugin?id=26339。为了区分以及AI识别等场景考虑,新版本名称改为uview-ultra将于uview-plus同步维护,当然必定还存在一些未完成的部分和细节问题,后续将逐步修复与完善。目前组建本身仍然是保持选项式API,未来将逐步改写组合式。

最后2026年了,你开始使用uni-app-x了,我认为它确实是未来的方向。一个编译到各端原生的跨平台方案,且有着强大的生态与用户基础,它的发展一定是值得期待的。(曾经微软也做过类似的事情,用C#编译到ios和安卓原生,但是太不彻底了,没有进行统一封装,事实上结果是用C#写两端,代码复用性并不高,而uni-app-x是目前已知最成熟、最完善的编译到各端原生跨平台方案)。

继续阅读 »

早在2021年就做了uview组件库对vue3的适配版本,因为之前自己项目的经验,加上vue3虽然与vue2有些许不同,但整体向下兼容性是很高的,总体而言需要修改适配的工作量并不会太大,也就2天就完成了初步的基础适配(虽然基础适配耗时并不长,但其后的修复与完善仍然需要投入很多时间,期间也得到了很多热心用户的PR,感谢他们)。

dcloud于2022年就发布了uni-app-x,看到之后其实当时久觉得这个一定是未来的风向,自2015年步入移动端开发,我曾经历并尝试了几乎大部分主流的跨平台移动开发方案,从最开始的cordova(phonegap)不知道有没有人还有印象,当时配合国外一个知名UI框架Framework7做页面很合适,淘宝还定制了一个自己的Framework7版本,再到后来的reactnative、fultter(这俩方案尝试没多久就放弃了,因为其门槛、复杂度高了些,并不利于向前端普及),真正好的跨平台方案一定要门槛低,对前端开发着友好,reactnative/fultter的环境配置就会拦住一大批人,而会带来显著的副作用,生态起来会很慢很慢,更别提他们对web的支持很有限。几年过去了事实也是如此,至少在国内,rn/flutter的占比很低。

后来微信推出了小程序,国内跨平台届更是迎来一次大洗牌,在国内跨平台势必要支持微信小程序,当时美团率先推出了mpVue,后来Dcloud推出了uni-app后来居上,从此逐步发展壮大,可以看出来dcloud有着很强的研发实力,从框架的平台支持、vue的二次开发等等方面显著领先于其他方案,虽然bug也不少,但可以理解,跨平台要比普通开发个原生App什么的吃研发,天生就复杂麻烦容易出兼容问题。

记得2024年8月立项打算开始给uview-plus适配uni-app-x,适配之初就发现难度跟当初适配vue3不是一个等级的。一开始就遇到一个几个问题,其一当时uni-app-x还不支持联合类型,而uview中很多组件的props同时兼容string和number,这在js方案里能方便用户,但是在当时适配就必须取舍,当时尝试先改了几个组建让它们只支持单类型,一番尝试后发现不太现实,这样会对uview的API兼容性产生巨大破坏。

于是适配计划进度放慢,一般改着一边等uni-app-x完善,除了上面的联合类型问题,遇到的第二个问题是调试问题,可能是对mixin支持还不完善,在mixin情况下很多报错文件与行数毫不相关,让人摸不着头脑,没办法只能剔除所有其他代码,采用二分法一步步定位问题在哪段代码里。适配过程中是一个很繁杂的过程,看这屏幕上成百上千个报错要一个个定位解决。

除了以上问题其实很有遇到很多适配问题,比如button组建不支持嵌套子组建、动画支持还未彻底完成等各种问题不一一列举,总之开发者使用uni-app-x会比uni-app要更耐心一些。

其后由于其他项目原因,uni-app-x的适配计划不断延期,不断有用户询问,随着uni-app-x越来越完善,于是在2026年来临之前,决定将适配工作完成。经过一些几乎通宵的推进,在尽量保证uview接口兼容性的前提下,目前终于完成了初步的适配。已经发布到插件市场https://ext.dcloud.net.cn/plugin?id=26339。为了区分以及AI识别等场景考虑,新版本名称改为uview-ultra将于uview-plus同步维护,当然必定还存在一些未完成的部分和细节问题,后续将逐步修复与完善。目前组建本身仍然是保持选项式API,未来将逐步改写组合式。

最后2026年了,你开始使用uni-app-x了,我认为它确实是未来的方向。一个编译到各端原生的跨平台方案,且有着强大的生态与用户基础,它的发展一定是值得期待的。(曾经微软也做过类似的事情,用C#编译到ios和安卓原生,但是太不彻底了,没有进行统一封装,事实上结果是用C#写两端,代码复用性并不高,而uni-app-x是目前已知最成熟、最完善的编译到各端原生跨平台方案)。

收起阅读 »