Native Wechat
在 Android 与 iOS 反对微信 SDK 的 React Native 库。
动机
许多 React Native 开发者不具备原生开发能力,更不必提将他们的 App 对接到微信。尤其微信 OpenSDK 是一个令人头疼的货色,因为它的文档非常蹩脚,外面许多的 API 并不清晰与直观。为帮忙应用 React Native 的开发者对接微信,我开发了这个库,心愿可能帮忙到您。
个性
- Native WeChat 是新的,与此同时许多同类的库都暂停保护并不再适配最新的微信 API;
- Native WeChat 反对新旧 React Native 架构;
- Native Wechat 反对 TurboModule,能够懒加载以放慢 App 启动;
- 反对 TypeScript 以获取更好的语言提醒与类型谬误检测;
- 简直所有的 API 均返回 Promise。
应用入门
注册 SDK
在调用任何 API 之前,请务必调用 registerApp
来注册 SDK。
import {registerApp} from 'native-wechat';
useEffect(()=>{return registerApp('wx964290141ebe9b7b');
}, [])
当调用 registerApp
后,它将注册一个从原生端返回事件的监听器,并返回一个函数用于登记这个监听器。
调用 API
是时候调用 API 了。举个例子,咱们要向微信发送一个鉴权申请,并承受返回的 code
,您须要调用 sendAuthRequest
。
import {registerApp, sendAuthRequest} from '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
也是。当用户在微信上受权信息后,Promise 将变为 resolved,并携带 code
。所有返回 Promise 的 API 都返回一个名为 NativeWechatResponse
的泛型类型。
export type NativeWechatResponse<T = Record<string, unknown>> = {
type: string;
errorCode: number;
errorStr: string | null;
data: T;
};
反对
若您在应用这个库时遇到了艰难,请在 GitHub 上创立一个 issue,不要犹豫。我会尽快尽可能解决。
链接
https://native-wechat.hector.im/
https://github.com/Hector-Cho…