跳转至正文

微信 Capacitor 插件

适用于 Capacitor 的 WeChat SDK —— 支持身份验证、分享、支付及小程序

安装

bun add @capgo/capacitor-wechat bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-wechat
  • pnpm add @capgo/capacitor-wechat
  • yarn add @capgo/capacitor-wechat

指南

如何在 Capacitor 中使用微信

使用 @capgo/capacitor-wechat

Capacitor 微信插件 - 实现微信 SDK 集成,支持身份验证、分享、支付及小程序。

安装

bun add @capgo/capacitor-wechat
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { CapacitorWechat } from '@capgo/capacitor-wechat';

API 概览

方法 描述
initialize 使用应用凭据初始化 WeChat SDK。
isInstalled 检查设备是否已安装微信。
auth 通过微信 OAuth 进行用户身份验证。
share 将内容分享至微信。
sendPaymentRequest 向微信支付发送付款请求。
openMiniProgram 打开微信小程序。
chooseInvoice 从微信中选择发票。

示例

initialize()

使用应用凭据初始化 WeChat SDK。

import { CapacitorWechat } from '@capgo/capacitor-wechat';

await CapacitorWechat.initialize({
  appId: 'wx1234567890',
  universalLink: 'https://example.com/app/'
});

isInstalled()

检查设备是否已安装微信。

import { CapacitorWechat } from '@capgo/capacitor-wechat';

const { installed } = await CapacitorWechat.isInstalled();
if (installed) {
  console.log('WeChat is installed');
}

auth()

通过微信 OAuth 进行用户身份验证。

import { CapacitorWechat } from '@capgo/capacitor-wechat';

const { code, state } = await CapacitorWechat.auth({
  scope: 'snsapi_userinfo',
  state: 'my_state'
});
// Use code to get access token from your server

share()

将内容分享至微信。

import { CapacitorWechat } from '@capgo/capacitor-wechat';

// Share text
await CapacitorWechat.share({
  scene: 0, // 0 = Session, 1 = Timeline, 2 = Favorite
  type: 'text',
  text: 'Hello WeChat!'
});

// Share link
await CapacitorWechat.share({
  scene: 1,
  type: 'link',
  title: 'My Website',
  description: 'Check out my website',
  link: 'https://example.com',
  imageUrl: 'https://example.com/image.jpg'
});

sendPaymentRequest()

向微信支付发送付款请求。

import { CapacitorWechat } from '@capgo/capacitor-wechat';

// Get payment params from your server first
const paymentParams = await fetchPaymentParamsFromServer();

await CapacitorWechat.sendPaymentRequest({
  partnerId: paymentParams.partnerId,
  prepayId: paymentParams.prepayId,
  nonceStr: paymentParams.nonceStr,
  timeStamp: paymentParams.timeStamp,
  package: paymentParams.package,
  sign: paymentParams.sign
});

openMiniProgram()

打开微信小程序。

import { CapacitorWechat } from '@capgo/capacitor-wechat';

const { extMsg } = await CapacitorWechat.openMiniProgram({
  username: 'gh_xxxxxxxxxxxxx',
  path: 'pages/index/index',
  type: 0 // 0 = Release, 1 = Test, 2 = Preview
});

上表列出了 7 个核心方法。监听器、版本辅助函数以及每个方法的完整接口文档请参阅 GitHub 仓库.

完整参考文档

继续了解如何使用 @capgo/capacitor-wechat

如果你正在使用 使用 @capgo/capacitor-wechat 用来规划身份验证和账户流程,并将它与 @capgo/capacitor-wechat 了解 @capgo/capacitor-wechat 中的实现细节, 快速入门 有关“入门指南”中的实现细节, @capgo/capacitor-social-login 在 @capgo/capacitor-social-login 中查看实现细节, @capgo/capacitor-passkey 关于 @capgo/capacitor-passkey 的实现细节,以及 @capgo/capacitor-native-biometric 了解 @capgo/capacitor-native-biometric. 的实现细节

常见问题

WeChat 插件常见问题

如何在 Capacitor 应用中安装 WeChat 插件?

运行 "bun add @capgo/capacitor-wechat"(或 "npm install @capgo/capacitor-wechat"),然后运行 "bunx cap sync",使 iOS 和 Android 项目同步 native code。最后在你的应用 code 中从 "@capgo/capacitor-wechat" 导入即可。

@capgo/capacitor-wechat 是否支持 React、Vue 和 Angular?

支持。WeChat 是一个 Capacitor 包,因此它可以与任何在 Capacitor 中运行的 Web 框架配合使用,包括 Ionic、React、Vue、Angular、Svelte 以及原生 JavaScript。

@capgo/capacitor-wechat 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-wechat 是免费开源的吗?

是的。code 的源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-wechat/,并且你可以通过 npm 免费安装该包。欢迎提交 Bug 报告和 Pull Request。

我可以在不经过 App Store 审核的情况下,更新使用 WeChat 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待应用审核,即可快速发布 WeChat 更新

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo