更新记录

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 与小程序双端运营导流
  • 拉起前探测用户设备微信安装状态并做降级处理

安装步骤

  1. 通过 uni-app 插件市场导入本插件,或手动将 hm-*** 目录放入项目 uni_modules/ 下。
  2. 确认 utssdk/app-harmony/config.json 中已声明鸿蒙端 SDK 依赖(插件默认已配置):
{
  "dependencies": {
    "@tencent/***_open_sdk": "1.0.16"
  }
}
  1. 使用 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

隐私、权限声明

1. 本插件需要申请的系统权限列表:

本插件 不需要申请任何鸿蒙系统敏感权限 (如定位、相机、通讯录等均不涉及)。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

本插件代码 不采集、不存储、不上传任何用户数据 ,无埋点、无统计、无任何第三方服务器请求。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

本插件 不包含任何广告

暂无用户评论。