index.js 3.04 KB
/**
 * Created by Cassie on 2018/03/06
 */
import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    View,
    TouchableOpacity,
    Image,
    NativeModules,
    ActivityIndicator
} from 'react-native';
import { StackNavigator, TabNavigator } from 'react-navigation';

import {getHeaderHeight,getHeaderPadding,getFooterBottom,xnToast} from "./utils/utils";
import Home from './pages/home';
import Detail from './pages/components/detail';
import PlateList from './pages/components/plateList';
import PlateName from './pages/components/plateName';
import SubmitSuccess from './pages/components/submitSuccess';
import FloorDetail from './pages/components/floorDetail';
import Search from './pages/components/search';
import Post from './pages/components/post';
import AppService from "./service/AppService";

const Navigator = StackNavigator(
    {
        Home:{screen:Home},
        Detail:{screen:Detail},
        PlateList:{screen:PlateList},
        PlateName:{screen:PlateName},
        SubmitSuccess:{screen:SubmitSuccess},
        FloorDetail:{screen:FloorDetail},
        Search:{screen:Search},
        Post:{screen:Post}
    },
    {
        navigationOptions:({navigation}) => ({
            headerStyle:{
                elevation:0, // 去掉阴影
                paddingTop:getHeaderPadding(),
                height:getHeaderHeight(),
                backgroundColor:'#1c1c20',
            },
            headerTitleStyle:{
                alignSelf:'center',
                alignItems:'center',
                justifyContent:'center',
                flexDirection:'column',
                color:'#fff',
                fontSize:18,
                fontWeight:'bold',
            },
        }),
    },
);

class App extends Component{
    constructor(props){
        super(props);
        this.state = {
            loading:true
        };
    }

    componentWillMount(){
        NativeModules.security.getPassportId().then((result) => {
                AppService.getPassport({id:result}).then(data=>{
                    if(data.message) {
                        xnToast(data.message);
                        return
                    }
                    if(data.errors.length > 0) {
                        xnToast(data.errors[0].message);
                    }else{
                        this.state.loading = false;
                        global.passportId = data.passport.id;
                        global.userId = data.passport.userId;
                        global.userName = data.passport.userName;
                        // global.forumId = '982904864445177856'
                        global.forumId = '2'
                    }
                });
            }
        ).catch((error) => {
            console.log(error)
        });
    }

    render() {
        return (
            <View style={styles.root}>
                {/*加载中*/}
                <Navigator />
            </View>
        );
    }
}
const styles = StyleSheet.create({
    root:{
        flex:1,
        marginBottom:getFooterBottom(),
    }
});

export default App;