更新记录
1.0.0(2026-08-13)
...............
平台兼容性
uni-app(3.8.2)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
uni-app x(3.8.2)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | × | × | √ | × |
hm-***
鸿蒙(HarmonyOS Next)平台拉起微信小程序 UTS 插件,封装腾讯官方微信 Open SDK for HarmonyOS(@tencent/***_open_sdk),为 uni-app / uni-app x 项目提供「拉起微信小程序」与「检测微信客户端是否安装」能力。
插件特点
- 纯 UTS 实现,同时兼容 uni-app(vue/nvue)与 uni-app x(uvue)项目
- API 风格对齐 uni 官方规范,支持 success / fail / complete 回调及标准 uni 错误码(90 开头)
- 内置完整参数校验与兜底异常处理,拉起前自动检测微信客户端安装状态
- 提供 TypeScript 类型定义,HBuilderX 中可获得完整的语法提示与类型检查
适用场景
- 鸿蒙 App 内跳转到微信小程序完成支付、领券、活动参与等闭环业务
- App 与小程序双端运营导流
- 拉起前探测用户设备微信安装状态并做降级处理
安装步骤
- 通过 uni-app 插件市场导入本插件,或手动将
hm-***目录放入项目uni_modules/下。 - 确认
utssdk/app-harmony/config.json中已声明鸿蒙端 SDK 依赖(插件默认已配置):
{
"dependencies": {
"@tencent/***_open_sdk": "1.0.16"
}
}
- 使用 HBuilderX 3.6.8+ 制作鸿蒙自定义基座或打包鸿蒙 App。
配置方式
1. 微信开放平台配置
前往微信开放平台(open.weixin.qq.com)创建「移动应用」,平台选择 HarmonyOS,填写鸿蒙应用的 Bundle Name 等信息并通过审核,获得移动应用 AppID(wx 开头)。
注意:appId 参数必须填写该移动应用 AppID,切勿填写微信小程序自身的 AppID。
2. 鸿蒙工程 querySchemes 配置
在鸿蒙工程 entry/src/main/module.json5 中配置:
{
"module": {
"querySchemes": ["weixin", "wxopensdk"]
}
}
3. 小程序原始 ID 获取
目标小程序的原始 ID(gh_ 开头)可在「微信公众平台 → 设置 → 基本配置 → 账号信息」中查看。
核心 API
| API | 类型 | 说明 |
|---|---|---|
| launchMiniProgram(options) | 异步 | 拉起指定微信小程序 |
| isWXAppInstalled(appId) | 同步 | 检测当前设备是否已安装微信客户端 |
调用示例
uni-app(vue/nvue)项目
import { launchMiniProgram, isWXAppInstalled } from '@/uni_modules/hm-***';
// 先检测微信是否安装
const installed = isWXAppInstalled('wx1bdxxxxxae3e4');
if (!installed) {
uni.showToast({ title: '请先安装微信', icon: 'none' });
return;
}
// 拉起小程序
launchMiniProgram({
appId: 'wx1bdxxxxxae3e4', // 微信开放平台移动应用 AppID(鸿蒙)
userName: 'gh_d4xxxxa31f', // 小程序原始ID
path: 'pages/index/index?foo=bar', // 可选,页面路径(可带参)
miniprogramType: 0, // 可选,0-正式版 1-开发版 2-体验版
success: (res) => { console.log('拉起成功', res); },
fail: (err) => { console.error('拉起失败', err.errCode, err.errMsg); },
complete: (res) => { console.log('完成', res); }
});
uni-app x(uvue)项目
import { launchMiniProgram, LaunchMiniProgramOptions } from '@/uni_modules/hm-***';
let options = {
appId: 'wx1bdxxxxxae3e4',
userName: 'gh_d4xxxxa31f',
complete: (res: any) => { console.log(res); }
} as LaunchMiniProgramOptions;
launchMiniProgram(options);
参数说明
launchMiniProgram 入参(LaunchMiniProgramOptions)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appId | String | 是 | 微信开放平台移动应用 AppID(鸿蒙应用,非小程序 AppID) |
| userName | String | 是 | 目标小程序的原始 ID,以 gh_ 开头 |
| path | String | 否 | 拉起小程序页面的可带参路径,不填默认拉起小程序首页 |
| miniprogramType | Number | 否 | 版本类型:0-正式版、1-开发版、2-体验版,缺省为 0 |
| success | Function | 否 | 成功回调,返回 { errMsg: "ok" } |
| fail | Function | 否 | 失败回调,返回 errCode + errMsg |
| complete | Function | 否 | 结束回调(成功、失败均执行) |
isWXAppInstalled 入参
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appId | String | 是 | 微信开放平台移动应用 AppID |
错误码表
| errCode | 说明 |
|---|---|
| 9010001 | AppID 不能为空 |
| 9010002 | 小程序原始 ID(userName)不能为空 |
| 9010003 | 无法获取应用上下文(UIAbilityContext) |
| 9010004 | 微信客户端未安装 |
| 9010005 | 拉起请求发送失败 |
| 9010006 | 参数非法,miniprogramType 仅支持 0/1/2 |
| 9010007 | 当前平台不支持拉起微信小程序(仅鸿蒙已实现) |
兼容性说明
| 项目 | 最低兼容版本 |
|---|---|
| HBuilderX | 3.6.8+ |
| uni-app | 3.1.0+ |
| uni-app x | 3.1.0+ |
平台支持范围:
| 平台 | 支持情况 |
|---|---|
| App-Harmony(鸿蒙 Next) | 支持 |
| App-Plus(Android/iOS) | 不支持(其他平台调用返回 9010007) |
| 小程序 / H5 / 快应用 | 不支持 |
Vue 版本支持
本插件为纯 UTS API 插件(不含 UI 组件),Vue 版本无关:
- 支持 Vue2(uni-app 项目)
- 支持 Vue3(uni-app / uni-app x 项目)
系统权限说明
本插件不需要申请任何鸿蒙系统敏感权限(定位、相机、通讯录等均不涉及),所需配置均为非权限类的清单声明:
| 配置项 | 用途 | 配置时机 |
|---|---|---|
| querySchemes: ["weixin", "wxopensdk"] | 允许应用查询/跳转微信客户端的 URL Scheme,用于检测微信安装状态及拉起微信 | 打包前在 module.json5 静态配置,无需运行时申请 |
| @tencent/***_open_sdk 依赖 | 集成腾讯微信 Open SDK 鸿蒙版 | 打包前在 config.json 静态配置 |
数据采集与使用说明
- 插件自身不采集、不存储、不上传任何用户数据,无埋点、无统计、无任何第三方服务器请求。
- 调用 launchMiniProgram 时,仅将「移动应用 AppID、小程序原始 ID、页面路径、版本类型」通过腾讯微信 Open SDK 的本地接口传递给本机已安装的微信客户端进程,用于完成应用间跳转,数据不出设备。
- 拉起后的行为发生在微信客户端内部,由微信按其隐私政策处理,与本插件无关。开发者应在自身 App 的隐私政策中声明集成了「微信 Open SDK(HarmonyOS)」,用途为「拉起微信小程序」。
- 插件不包含任何网络请求代码,无数据发送的服务器地址。
广告说明
本插件不包含任何广告:无开屏、插屏、激励视频、Banner 等任何形式的广告,不集成任何广告 SDK。
参考资料
- UTS 语法:https://uniapp.dcloud.net.cn/tutorial/syntax-uts.html
- UTS API 插件:https://uniapp.dcloud.net.cn/plugin/uts-plugin.html
- UTS 鸿蒙开发:https://doc.dcloud.net.cn/uni-app-x/plugin/uts-for-harmony.html
- 微信 Open SDK 鸿蒙接入指南:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/ohos.html

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 0
赞赏 0
下载 12504411
赞赏 1941
赞赏
京公网安备:11010802035340号