更新记录
1.0.2(2026-08-06) 下载此版本
说明文档更新
1.0.1(2026-08-05) 下载此版本
mevermore-wechat
平台兼容性
uni-app(3.8.1)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | 5.0 | - | 20 |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - | - |
uni-app x(3.8.1)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
mevermore-wechat
插件简介
mevermore-wechat 是一款基于 UTS 开发的 uni-app 原生插件,用于在 Android 和鸿蒙(HarmonyOS)平台上实现调起微信小程序的功能。插件封装了微信官方 SDK,提供了从 App 内一键跳转至指定微信小程序页面的能力。
适用场景
- App 内跳转微信小程序完成支付
- App 内跳转微信小程序进行下单/点餐
- App 内跳转到微信小程序的任意业务页面
- 需要与微信小程序联动的业务场景
支持平台
| 平台 | 最低版本 | 说明 |
|---|---|---|
| Android | 5.0 (minSdkVersion 21) | 依赖微信 Android SDK |
| HarmonyOS | API 12+ | 依赖微信鸿蒙 SDK |
| iOS | - | 暂不支持 |
| H5 | - | 暂不支持 |
| 小程序 | - | 暂不支持 |
功能特性
- ✅ 调起微信小程序:通过 AppID + 小程序原始ID + 页面路径,直接跳转到指定小程序页面
- ✅ 微信 SDK 封装:Android 集成
wechat-sdk-android:6.8.38,鸿蒙集成@tencent/wechat_open_sdk - ✅ 回调处理:内置
WXEntryActivity处理微信回调(onResp / onReq) - ✅ 数据透传:支持
extraData参数向小程序传递额外数据 - ✅ 多实例导航:提供 LoongNavigation 工具类,支持多种 Activity 跳转方式
安装配置
1. 引入插件
将 mevermore-wechat 放入项目的 uni_modules 目录中即可。
2. 制作自定义基座
由于插件依赖微信原生 SDK,必须使用自定义基座运行:
- 在 HBuilderX 中选择
运行 → 运行到手机或模拟器 → 制作自定义调试基座 - 等待打包完成(首次打包需下载微信 SDK 依赖,耗时较长)
- 运行时勾选「使用自定义基座运行」
⚠️ 标准基座不包含微信 SDK,会导致编译失败。
3. 配置微信 AppID
在调用插件方法前,需要先完成微信开放平台的配置:
- 前往 微信开放平台 注册并获取 AppID
- 在微信开放平台配置你的应用包名和签名
- 将 AppID 填入调用参数中
API 说明
launchMiniProgram
调起微信小程序
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appId | string | ✅ | 微信开放平台 AppID |
| userName | string | ✅ | 小程序原始ID(gh_ 开头)或 AppID |
| path | string | ❌ | 小程序页面路径,为空则跳转首页 |
| extraData | Map<string, any> | ❌ | 传递给小程序的额外数据 |
返回值:
{
success: boolean, // 是否成功
error?: string // 失败时的错误信息
}
调用示例:
import { launchMiniProgram } from '@/uni_modules/mevermore-wechat';
const result = await launchMiniProgram({
appId: 'wx1234567890',
userName: 'gh_abcdef123456',
path: 'pages/index/index?id=123',
extraData: {
orderId: 'ORDER_001',
from: 'myApp'
}
});
if (result.success) {
console.log('调起成功');
} else {
console.log('调起失败:', result.error);
}
架构设计
目录结构
mevermore-wechat/
├── interface.uts # 接口定义(跨平台共享)
├── package.json # 插件元信息
├── readme.md # 说明文档
└── utssdk/
├── app-android/ # Android 实现
│ ├── index.uts # Android 主入口
│ ├── WXEntryActivity.uts # 微信回调 Activity
│ ├── DemoActivity.uts # Demo Activity
│ ├── LoongConst.kt # 常量存储(Kotlin)
│ ├── LoongNavigation.kt # 导航工具(Kotlin)
│ ├── config.json # Android 依赖配置
│ ├── AndroidManifest.xml # Android 清单文件
│ ├── res/layout/ # 布局资源
│ └── ...
└── app-harmony/ # 鸿蒙实现
├── index.uts # 鸿蒙主入口
├── wxHandler.uts # 微信事件处理器
├── config.json # 鸿蒙依赖配置
└── ...
Android 实现流程
调用 launchMiniProgram()
│
▼
initWXAPI(appId) ← 初始化微信 SDK(创建并注册 WXAPI 实例)
│
▼
WXLaunchMiniProgram.Req() ← 构造小程序跳转请求
│
▼
api.sendReq(req) ← 发送请求,拉起微信
│
▼
微信跳转小程序 ← 用户进入小程序
│
▼
WXEntryActivity.onResp() ← 微信回调,处理完成后 finish()
鸿蒙实现流程
调用 launchMiniProgram()
│
▼
WXAPIFactory.createWXAPI() ← 初始化鸿蒙微信 SDK
│
▼
检查微信安装状态
│
▼
LaunchMiniProgramReq() ← 构造跳转请求
│
▼
WXApi.sendReq(context, req) ← 发送请求
│
▼
WXApiEventHandlerImpl ← 处理微信回调
Android 权限说明
插件在 AndroidManifest.xml 中声明了以下权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
同时通过 <queries> 声明查询微信包:
<queries>
<package android:name="com.tencent.mm" />
</queries>
依赖说明
Android 依赖
| 依赖 | 版本 | 用途 |
|---|---|---|
| com.tencent.mm.opensdk:wechat-sdk-android | 6.8.38 | 微信开放 SDK |
| androidx.appcompat:appcompat | 1.7.0 | 兼容性支持库 |
| androidx.activity:activity-ktx | 1.8.0 | Activity 扩展 |
| androidx.constraintlayout:constraintlayout | 2.1.4 | 约束布局 |
| com.google.android.material:material | 1.10.0 | Material Design |
鸿蒙依赖
| 依赖 | 版本 | 用途 |
|---|---|---|
| @tencent/wechat_open_sdk | ^1.0.19 | 鸿蒙微信开放 SDK |
注意事项
- 必须使用自定义基座:插件依赖微信原生 SDK,标准基座不包含此依赖
- AppID 配置:需要在微信开放平台正确配置应用信息
- 微信安装:目标设备必须安装微信客户端,否则会返回"未安装微信客户端"错误
- 签名一致性:微信开放平台配置的签名必须与应用签名一致
- 包名一致性:AndroidManifest 中的包名需与微信开放平台配置一致
- 小程序审核:小程序需先通过微信审核上线后才能被外部 App 调起
常见问题
Q1: 运行时提示 "找不到 com.tencent.mm.opensdk 类"
原因:使用了标准基座,标准基座不包含微信 SDK 依赖。
解决方案:制作并使用自定义调试基座。
Q2: 点击无反应或调起失败
可能原因:
- 设备未安装微信
- AppID 与包名/签名不匹配
- 网络连接异常
排查步骤:
- 确认设备已安装微信并登录
- 检查 AppID 是否正确
- 确认微信开放平台的签名与包名配置
Q3: 调起后无法回到 App
可能原因:WXEntryActivity 未在 AndroidManifest.xml 中正确声明。
解决方案:检查 AndroidManifest.xml 中是否包含 WXEntryActivity 的 activity-alias 和 activity 声明。
Q4: 鸿蒙端调起失败
可能原因:鸿蒙微信 SDK 版本不匹配或未正确配置权限。
解决方案:确认 @tencent/wechat_open_sdk 版本为 1.0.19 及以上,检查鸿蒙权限配置。
更新日志
v1.0.1
- 修复 WXEntryActivity 回调处理
- 优化导航逻辑
v1.0.0
- 初始版本发布
- 支持 Android 平台调起微信小程序
- 支持鸿蒙(HarmonyOS)平台调起微信小程序

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