app.js 2.46 KB
/**
 * Created by DEV005 on 2017/8/23.
 */
import React, { Component } from 'react';
import {
    StyleSheet,
    View,
    Text,
    NetInfo,
    Platform,
    Keyboard,
    NativeModules,
} from 'react-native';

import {xnToast} from "./utils/utils";
import AppService from "./service/AppService";

import {StackNavigator} from 'react-navigation';
import Home from './pages/home';





const Navigator = StackNavigator (
    {
        Home:{screen :Home}
    },
    {
        navigationOptions:({navigation}) => ({
            headerStyle:{
                elevation:0, // 去掉阴影
                backgroundColor:'#fff',
                borderBottomWidth:0
            },
            headerTitleStyle:{
                alignSelf:'center',
                alignItems:'center',
                justifyContent:'center',
                flexDirection:'column',
                color:'#000',
                fontSize:18,
                fontWeight:'bold',
            }
        })
    }
);
class App extends Component{
    constructor(props){
        super(props);
        this.state = {
            loading:true
        };
        if(Object.getOwnPropertyNames(props).length > 0)
        {
            global.initParam = {};
            for(key in props)
            {
                global.initParam[key] = props[key];
            }
        }
    }

    componentWillMount(){
        let _this = this;
        NetInfo.addEventListener('change',function(isConnected){
            if(isConnected.toLocaleLowerCase() != 'none'){
                global.isConnected = true;
            }else{
                global.isConnected = false;
            }
        });
        if(Platform.OS == 'android'){
            NetInfo.isConnected.fetch().done((isConnected)=> {
                if(isConnected){
                    global.isConnected = true;
                }else{
                    global.isConnected = false;
                }
            });
        };

        AppService.getUserCode({}).then((data) => {
         //   console.warn(JSON.stringify(data));
            if(data && data.code)
            {
                global.code = data.code;
            }
            _this.setState({
                loading:false
            });
        });

    };

    render() {
        return (
            <View style={styles.root}>
                {!this.state.loading && <Navigator />}
            </View>
        );
    }
}
const styles = StyleSheet.create({
    root:{
        flex:1
    }

});
export default App;