index.js 3.53 KB
/**
 * Created by Cassie on 2018/03/06
 */
import React, { Component } from 'react';
import {
    StyleSheet,
    View,
    Text,
    NativeModules,
    NetInfo,
    Platform
} from 'react-native';
import {StackNavigator} from 'react-navigation';

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

import Home from './pages/home';
import AddTarget from './pages/addTarget/addTarget';
import AddPeople from './pages/addTarget/addPeople';
import AddVoice from './pages/addTarget/addVoice';
import TeamList from './pages/targetTeam/teamList';
import CreateTeam from './pages/targetTeam/createTeam';
import SelectTarget from './pages/targetTeam/selectTarget';
import TargetProgress from './pages/targetItem/targetProgress';
import AddEmployee from './pages/addTarget/addEmployee';

const Navigator = StackNavigator(
    {
        Home:{screen:Home},
        AddTarget:{screen:AddTarget},
        AddPeople:{screen:AddPeople},
        // AddVoice:{screen:AddVoice},
        TeamList:{screen:TeamList},
        CreateTeam:{screen:CreateTeam},
        SelectTarget:{screen:SelectTarget},
        TargetProgress:{screen:TargetProgress},
        AddEmployee:{screen:AddEmployee}
    },
    {
        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
        };
    }

    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;
                }
            });
        };
        /*执行人列表*/
        global.doEmployee = [];
        global.ccEmployee = [];
        NativeModules.security.getPassportId().then((result) => {
            AppService.getPassport({id:result}).then(data=>{
                if(data.errors == null || data.errors.length > 0){
                    xnToast(data.errors[0].message);
                    return
                }
                global.tenantId=data.passport.tenantId;
                global.userId=data.passport.userId;
                global.tenantName=data.passport.tenantName;
                this.setState({
                    loading:false
                });
            });
            NativeModules.security.getTenantName().then((result)=>{
                global.tenantShortName=result;
            });
        }).catch((error) => {
            xnToast(error);
        });
    };

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

export default App;