77 lines
2.3 KiB
JavaScript
77 lines
2.3 KiB
JavaScript
import React, { Component } from 'react';
|
||
import { Platform, Button, SafeAreaView, StyleSheet, Text, View } from 'react-native';
|
||
import Wechat from '@uiw/react-native-wechat';
|
||
|
||
export default class App extends Component {
|
||
state = {
|
||
isInstall: false,
|
||
isWXAppSupportApi: false,
|
||
version: null,
|
||
};
|
||
async componentDidMount() {
|
||
try {
|
||
const reg = await Wechat.registerApp('wx500b695a47bd364b', 'https://uiwjs.github.io/react-native-wechat/apple-app-site-association');
|
||
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('code>', error.code);
|
||
console.log('message>', error.message);
|
||
console.log('error>', error);
|
||
}
|
||
}
|
||
openWXApp = async () => {
|
||
const isOpen = await Wechat.openWXApp();
|
||
console.log('isOpen:', isOpen);
|
||
}
|
||
render() {
|
||
const { isInstall, isWXAppSupportApi, version } = this.state;
|
||
return (
|
||
<SafeAreaView style={{ flex: 1 }}>
|
||
<View style={styles.container}>
|
||
<Text style={styles.welcome}>☆Wechat Example☆</Text>
|
||
<Text>
|
||
<Text style={styles.instructions}>
|
||
<Text style={{color: isInstall ? 'green' : 'red'}}>{isInstall ? '已经' : '没有'}</Text>安装微信,
|
||
</Text>
|
||
<Text style={styles.instructions}>
|
||
当前微信的版本<Text style={{color: isWXAppSupportApi ? 'green' : 'red'}}>{isWXAppSupportApi ? '支持' : '不支持'}</Text> OpenApi
|
||
</Text>
|
||
<Text> - v{version}</Text>
|
||
</Text>
|
||
<Button
|
||
onPress={this.openWXApp}
|
||
title="打开微信 APP"
|
||
color="#841584"
|
||
/>
|
||
</View>
|
||
</SafeAreaView>
|
||
);
|
||
}
|
||
}
|
||
|
||
const styles = StyleSheet.create({
|
||
container: {
|
||
flex: 1,
|
||
// justifyContent: 'center',
|
||
alignItems: 'center',
|
||
backgroundColor: '#F5FCFF',
|
||
},
|
||
welcome: {
|
||
fontSize: 20,
|
||
textAlign: 'center',
|
||
margin: 10,
|
||
},
|
||
instructions: {
|
||
textAlign: 'center',
|
||
color: '#333333',
|
||
marginBottom: 5,
|
||
},
|
||
});
|