expo native wechat
1.0.0
支援Android和iOS微信API的Expo模組
請參考原生微信
大多數使用React Native建立應用程式的開發人員都不具備原生開發技能,更不用說將他們的應用程式與微信連接起來了。
尤其是微信 OpenSDK 是一件讓人頭痛的事情,因為它的文件很糟糕,很多 API 都不夠清晰和直覺。為了幫助開發人員使用 React Native,我盡可能地嘗試建立這個程式庫。我希望您能從中受益,不再對微信感到沮喪。
npm install [email protected]
# or
yarn add [email protected]
npm install [email protected]
# or
yarn add [email protected]
打開app.json
並添加以下資訊:
{
// Add your WeChat app ID
"scheme" : [ "wx123456nxabcdefg" ] ,
"ios" : {
// Add your iOS universal link
// Example "applinks:(google.com)"
"associatedDomains" : [ "applinks:(Universal Link Here)" ]
} ,
// Add Expo Native Wechat plugin
"plugins" : [ "expo-native-wechat" ]
}
在呼叫任何API之前,必須透過呼叫registerApp
註冊原生微信。
import { registerApp } from "expo-native-wechat" ;
useEffect ( ( ) => {
return registerApp ( "wx964290141ebe9b7b" ) ;
} , [ ] ) ;
當呼叫registerApp
時,會有一個監聽器來接收來自微信的事件。 registerApp
回傳一個函數來移除監聽器,這樣就不會收到微信的任何事件了。
現在是呼叫 API 的時候了。例如,我們將向微信發送身份驗證請求並接收代碼。您可以在此使用名為sendAuthRequest
的 API。
import { registerApp , sendAuthRequest } from "expo-native-wechat" ;
import { Button , Text } from "react-native" ;
import { verifyWechatCode } from "@/api/auth/wechat" ;
useEffect ( ( ) => {
registerApp ( "wx964290141ebe9b7b" ) ;
} , [ ] ) ;
const onButtonClicked = async ( ) => {
const {
data : { code } ,
} = await sendAuthRequest ( ) ;
await verifyWechatCode ( code ) ;
} ;
return (
< Button onClick = { onButtonClicked } >
< Text > Send Auth Request </ Text >
</ Button >
) ;
微信原生的API大部分都是promiseed的。 sendAuthRequest
也是如此,它將返回一個承諾。當用戶在微信上確認請求時,承諾將被解析為帶有程式碼的資料。所有 Promisifed API 都會傳回一個名為NativeWechatResponse
的通用類型。
export type NativeWechatResponse < T = Record < string , unknown > > = {
type : string ;
errorCode : number ;
errorStr : string | null ;
data : T ;
} ;
如果您在使用此程式庫時遇到問題,請隨時提出問題。我隨時為您提供協助。