시작하기
__CAPGO_KEEP_0__ 설치
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.
설치
설치bun add @capgo/capacitor-wechatbunx cap sync임포트
임포트import { CapacitorWechat } from '@capgo/capacitor-wechat';API 개요
API 개요initialize
__CAPGO_KEEP_0__ 초기화SDK을 사용하여 애플리케이션 자격 증명을 초기화합니다.
이 값을 설정할 수도 있습니다. capacitor.config.ts 아래의 CapacitorWechat
플러그인 구성에서 이 값을 설정하면 런타임에 포함된 구성이 덮어씌워집니다.
import { CapacitorWechat } from '@capgo/capacitor-wechat';
await CapacitorWechat.initialize({ appId: 'wx1234567890', universalLink: 'https://example.com/app/'});isInstalled
제목이 “isInstalled”인 섹션장치에 WeChat 앱이 설치되어 있는지 확인합니다.
import { CapacitorWechat } from '@capgo/capacitor-wechat';
const { installed } = await CapacitorWechat.isInstalled();if (installed) { console.log('WeChat is installed');}auth
제목이 “auth”인 섹션WeChat 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”인 섹션콘텐츠를 WeChat에 공유합니다.
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
sendPaymentRequestWeChat Pay로 결제 요청합니다.
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
openMiniProgramWeChat 미니프로그램을 열어줍니다.
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
chooseInvoiceWeChat에서 청구서를 선택해줍니다.
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
WeChat 초기화 옵션WeChat 초기화 옵션입니다.
export interface WechatInitializationOptions { /** * Required WeChat application ID. */ appId: string;
/** * iOS universal link that is associated with your WeChat application. */ universalLink?: string;}WechatAuthOptions
WeChat 인증 옵션WeChat 인증 옵션입니다.
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
WeChat 인증 응답WeChat 인증 응답입니다.
export interface WechatAuthResponse { /** * Authorization code to exchange for access token. */ code: string;
/** * State parameter if provided in request. */ state?: string;}WechatShareOptions
WeChat 공유 옵션WeChat 공유 옵션입니다.
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
WeChat 결제 옵션WeChat 결제 옵션.
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
WeChat 미니 프로그램 옵션WeChat 미니 프로그램 옵션.
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
WeChat 송장 옵션WeChat 송장 옵션.
export interface WechatInvoiceOptions { /** * App ID. */ appId: string;
/** * Signature type. */ signType: string;
/** * Card signature. */ cardSign: string;
/** * Timestamp. */ timeStamp: string;
/** * Random string. */ nonceStr: string;}WechatInvoiceResponse
WeChat 송장 응답WeChat 송장 응답.
export interface WechatInvoiceResponse { /** * Array of selected card IDs. */ cards: WechatInvoiceCard[];}WechatInvoiceCard
WeChat Invoice Card 섹션WeChat 송장 아이템.
export interface WechatInvoiceCard { /** * The selected card identifier. */ cardId: string;
/** * Encrypted code returned by WeChat. */ encryptCode?: string;}실제 데이터 원천
실제 데이터 원천 섹션이 페이지는 플러그인의 src/definitions.ts API이 업스트림에서 변경될 때 다시 싱크를 실행하세요.