快速入门
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-wechat`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/wechat/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
“安装”章节你可以使用我们的 AI 辅助设置来安装插件。使用以下命令将 Capgo skills 添加到你的 AI 工具中:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下 prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-wechat` plugin in my project.如果你更想手动设置,请运行以下命令安装插件,并按照下方各平台的说明操作:
bun add @capgo/capacitor-wechatbunx cap sync导入
“导入”章节import { CapacitorWechat } from '@capgo/capacitor-wechat';快速入门
章节标题为“快速入门”import { CapacitorWechat } from '@capgo/capacitor-wechat';
await CapacitorWechat.initialize({ appId: 'wx1234567890', universalLink: 'https://example.com/app/'});示例:isInstalled
标题为“示例:isInstalled”的章节import { CapacitorWechat } from '@capgo/capacitor-wechat';
const { installed } = await CapacitorWechat.isInstalled();if (installed) { console.log('WeChat is installed');}示例:auth
标题为“示例:auth”的章节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常见坑点
章节标题为“常见陷阱”- 初始化一次: 在应用启动时运行 setup。
- 原生同步:运行
bunx cap sync在插件升级后。 - 唯一可信来源:信任
src/definitions.ts在 GitHub 仓库中。
API 概览
章节标题:“API 概览”initialize
“initialize” 章节使用应用凭据初始化 WeChat SDK。
你也可以在 capacitor.config.ts 下的 CapacitorWechat
插件配置中设置这些值。在运行时调用此方法会覆盖任何已打包的配置。
import { CapacitorWechat } from '@capgo/capacitor-wechat';
await CapacitorWechat.initialize({ appId: 'wx1234567890', universalLink: 'https://example.com/app/'});isInstalled
标题为“isInstalled”的章节检查设备是否已安装微信。
import { CapacitorWechat } from '@capgo/capacitor-wechat';
const { installed } = await CapacitorWechat.isInstalled();if (installed) { console.log('WeChat is installed');}auth
标题为“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 servershare
标题为“share”的章节将内容分享至微信。
import { CapacitorWechat } from '@capgo/capacitor-wechat';
// Share textawait CapacitorWechat.share({ scene: 0, // 0 = Session, 1 = Timeline, 2 = Favorite type: 'text', text: 'Hello WeChat!'});
// Share linkawait 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
“sendPaymentRequest” 部分向微信支付发起支付请求。
import { CapacitorWechat } from '@capgo/capacitor-wechat';
// Get payment params from your server firstconst 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
“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});chooseInvoice
“chooseInvoice” 部分从微信中选择发票。
import { CapacitorWechat } from '@capgo/capacitor-wechat';
const { cards } = await CapacitorWechat.chooseInvoice({ appId: 'your_app_id', signType: 'SHA1', cardSign: 'signature', timeStamp: '1234567890', nonceStr: 'random_string'});console.log('Selected cards:', cards);类型参考
“类型参考” 章节WechatInitializationOptions
标题为“WechatInitializationOptions”的章节微信初始化选项。
export interface WechatInitializationOptions { /** * Required WeChat application ID. */ appId: string;
/** * iOS universal link that is associated with your WeChat application. */ universalLink?: string;}WechatAuthOptions
标题为“WechatAuthOptions”的章节微信授权选项。
export interface WechatAuthOptions { /** * OAuth scope. Use 'snsapi_userinfo' for user info or 'snsapi_login' for login only. */ scope: string;
/** * Optional state parameter for CSRF protection. */ state?: string;}WechatAuthResponse
标题为“WechatAuthResponse”的章节微信授权响应。
export interface WechatAuthResponse { /** * Authorization code to exchange for access token. */ code: string;
/** * State parameter if provided in request. */ state?: string;}WechatShareOptions
标题为“WechatShareOptions”的章节微信分享选项。
export interface WechatShareOptions { /** * Share scene: 0 = Session (chat), 1 = Timeline (moments), 2 = Favorite. */ scene: number;
/** * Share type: 'text', 'image', 'link', 'music', 'video', 'miniprogram'. */ type: 'text' | 'image' | 'link' | 'music' | 'video' | 'miniprogram';
/** * Text content (for type 'text'). */ text?: string;
/** * Title (for type 'link', 'music', 'video', 'miniprogram'). */ title?: string;
/** * Description (for type 'link', 'music', 'video', 'miniprogram'). */ description?: string;
/** * Link URL (for type 'link'). */ link?: string;
/** * Image URL or base64 data. */ imageUrl?: string;
/** * Thumbnail URL or base64 data (for type 'link', 'music', 'video'). */ thumbUrl?: string;
/** * Music or video URL (for type 'music', 'video'). */ mediaUrl?: string;
/** * Mini-program username (for type 'miniprogram'). */ miniProgramUsername?: string;
/** * Mini-program path (for type 'miniprogram'). */ miniProgramPath?: string;
/** * Mini-program type: 0 = Release, 1 = Test, 2 = Preview (for type 'miniprogram'). */ miniProgramType?: number;
/** * Mini-program web page URL fallback (for type 'miniprogram'). */ miniProgramWebPageUrl?: string;}WechatPaymentOptions
“WechatPaymentOptions” 章节微信支付选项。
export interface WechatPaymentOptions { /** * Partner ID (merchant ID). */ partnerId: string;
/** * Prepay ID from unified order API. */ prepayId: string;
/** * Random string. */ nonceStr: string;
/** * Timestamp. */ timeStamp: string;
/** * Package value, typically 'Sign=WXPay'. */ package: string;
/** * Signature. */ sign: string;}WechatMiniProgramOptions
“WechatMiniProgramOptions” 章节微信小程序选项。
export interface WechatMiniProgramOptions { /** * Mini-program username (original ID). */ username: string;
/** * Path to open in mini-program. */ path?: string;
/** * Mini-program type: 0 = Release, 1 = Test, 2 = Preview. */ type?: number;}WechatInvoiceOptions
“WechatInvoiceOptions” 章节微信发票选项。
export interface WechatInvoiceOptions { /** * App ID. */ appId: string;
/** * Signature type. */ signType: string;
/** * Card signature. */ cardSign: string;
/** * Timestamp. */ timeStamp: string;
/** * Random string. */ nonceStr: string;}WechatInvoiceResponse
“WechatInvoiceResponse” 章节微信发票响应。
export interface WechatInvoiceResponse { /** * Array of selected card IDs. */ cards: WechatInvoiceCard[];}WechatInvoiceCard
“WechatInvoiceCard” 章节WeChat 发票卡片项。
export interface WechatInvoiceCard { /** * The selected card identifier. */ cardId: string;
/** * Encrypted code returned by WeChat. */ encryptCode?: string;}单一事实来源
标题为“单一事实来源”的部分本页面由插件的 src/definitions.ts生成。当上游的公共 API 发生变化时,请重新运行 sync。
从入门指南继续
“从入门指南继续”章节如果你正在使用 快速入门 要规划 dashboard 和 API 操作,请将其连接到 使用 @capgo/capacitor-wechat 用于“使用 @capgo/capacitor-wechat”中的原生能力, API 概览 关于 API Overview 中的实现细节, 简介 关于 Introduction 中的实现细节, API 密钥 有关 API Keys 的实现细节,以及 设备 有关 Devices 的实现细节。