Skip to content
app.component.ts 4.67 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 {FileOpener} from "@ionic-native/file-opener";
import {FileTransfer, FileTransferObject} from "@ionic-native/file-transfer";
import {File} from "@ionic-native/file";
wangqinghua's avatar
wangqinghua committed

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

    @ViewChild(Content) content: Content;
    rootPage;

    user;

    constructor(platform: Platform,
                public statusBar: StatusBar,
                public splashScreen: SplashScreen,
                alertCtrl: AlertController,
                keyboard: Keyboard,
                appUpdateService: AppUpdateService,
                appVersion: AppVersion,
wangqinghua's avatar
wangqinghua committed
                private fileOpener: FileOpener,
                private fileTransfer: FileTransfer,
                private fileTransferObject: FileTransferObject,
                private file: File,
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
            //
            this.mobileAccess.usePreferredTextZoom(false);

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


        this.loadLogin();
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    loadLogin() {
        this.storage.get("userLoginInfo").then((value) => {
            if (value != null && value != '') {
                this.user = value;
                if(this.user.remember){
                    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('网络异常!');
                            }
                        );
                }else{
                    this.rootPage = LoginPage;
                }
wangqinghua's avatar
wangqinghua committed
                this.getNoRead();
wangqinghua's avatar
wangqinghua committed
            }
            else {
                this.rootPage = LoginPage;
            }
        });
    }

wangqinghua's avatar
wangqinghua committed
    getNoRead(){
        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++;
                        })
                        this.emitSer.eventEmit.emit(num);
                    }
wangqinghua's avatar
wangqinghua committed
                }, error => {
                }
            );
    }

wangqinghua's avatar
wangqinghua committed
}