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

feat(Android): Add isWXAppInstalled/isWXAppSupportApi props.

This commit is contained in:
jaywcjlove
2020-08-02 22:52:23 +08:00
parent 0ee0690846
commit 8bbbbaa0cf
3 changed files with 48 additions and 8 deletions

View File

@@ -54,6 +54,15 @@ https://uiwjs.github.io/react-native-wechat/apple-app-site-association
</details>
<details>
<summary>iOS: -canOpenURL: failed for URL: "weixin://".</summary>
> ```
> -canOpenURL: failed for URL: "weixin://" - error: "The operation couldnt be completed. (OSStatus error -10814.)"
> ```
</details>
<details>
<summary>iOS: RCTBridge required dispatch_sync to load RCTDevLoadingView.</summary>

View File

@@ -29,7 +29,7 @@ public class RNWechatModule extends ReactContextBaseJavaModule {
public void registerApp(String appid, Promise promise) {
try {
this.appId = appid;
api = WXAPIFactory.createWXAPI(reactContext.getApplicationContext(), appid, true);
api = WXAPIFactory.createWXAPI(reactContext.getApplicationContext(), null, false);
promise.resolve(api.registerApp(appid));
} catch (Exception e) {
promise.reject("-1", e.getMessage());
@@ -47,5 +47,29 @@ public class RNWechatModule extends ReactContextBaseJavaModule {
promise.reject("-1", e.getMessage());
}
}
@ReactMethod
public void isWXAppInstalled(Promise promise) {
try {
if (api == null) {
throw new Exception(NOT_REGISTERED);
}
promise.resolve(api.isWXAppInstalled());
} catch (Exception e) {
promise.reject("-1", e.getMessage());
}
}
@ReactMethod
public void isWXAppSupportApi(Promise promise) {
try {
if (api == null) {
throw new Exception(NOT_REGISTERED);
}
int wxSdkVersion = api.getWXAppSupportAPI();
promise.resolve(wxSdkVersion);
} catch (Exception e) {
promise.reject("-1", e.getMessage());
}
}
}

View File

@@ -9,12 +9,19 @@ export default class App extends Component {
version: null,
};
async componentDidMount() {
try {
const reg = await Wechat.registerApp('wxd930ea5d5a258f4f');
console.log('reg:', reg);
const isInstall = await Wechat.isWXAppInstalled();
const isWXAppSupportApi = await Wechat.isWXAppSupportApi();
const version = await Wechat.getApiVersion();
console.log('version:', version)
this.setState({
isInstall, isWXAppSupportApi, version
});
} catch (error) {
console.log('error>', error);
}
}
render() {
const { isInstall, isWXAppSupportApi, version } = this.state;
@@ -29,7 +36,7 @@ export default class App extends Component {
<Text style={styles.instructions}>
当前微信的版本<Text style={{color: isWXAppSupportApi ? 'green' : 'red'}}>{isWXAppSupportApi ? '支持' : '不支持'}</Text> OpenApi
</Text>
<Text>{version}</Text>
<Text> - v{version}</Text>
</Text>
</View>
</SafeAreaView>