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 都是 Promise 的。 sendAuthRequest
也是如此,它将返回一个承诺。当用户在微信上确认请求时,承诺将被解析为带有代码的数据。所有 Promisifed API 都会返回一个名为NativeWechatResponse
的通用类型。
export type NativeWechatResponse < T = Record < string , unknown > > = {
type : string ;
errorCode : number ;
errorStr : string | null ;
data : T ;
} ;
如果您在使用此库时遇到问题,请随时提出问题。我随时为您提供帮助。