Skip to content
app.component.ts 4.99 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, ViewChild} from '@angular/core';
import {Platform, AlertController, Content} from 'ionic-angular';
import {StatusBar} from '@ionic-native/status-bar';
import {SplashScreen} from '@ionic-native/splash-screen';
import {Storage} from "@ionic/storage";
import {LoginPage} from '../pages/login/login';
import {AppVersion} from '@ionic-native/app-version';
import {AppUpdateService} from "../service/appUpdate.service";
import {Keyboard} from '@ionic-native/keyboard';
import {Response} from "@angular/http";
import {TabsPage} from "../pages/tabs/tabs";
import {AppService} from "../service/http.service";
wangqinghua's avatar
wangqinghua committed
import {EmitService} from "../provide/emit.service";
wangqinghua's avatar
wangqinghua committed
import {MobileAccessibility} from "@ionic-native/mobile-accessibility";
wangqinghua's avatar
wangqinghua committed
import {timer} from "rxjs/observable/timer";
wangqinghua's avatar
wangqinghua committed
import {ScreenOrientation} from "@ionic-native/screen-orientation";
wangqinghua's avatar
wangqinghua committed

@Component({
    templateUrl: 'app.html'
})
export class MyApp {

    @ViewChild(Content) content: Content;
    rootPage;
wangqinghua's avatar
wangqinghua committed
    showSplash = true;
wangqinghua's avatar
wangqinghua committed

    user;

    constructor(platform: Platform,
                public statusBar: StatusBar,
                public splashScreen: SplashScreen,
wangqinghua's avatar
wangqinghua committed
                private alertCtrl: AlertController,
                private keyboard: Keyboard,
                private appUpdateService: AppUpdateService,
                private appVersion: AppVersion,
wangqinghua's avatar
wangqinghua committed
                private screenOrientation: ScreenOrientation,
wangqinghua's avatar
wangqinghua committed
                public emitSer: EmitService,
wangqinghua's avatar
wangqinghua committed
                public storage: Storage,
wangqinghua's avatar
wangqinghua committed
                public mobileAccess: MobileAccessibility,
wangqinghua's avatar
wangqinghua committed
                public appService: AppService) {
        platform.ready().then(() => {
            this.splashScreen.hide();
            this.statusBar.show();
            this.statusBar.overlaysWebView(false);
            this.statusBar.backgroundColorByHexString('#e12724');
            this.statusBar.styleLightContent();

wangqinghua's avatar
wangqinghua committed
            if (platform.is('android')) {
                this.screenOrientation.lock('portrait-primary');  //锁定竖屏
            }
wangqinghua's avatar
wangqinghua committed


            timer(4500).subscribe((res) => {
                this.showSplash = false;
wangqinghua's avatar
wangqinghua committed
                this.checkVersion();
wangqinghua's avatar
wangqinghua committed
                this.loadLogin();
wangqinghua's avatar
wangqinghua committed
            });
wangqinghua's avatar
wangqinghua committed

            //app字体不跟随手机字体大小变化
wangqinghua's avatar
wangqinghua committed
            this.mobileAccess.usePreferredTextZoom(false);

wangqinghua's avatar
wangqinghua committed

wangqinghua's avatar
wangqinghua committed
        });


wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    //检测是否需要更新
wangqinghua's avatar
wangqinghua committed
    checkVersion() {
wangqinghua's avatar
wangqinghua committed
        //检测是否需要更新
        this.appVersion.getVersionNumber().then((version: string) => {
wangqinghua's avatar
wangqinghua committed
            version = version.replace(' ', '');
wangqinghua's avatar
wangqinghua committed
            this.appUpdateService.compariVersion().subscribe(res => {
                let data = res.json();
wangqinghua's avatar
wangqinghua committed
                data.latestVersion = data.latestVersion.replace(' ', '');
wangqinghua's avatar
wangqinghua committed
                if (data.code == 200) {
                    if (data.latestVersion != null && data.latestVersion != version) {
                        this.appUpdateService.detectionUpgrade(data.androidDownload, true); //提示升级
                    }
                }
            });
        }).catch(err => {
            console.log('getVersionNumber:' + err);
        });
    }


wangqinghua's avatar
wangqinghua committed
    loadLogin() {
        this.storage.get("userLoginInfo").then((value) => {
            if (value != null && value != '') {
                this.user = value;
wangqinghua's avatar
wangqinghua committed
                if (this.user.remember) {
wangqinghua's avatar
wangqinghua committed
                    this.appService.ObserverHttpPost("/wisdomgroup/app/loginpost", this.user)
                        .subscribe((res: Response) => {
                                let data = res.json();
                                if (data["code"] == '200') {
                                    this.storage.set('user', data.data);
                                    this.user.userid = data.data.id;
                                    this.storage.set('userLoginInfo', this.user);
                                    this.rootPage = TabsPage;
                                } else {
                                    this.appService.alert('手机号或密码错误!');
                                    this.rootPage = LoginPage;
                                }
                            }, error => {
                                this.rootPage = LoginPage;
                                this.appService.alert('网络异常!');
                            }
                        );
wangqinghua's avatar
wangqinghua committed
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.rootPage = LoginPage;
                }
wangqinghua's avatar
wangqinghua committed
                this.getNoRead();
wangqinghua's avatar
wangqinghua committed
            } else {
wangqinghua's avatar
wangqinghua committed
                this.rootPage = LoginPage;
            }
        });
    }

wangqinghua's avatar
wangqinghua committed
    getNoRead() {
wangqinghua's avatar
wangqinghua committed
        this.appService.ObserverHttpPost("/wisdomgroup/modules/message/findAllActivityForAppWithXQ", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                    let num = 0;
wangqinghua's avatar
wangqinghua committed
                    if (data.length > 0) {
                        data.forEach(e => {
                            if (e.isRead == 0) num++;
wangqinghua's avatar
wangqinghua committed
                        })
                        this.emitSer.eventEmit.emit(num);
                    }
wangqinghua's avatar
wangqinghua committed
                }, error => {
                }
            );
    }

wangqinghua's avatar
wangqinghua committed
}