1. 程式人生 > >Ionic-與時間有關的故事-localecompare()

Ionic-與時間有關的故事-localecompare()

  今天小鹹兒想來分享一個有管時間的故事:

  這個故事發生在很久很久以前,大概十月份,主題思想就是消費,所以需要金錢-積分,成果-排名,主人公-小鹹兒。

  背景:ionic前端頁面

  道具:時間轉換的方法、localeCompare()方法

  角色:小鹹兒、時間、積分

  主線:獲取當前時間,判斷是否第一次檢視排名,若是則花費積分檢視,若否可免費檢視

  故事內容:

  時間:今天是什麼時候了,該如何知道我的面目呢?我需要一面鏡子Date()。

  旁白:鏡子上場……

	this.newLeave = new Date();

  時間:魔鏡魔鏡,誰是這個世界上最美麗的人?

  魔鏡[Date()]:嗯,現在說實話都有風險了,不是有美顏相機麼?借來一用 。

this.converDateTime(this.newLeave);
// 轉成標準的時間格式 YYYY-MM-DD  HH:mm:ss
converDateTime(newLeave) { 
	let datetime = new Date(newLeave);
	let year = datetime.getFullYear();
	let month = datetime.getMonth();
	let date = datetime.getDate();
	this.dateresult = year +
	'-' +
	((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) +
	'-' +
	((date) < 10 ? '0' + date : date)
	return this.dateresult;
}

  時間(dateresult):我看起來很美啊!符合大眾的審美標準,值得誇獎!!贊,我就不走了,永葆我的青春美貌(localstorage.setItem()方法)。

  旁白:日復一日,突然小鹹兒要去看現在的時間和以前的時間,誰更漂亮

  小鹹兒:之前的時間我見過啦,但是現在時間還有見過,那麼誰更漂亮呢?趕緊比較一下,來成全我的愛美人之心。

	let resdate = this.dateresult.localeCompare(date);

  旁白:這個localeCompare()是什麼人?敢如此大膽,競評價兩個女人!!!!

  localeCompare():我是一個公平的人,生來就是為了比較的,我手中握有本地特定的順序規則之秤,主要就是利用本地特定順序規則來進行比較兩個人(字串)。如果相等的話,則輸入0,表示勢均力敵;如果不相等則返回大於1或者小於1,來表示強者與弱者。所以我還是一個正直的人。

  小鹹兒:哈哈哈哈,時間果然上當了,這就是我最終的目的,我已經盜取了localecompare()的最終結果,下面就能利用這個結果來達到我盈利的目的了。果然一夜暴富。

  旁白:從此小鹹兒過上了幸福快樂的一生……

  使用金錢(積分)購買檢視排名的機會:

 gotoXrxDepartment() {
    let date = localStorage.getItem('date');
    // 比較當前時間與localstorage中的時間戳
    // let resdate = this.dateresult.localeCompare(date);
    let resdate = this.dateresult.localeCompare(date);
    // 判斷當前時間是否與localstorage中的時間戳一致,若一致則返回0
    if(resdate==0){
      if(this.count==0){
        this.getIntegral=localStorage.getItem('userIntegral');
        if(this.getIntegral<5){
          const alert = this.alertCtrl.create({
            title:'',
            subTitle:"積分不足,快去賺取積分吧",
            buttons:['我已瞭解~']
          });
          alert.present();
        }else{
          const alert = this.alertCtrl.create({
            title:'是否購買檢視排名機會?',
            message:'將花費您5積分!',
            buttons: [
              {
                text:'取消',
                role:'cancel',
                handler:() => {
                  console.log('Cancel clicked');
                }
              },
              {
                text:'購買',
                handler:() =>{
                  let dataUrl = 'http://192.168.22.126/kernel-web/AddIntegral/create';
                  this.creator = localStorage.getItem('userName');
                  this.operator = localStorage.getItem('userName');
                  this.loginID = localStorage.getItem('userId');
                  let body = JSON.stringify({
                    id:"",
                    givingUserId: "givingUser_game",
                    idInfo: [this.loginID],
                    integral : -5,
                    pluginId: "look_rank",
                    primaryId: "0001",
                    reason: "購買檢視排名機會",
                    typeKey: "buyRank",
                    userId: this.loginID,
                    creator:this.creator,
                    operator: this.operator,
                    remark: ""
                  });
                  
                  this.http.post(dataUrl,body).subscribe(
                    res => {
                      if(res.json().code=="0000"){
                        this.navCtrl.push(XrxDepartmentPage, {
                          flag: '部門'
                        });
                        this.count++;
                      }
                    }
                  )
                }
              }
            ]
          });
          alert.present();
        }
      }else{
        this.navCtrl.push(XrxDepartmentPage, {
          flag: '部門'
        });
      }
    }else{
      // 當日期不一致時,將計數count置為0
      this.count=0;
      if(this.count==0){
        this.getIntegral=localStorage.getItem('userIntegral');
        if(this.getIntegral<5){
          const alert = this.alertCtrl.create({
            title:'',
            subTitle:"積分不足,快去賺取積分吧",
            buttons:['我已瞭解~']
          });
          alert.present();
        }else{
          const alert = this.alertCtrl.create({
            title:'是否購買檢視排名機會?',
            message:'將花費您5積分!',
            buttons: [
              {
                text:'取消',
                role:'cancel',
                handler:() => {
                  console.log('Cancel clicked');
                }
              },
              {
                text:'購買',
                handler:() =>{
                  let dataUrl = 'http://192.168.22.126/kernel-web/AddIntegral/create';
                  this.creator = localStorage.getItem('userName');
                  this.operator = localStorage.getItem('userName');
                  this.loginID = localStorage.getItem('userId');
                  let body = JSON.stringify({
                    id:"",
                    givingUserId: "givingUser_game",
                    idInfo: [this.loginID],
                    integral : -5,
                    pluginId: "look_rank",
                    primaryId: "0001",
                    reason: "購買檢視排名機會",
                    typeKey: "buyRank",
                    userId: this.loginID,
                    creator:this.creator,
                    operator: this.operator,
                    remark: ""
                  });
                  
                  this.http.post(dataUrl,body).subscribe(
                    res => {
                      if(res.json().code=="0000"){
                        this.navCtrl.push(XrxDepartmentPage, {
                          flag: '部門'
                        });
                        this.count++;
                      }
                    }
                  )
                }
              }
            ]
          });
          alert.present();
        }
      }else{
        this.navCtrl.push(XrxDepartmentPage, {
          flag: '部門'
        });
      }
    }
  }