随着鸿蒙生态的不断发展,越来越多开发者希望实现应用间的无缝联动,特别是与微信小程序的交互场景,比如拉起乘车码、城市服务等。这类需求在社区中也屡见不鲜,实际开发过程中更是踩坑不断。
本文将完整分享如何在 HarmonyOS 中实现“拉起微信小程序”的能力,覆盖从申请 AppId、SDK 集成到拉起实现与常见错误排查的全过程。若你尚不清楚 HarmonyOS 中其他拉起方式,可参考本系列第一篇文章。
一、前期准备工作
1. 在微信开放平台申请 AppId 并配置鸿蒙应用信息
要拉起微信小程序,首先需要在微信开放平台申请一个鸿蒙专用的移动应用 ID(AppId),注意:
- 提交审核前需正确填写应用信息,包括 Bundle Name、签名等;
- 微信将收取审核费用(海外/国内账号略有不同),审核时间约为 5 个工作日;
- 没有审核通过的 AppId 无法正常拉起微信能力。
2. 集成微信 SDK 到鸿蒙项目中
微信已适配 HarmonyOS 并提供官方 SDK,你可以通过 ohpm 安装:
ohpm i @tencent/wechat_open_sdk
项目地址:@tencent/wechat_open_sdk - OHPM 三方库
注意:SDK 目前未依赖 so 库,因此支持在元服务中使用。但请注意,一般的元服务本身无法直接拉起微信应用。
3. 配置 module.json5 中的 querySchemes(容易遗漏)
确保在 entry/src/main/module.json5 中声明以下字段:
"querySchemes": [
"weixin",
"wxopensdk"
]
若未配置该字段,会导致系统无法识别
weixin://等 Scheme,从而拉起失败。
4. 获取目标微信小程序的原始 ID(userName)
你需要获取目标小程序的“原始 ID”,方式如下:
1.在微信中打开目标小程序(例如“乘车码”),点击右上角进入详情页;

2.点击「小程序资料」或「更多信息」;

3.复制“原始 ID”,即类似 gh_xxxxxxxx 的字符串

二、实现代码示例:拉起微信小程序
以下是封装后的工具类 WxSdkHelper,用于拉起指定微信小程序:
const TAG = 'WeiXinSdkOpenHelper'
export class WxSdkHelper {
static instance: WxSdkHelper = new WxSdkHelper()
static isStartNet: boolean = true
private static readonly WX_BUNDLE_NAME = 'com.tencent.wechat'

最低0.47元/天 解锁文章
792

被折叠的 条评论
为什么被折叠?



