Skip to content
version.ts 3.52 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import { Component } from '@angular/core';
wangqinghua's avatar
wangqinghua committed
import {AlertController, IonicPage, NavController, NavParams} from 'ionic-angular';
wangqinghua's avatar
wangqinghua committed
import { AppService } from '../../service/appHttpService';
wangqinghua's avatar
wangqinghua committed
import { AppVersion } from '@ionic-native/app-version';
import { AppUpdateService } from '../../service/appUpdateService';
wangqinghua's avatar
wangqinghua committed
import { Storage } from "@ionic/storage";
import {LoginPage} from "../login/login";
wangqinghua's avatar
wangqinghua committed

@IonicPage()
@Component({
  selector: 'page-version',
  templateUrl: 'version.html'
})

export class VersionPage {
  version: string = '';
  latestVersion: string = '';
  isLatest:boolean = true;
wangqinghua's avatar
wangqinghua committed
  pusNumber:boolean;
wangqinghua's avatar
wangqinghua committed
  constructor(
    public navCtrl: NavController, 
    public navParams: NavParams,
    public appService:AppService,
    private appUpdateService: AppUpdateService,
wangqinghua's avatar
wangqinghua committed
    private appVersion: AppVersion,
wangqinghua's avatar
wangqinghua committed
    private storage:Storage,
    private alertCtrl: AlertController
wangqinghua's avatar
wangqinghua committed
  ) {
    
  }

  ionViewWillEnter() {
    this.getversion();
wangqinghua's avatar
wangqinghua committed
    this.getAppPush();
wangqinghua's avatar
wangqinghua committed

      this.appUpdateService.compariVersion().subscribe(res => {
          var data = res.json();
          if (data.code == 200) {
              this.latestVersion = data.latestVersion;
          }
      });
wangqinghua's avatar
wangqinghua committed
  }

  //获取推送开关
  getAppPush(){
        this.appService.ObserverHttpGet('/wisdomgroup/modules/common/file/getAppPush',null)
            .subscribe(
                (res)=>{
wangqinghua's avatar
wangqinghua committed
                        this.pusNumber = res.json();
wangqinghua's avatar
wangqinghua committed
                }
            )
wangqinghua's avatar
wangqinghua committed
  }

wangqinghua's avatar
wangqinghua committed
  //保存推送开关
    savePush(){
        this.appService.ObserverHttpGetAdd('/wisdomgroup/modules/common/file/addAppPush/',this.pusNumber)
            .subscribe(
                (res)=>{}
            )
    }

wangqinghua's avatar
wangqinghua committed
   //获取最新版本信息
   getversion() {
    //检测是否需要更新
    this.appVersion.getVersionNumber().then((version: string) => {
      this.version = version;
      this.appUpdateService.compariVersion().subscribe(res => {
        var data = res.json();
        if (data.code == 200) {
          this.latestVersion = data.latestVersion;
          if (data.latestVersion != null && data.latestVersion != version) {
            this.isLatest = false;
          }
        }
      });
    }).catch(err => {
      console.log('getVersionNumber:' + err);
    });
  }

  //更新
  update(){
wangqinghua's avatar
wangqinghua committed
      if(this.isLatest){
wangqinghua's avatar
wangqinghua committed
          const alert = this.alertCtrl.create({
              subTitle: '已是最新版本',
              buttons: ['确定']
          });
          alert.present();
      }else{
          const confirm = this.alertCtrl.create({
              message: '有最新版本,是否更新?',
              buttons: [
                  {
                      text: '取消',
                      handler: () => {
                          console.log('Disagree clicked');
                      }
                  },
                  {
                      text: '确定',
                      handler: () => {
                          this.appUpdateService.downloadApp("/wisdomgroup/app/download");
                      }
                  }
              ]
          });
          confirm.present();
      }
wangqinghua's avatar
wangqinghua committed
  }
wangqinghua's avatar
wangqinghua committed


wangqinghua's avatar
wangqinghua committed
    //后台退出
    logoutApp() {
        let length = this.navCtrl.length();
        this.navCtrl.remove(length);
        this.storage.clear();
        this.appService.ObserverHttpGet("/wisdomgroup/app/logout", null)
            .subscribe((res: Response) => {
                    let data = res.json();
                    this.navCtrl.push('LoginPage');
                }, error => {
                    this.appService.alert('网络异常!');
                }
            );
wangqinghua's avatar
wangqinghua committed
    }
wangqinghua's avatar
wangqinghua committed
}