Модуль Expo для поддержки API Wechat на Android и iOS.
Пожалуйста, обратитесь к Native Wechat
Большинство разработчиков, использующих React Native для создания приложений, не обладают собственными навыками разработки, не говоря уже о подключении своих приложений к WeChat.
В частности, WeChat OpenSDK — это настоящая головная боль из-за дерьмовой документации, в которой многие API не ясны и не интуитивно понятны. Чтобы помочь разработчикам, использующим React Native, я максимально постарался создать эту библиотеку. И я надеюсь, что вы выиграете от этого и будете меньше разочаровываться в WeChat.
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, необходимо зарегистрировать Native WeChat, вызвав registerApp
.
import { registerApp } from "expo-native-wechat" ;
useEffect ( ( ) => {
return registerApp ( "wx964290141ebe9b7b" ) ;
} , [ ] ) ;
При вызове registerApp
будет прослушиватель для получения событий от Wechat. registerApp
возвращает функцию для удаления прослушивателя, и никакие события не будут получены от Wechat.
Теперь пришло время вызвать API. Например, мы отправим запрос на авторизацию в Wechat и получим код. Здесь вы можете использовать API с именем sendAuthRequest
.
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 в Native WeChat многообещающие. То же самое относится и к sendAuthRequest
который вернет обещание. Когда пользователь подтверждает запрос в Wechat, обещание разрешается как данные с кодом. Все обещанные API возвращают общий тип с именем NativeWechatResponse
.
export type NativeWechatResponse < T = Record < string , unknown > > = {
type : string ;
errorCode : number ;
errorStr : string | null ;
data : T ;
} ;
Если у вас возникли проблемы с использованием этой библиотеки, не стесняйтесь открыть проблему. Я всегда здесь, чтобы помочь.