1
0
Code Issues Pull Requests Packages Projects Releases Wiki Activity GitHub Gitee

feat: Add isWXAppInstalled props.

This commit is contained in:
jaywcjlove
2020-08-01 19:44:52 +08:00
parent b8d93e9c79
commit ec14ccee87
6 changed files with 30 additions and 17 deletions

View File

@@ -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" />

View File

@@ -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
View File

@@ -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>;

View File

@@ -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();
}
}

View File

@@ -3,5 +3,5 @@
#import "WXApiObject.h"
@interface RNWechat : NSObject <RCTBridgeModule, WXApiDelegate>
@property NSString* appId;
@end

View File

@@ -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);
}
}
// , YESNO
RCT_REMAP_METHOD(isWXAppInstalled, :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
if ([WXApi isWXAppInstalled]) {
resolve(@YES);
} else {
resolve(@NO);
}
}
@end