feat: Add isWXAppInstalled props.
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
<br />
|
||||
<p align="center">
|
||||
<a href="https://uiwjs.github.io/react-native-wechat/">
|
||||
<img src="https://user-images.githubusercontent.com/1680273/89100258-46cf6a00-d428-11ea-96dc-8b07a0ee277c.png" height="100" />
|
||||
|
@@ -1,22 +1,14 @@
|
||||
/**
|
||||
* Sample React Native App
|
||||
*
|
||||
* adapted from App.js generated by the following command:
|
||||
*
|
||||
* react-native init example
|
||||
*
|
||||
* https://github.com/facebook/react-native
|
||||
*/
|
||||
|
||||
import React, { Component } from 'react';
|
||||
import { Platform, SafeAreaView, StyleSheet, Text, View } from 'react-native';
|
||||
import RNWechat from '@uiw/react-native-wechat';
|
||||
import Wechat from '@uiw/react-native-wechat';
|
||||
|
||||
export default class App extends Component {
|
||||
state = {
|
||||
message: '--'
|
||||
};
|
||||
componentDidMount() {
|
||||
async componentDidMount() {
|
||||
const isInstall = await Wechat.isWXAppInstalled();
|
||||
console.log(':isInstall:', isInstall);
|
||||
// RNWechat.sampleMethod('Testing', 123, (message) => {
|
||||
// this.setState({
|
||||
// message
|
||||
|
5
index.d.ts
vendored
5
index.d.ts
vendored
@@ -5,3 +5,8 @@
|
||||
* @param universalLink Universal Link(通用链接)是苹果在 iOS9 推出的,一种能够方便的通过传统 HTTPS 链接来启动 APP 的功能,可以使用相同的网址打开网址和 APP。
|
||||
*/
|
||||
export function registerApp(appid: string, universalLink: string): void;
|
||||
/**
|
||||
* 检查微信是否已被用户安装
|
||||
* 微信已安装返回 `true`,未安装返回 `false`。
|
||||
*/
|
||||
export function isWXAppInstalled(): Promise<Boolean>;
|
8
index.js
8
index.js
@@ -9,6 +9,12 @@ export default class Wechat {
|
||||
* @param universalLink Universal Link(通用链接)是苹果在 iOS9 推出的,一种能够方便的通过传统 HTTPS 链接来启动 APP 的功能,可以使用相同的网址打开网址和 APP。
|
||||
*/
|
||||
static registerApp(appid, universalLink) {
|
||||
return NativeModules.RNAMapGeolocation.registerApp(appid, universalLink);
|
||||
return NativeModules.RNWechat.registerApp(appid, universalLink);
|
||||
}
|
||||
/**
|
||||
* 检查微信是否已被用户安装
|
||||
*/
|
||||
static isWXAppInstalled() {
|
||||
return NativeModules.RNWechat.isWXAppInstalled();
|
||||
}
|
||||
}
|
||||
|
@@ -3,5 +3,5 @@
|
||||
#import "WXApiObject.h"
|
||||
|
||||
@interface RNWechat : NSObject <RCTBridgeModule, WXApiDelegate>
|
||||
|
||||
@property NSString* appId;
|
||||
@end
|
||||
|
@@ -44,12 +44,21 @@ RCT_EXPORT_MODULE()
|
||||
}
|
||||
|
||||
// 注册 appid
|
||||
RCT_REMAP_METHOD(registerApp, resolver: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
|
||||
if ([WXApi registerApp:@"wxd930ea5d5a258f4f" universalLink:@"wxd930ea5d5a258f4f"]) {
|
||||
RCT_REMAP_METHOD(registerApp, :(NSString *)appid :(NSString *)universalLink resolver: (RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
|
||||
if ([WXApi registerApp: appid universalLink: universalLink]) {
|
||||
self.appId = appid;
|
||||
resolve(@[[NSNull null]]);
|
||||
} else {
|
||||
reject(@"-10404", INVOKE_FAILED, nil);
|
||||
}
|
||||
}
|
||||
|
||||
// 检查微信是否已被用户安装, 微信已安装返回YES,未安装返回NO。
|
||||
RCT_REMAP_METHOD(isWXAppInstalled, :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
|
||||
if ([WXApi isWXAppInstalled]) {
|
||||
resolve(@YES);
|
||||
} else {
|
||||
resolve(@NO);
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
Reference in New Issue
Block a user