更新记录
1.0.0(2026-09-30) 下载此版本
首次发布。
-
三端统一 API: openMiniProgram/isWeChatInstalled,success/fail/平台 能力 说明 Android 微信 OpenSDK wechat-sdk-android 6.8.0 Maven Central 自动依赖 iOS 宿主注入 WechatOpenSDK Swift 桥接调用 WXApiHarmonyOS @tencent/wechat_open_sdkohpm 依赖
平台兼容性
uni-app(5.26)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(5.26)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | √ | √ | √ | × |
其他
| 多语言 | 暗黑模式 | 宽屏模式 | 蒸汽模式 |
|---|---|---|---|
| × | × | × | √ |
微信小程序拉起(App 打开微信小程序)
面向 uni-app x(含蒸汽模式) 的三端 UTS 插件。App 内一键拉起指定微信小程序页面,可带路径与 query 参数,支持正式 / 开发 / 体验版。
| 平台 | 能力 | 说明 |
|---|---|---|
| Android | 微信 OpenSDK ***-sdk-android 6.8.0 | Maven Central 自动依赖 |
| iOS | 宿主注入 ***OpenSDK | Swift 桥接调用 WXApi |
| HarmonyOS | **@tencent/***_open_sdk** |
ohpm 依赖 |
功能特性
| 特性 | 说明 |
|---|---|
| 三端统一 API | openMiniProgram / is***Installed,success / fail / complete |
| 指定页面与参数 | path + query 自动拼成 path?query |
| 小程序版本 | envVersion:0 正式 / 1 开发 / 2 体验 |
| 安装检测 | is***Installed() 先判断,避免无效拉起 |
| 失败可预期 | 统一 905xxxx 错误码 + 用户可读中文 errMsg |
| 回传数据 | 小程序 extMsg 由宿主微信回调处理,本插件只负责发起拉起 |
| Android 11+ | 插件 Manifest 已注入 queries 可见 com.tencent.mm |
平台兼容性
| 平台 | 支持 | 说明 |
|---|---|---|
| Android | ✅ | 自定义基座或云打包;需宿主已配置微信 AppID;minSdkVersion 21 |
| iOS | ✅ | 真机;需 LSApplicationQueriesSchemes 含 weixin / weixinULAPI 与 Universal Links;deploymentTarget 12.0 |
| HarmonyOS | ✅ | 自定义基座或云打包 + arm64 真机 |
| Web / 小程序 | ❌ | 调用回 9050005,请改用小程序跳转 API |
- HBuilderX:
^3.6.8 - uni-app x:App-Android / App-iOS / App-HarmonyOS(含蒸汽模式)
前置条件
- 微信开放平台 已创建移动应用,并开通「拉起小程序」能力。
- 小程序与移动应用已绑定(同一开放平台账号)。
- 宿主
manifest.json已配置微信模块(uni-oauth/uni-share的 weixinappid),或等价写入WX_APPIDmeta。 - 未上架的移动应用,微信官方限制拉起小程序约 100 次/天,联调请注意。
快速开始
import { openMiniProgram, is***Installed } from '@/uni_modules/bin-wxminiprog'
if (!is***Installed()) {
uni.showToast({ title: '请先安装微信', icon: 'none' })
return
}
openMiniProgram({
userName: 'gh_xxxxxxxxxxxx', // 小程序原始 ID(gh_ 开头)
path: 'pages/payApp/payApp', // 页面路径,可省略(打开首页)
query: 'payid=123&type=1', // 不带问号的 query,自动拼在 path 后
envVersion: 0, // 0 正式 / 1 开发 / 2 体验
success: (res) => {
// res.launched === true 表示已成功发起拉起
console.log(res.userName, res.path)
},
fail: (err) => {
uni.showToast({ title: err.errMsg, icon: 'none' })
}
})
业务侧可将小程序原始 ID 抽成常量:
export const WX_MINI_PROGRAM_ID = 'gh_xxxxxxxxxxxx'
API
openMiniProgram(options)
拉起微信小程序指定页面。发起成功即触发 success;用户在小程序内完成业务后的 extMsg 回传由宿主微信回调处理,不在本 API 同步返回。
Options
| 字段 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
userName |
string |
✅ | - | 小程序原始 ID,gh_ 开头(不是 AppID、不是昵称) |
path |
string |
❌ | 空 | 小程序页面路径,如 pages/index/index;空则打开首页 |
query |
string |
❌ | 空 | query 参数串,不带问号,如 id=1&type=a;与 path 同时有值时拼成 path?query |
envVersion |
number |
❌ | 0 |
0 正式版 / 1 开发版 / 2 体验版 |
success |
(res) => void |
❌ | - | 发起拉起成功 |
fail |
(err) => void |
❌ | - | 失败 |
complete |
(res) => void |
❌ | - | 结束回调(成功或失败都会走) |
Success 结果
| 字段 | 类型 | 说明 |
|---|---|---|
launched |
boolean |
固定 true,表示已成功发起拉起 |
path |
string |
实际传给微信的 path(含 query),空串表示首页 |
userName |
string |
小程序原始 ID |
Fail 错误
| 字段 | 类型 | 说明 |
|---|---|---|
errCode |
number |
见下方错误码表 |
errMsg |
string |
用户可读中文文案 |
errSubject |
string |
固定 bin-wxminiprog |
is***Installed(): boolean
同步返回微信是否已安装。建议拉起前调用,未安装时给引导文案。
错误码
| errCode | 说明 |
|---|---|
9050001 |
未找到微信 AppID,请确认 manifest 已配置微信模块 |
9050002 |
微信未安装或当前微信版本不支持 |
9050003 |
参数缺失或非法(userName 须为 gh_ 开头的小程序原始 ID) |
9050004 |
拉起微信小程序失败 |
9050005 |
当前平台不支持打开微信小程序(如 Web) |
各端接入说明
Android
- 依赖 Maven Central
com.tencent.mm.opensdk:***-sdk-android:6.8.0(插件config.json已声明,云打包 / 自定义基座自动拉取)。 - Manifest 已注入 Android 11+ 软件包可见性:
<queries><package android:name="com.tencent.mm" /></queries>。 - AppID 读取自宿主 meta
WX_APPID。 - 真机验证请使用 自定义基座或云打包(标准基座可能不含微信 SDK 依赖)。
iOS
- SDK 由宿主微信模块注入,插件通过 Swift 桥调用,不重复 link SDK。
- 需在
manifest配置微信appid、Universal Links;LSApplicationQueriesSchemes须含weixin/weixinULAPI(HBuilderX 微信模块通常已处理)。 - AppID / Universal Link 兼容多种 Info.plist 键名,也可用 URL Scheme
wx+ 16 位 AppID。
HarmonyOS
- ohpm 依赖
@tencent/***_open_sdk(^1.0.15)。 - AppID 读取自应用 metadata
WX_APPID。 - 需 自定义基座或云打包 + arm64 真机验证。
隐私与权限
- 插件不采集、不存储、不上传任何业务数据。
- 拉起动作依赖本机已安装的微信与宿主配置的微信 AppID,走系统跳转,不获取微信内用户数据。
- 小程序侧
extMsg由微信回调到宿主微信模块,不在本插件落盘。 - 如需统计拉起次数,请在业务层自行实现。
常见问题
Q:fail 9050001?
宿主未配置微信移动应用 AppID。在 manifest.json 的微信相关模块填好 appid,云打包 / 自定义基座后重试。
Q:fail 9050002?
设备未装微信,或微信版本过低。可先 is***Installed() 引导安装。
Q:fail 9050003?
userName 必须是小程序原始 ID(gh_ 开头)。到微信公众平台「设置—基本设置—帐号信息」查看原始 ID,不要填 AppID 或名称。
Q:success 了但没进目标页面?
检查 path 是否为小程序已发布/已体验的页面路径,query 不要带 ?。
Q:能收到小程序回传的 extMsg 吗?
可以,但不在本插件的 success 里。需在宿主微信回调中处理 COMMAND_LAUNCH_WX_MINIPROGRAM 的 extMsg。
Q:开发版 / 体验版拉不起来?
envVersion 传 1(开发)或 2(体验),且当前微信账号需有该小程序的开发/体验权限;正式包请传 0。
**Q:云打包报 Could not resolve ***-sdk-android?**
Android 侧需能访问 Maven Central(检查网络 / 代理配置)后重新打包。
版本要求
| 项 | 版本 |
|---|---|
| HBuilderX | ^3.6.8 |
| uni-app x | App-Android / App-iOS / App-HarmonyOS |
| Android ***-sdk | 6.8.0(Maven Central) |
| HarmonyOS ***_open_sdk | ^1.0.15 |
| iOS deploymentTarget | 12.0 |

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 178
赞赏 0
下载 12649086
赞赏 1953
赞赏
京公网安备:11010802035340号