Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
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.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
bunx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-wechat` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-wechatbunx cap syncImportar
Sección titulada “Importar”import { CapacitorWechat } from '@capgo/capacitor-wechat';Inicio rápido
Sección titulada “Inicio rápido”import { CapacitorWechat } from '@capgo/capacitor-wechat';
await CapacitorWechat.initialize({ appId: 'wx1234567890', universalLink: 'https://example.com/app/'});Ejemplo: isInstalled
Sección titulada “Ejemplo: isInstalled”import { CapacitorWechat } from '@capgo/capacitor-wechat';
const { installed } = await CapacitorWechat.isInstalled();if (installed) { console.log('WeChat is installed');}Ejemplo: auth
Sección titulada “Ejemplo: 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 serverErrores comunes
Sección titulada “Errores comunes”- Inicializa una vez: ejecuta setup durante el bootstrap de la app.
- Sync nativo: ejecuta
bunx cap synctras actualizar los plugins. - Fuente de verdad: confianza
src/definitions.tsen el repo de GitHub.
Resumen de API
Sección titulada “Resumen de API”initialize
Sección titulada “initialize”Inicializa el SDK de WeChat con las credenciales de tu app.
También puedes configurar estos valores en capacitor.config.ts dentro de la CapacitorWechat
configuración del plugin. Llamar a este método sobrescribe cualquier configuración del bundle en tiempo de ejecución.
import { CapacitorWechat } from '@capgo/capacitor-wechat';
await CapacitorWechat.initialize({ appId: 'wx1234567890', universalLink: 'https://example.com/app/'});isInstalled
Sección titulada “isInstalled”Comprueba si la app de WeChat está instalada en el dispositivo.
import { CapacitorWechat } from '@capgo/capacitor-wechat';
const { installed } = await CapacitorWechat.isInstalled();if (installed) { console.log('WeChat is installed');}Autentica al usuario con 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 serverComparte contenido en 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
Sección titulada “sendPaymentRequest”Envía una solicitud de pago a WeChat 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
Sección titulada “openMiniProgram”Abre un miniprograma de WeChat.
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
Sección titulada “chooseInvoice”Selecciona una factura de WeChat.
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);Referencia de tipos
Sección titulada “Referencia de tipos”WechatInitializationOptions
Sección titulada “WechatInitializationOptions”Opciones de inicialización de WeChat.
export interface WechatInitializationOptions { /** * Required WeChat application ID. */ appId: string;
/** * iOS universal link that is associated with your WeChat application. */ universalLink?: string;}WechatAuthOptions
Sección titulada “WechatAuthOptions”Opciones de autenticación de 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
Sección titulada “WechatAuthResponse”Respuesta de autenticación de WeChat.
export interface WechatAuthResponse { /** * Authorization code to exchange for access token. */ code: string;
/** * State parameter if provided in request. */ state?: string;}WechatShareOptions
Sección titulada “WechatShareOptions”Opciones de compartir de 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
Sección titulada “WechatPaymentOptions”Opciones de pago de 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
Sección titulada “WechatMiniProgramOptions”Opciones de mini-programa de 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
Sección titulada “WechatInvoiceOptions”Opciones de factura de WeChat.
export interface WechatInvoiceOptions { /** * App ID. */ appId: string;
/** * Signature type. */ signType: string;
/** * Card signature. */ cardSign: string;
/** * Timestamp. */ timeStamp: string;
/** * Random string. */ nonceStr: string;}WechatInvoiceResponse
Sección titulada “WechatInvoiceResponse”Respuesta de la factura de WeChat.
export interface WechatInvoiceResponse { /** * Array of selected card IDs. */ cards: WechatInvoiceCard[];}WechatInvoiceCard
Sección titulada “WechatInvoiceCard”Elemento de tarjeta de factura de WeChat.
export interface WechatInvoiceCard { /** * The selected card identifier. */ cardId: string;
/** * Encrypted code returned by WeChat. */ encryptCode?: string;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Uso de @capgo/capacitor-wechat para la capacidad nativa en Uso de @capgo/capacitor-wechat, Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.