Ionic-与时间有关的故事-localecompare()

本文通过一个寓言故事,讲述了如何在Ionic前端页面中使用时间转换和localeCompare()方法来判断用户是否首次查看排名,进而决定是否扣除积分。涉及时间格式化、本地存储及积分交易流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天小咸儿想来分享一个有管时间的故事:

  这个故事发生在很久很久以前,大概十月份,主题思想就是消费,所以需要金钱-积分,成果-排名,主人公-小咸儿。

  背景: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: '部门'
        });
      }
    }
  }

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值