微信小程序---实现自定义天数展示广告等

一、开发思路:

see_chronograph()方法来判断是否展示

start_chronograph()设置多少时间后展示

通过微信小程序内存来存储,没有通过后端数据参数来展示

注:删除小程序会导致逻辑失效。

二、代码展示:

1、在需要的页面onshow或onLoad等需要的页面进行判断是否显示相应内容(判断有没有过期时间到即可展示)

以下为例子:

//判断是否时间到展示相应数据
if (see_chronograph("advertisement_day")){
   this.setData({ advertisementTrue: true })
}else{
   this.setData({ advertisementTrue: false });
}

2、加入方法,以便上一个方法调用(是否时间到,展示相应数据)

//查看计时器有没有过期  see_chronograph("index_gggg")
function see_chronograph(obj, interval, type) {
  let nowday = formatTime(new Date());
  let new_timer={
    [obj]:{
      time:'',
      type:'',
    }
  };
  let timer = wx.getStorageSync('timer');
  if (timer == ''){
    new_timer[obj].time = nowday;
    new_timer[obj].type = '1d';
    wx.setStorageSync('timer', new_timer);
    timer = {};
  }
  if (timer[obj] == undefined) {
    let obj_timer={
      [obj]: {
        time: nowday,
        type: '0d',
      }
    }
    timer = Object.assign(timer, obj_timer);
    wx.setStorageSync('timer', timer);
    return true;          //第一次时候返回true
  }
  var before_Tamp = Date.parse(timer[obj].time);
  var new_Tamp = Date.parse(nowday);
  if (before_Tamp <= new_Tamp ) {
    return true;
  } else {
    return false;
  }
}

3、当弹出页面,点击领取或关闭时候,决定是否一天展示一次,还是随机天数、小时来展示相应数据

为例:1d  为1天 

//开始 计时器  chronograph("index_gggg", 1,'d' )
function start_chronograph(obj, interval, type) {
  let nowday = formatTime(new Date());
  let new_timer = {
    [obj]: {
      time: '',
      type: '',
    }
  };
  var last_day_Tamp;
  let timer = wx.getStorageSync('timer');

  if (type == 'mo') {     //月
    last_day_Tamp = Date.parse(nowday) / 1000 + interval * 30 * 24 * 60 * 60;
  }
  if (type == 'd') {      //天
    last_day_Tamp = Date.parse(nowday) / 1000 + interval * 24 * 60 * 60;
  }
  if (type == 'h') {      //小时
    last_day_Tamp = Date.parse(nowday) / 1000 + interval * 60 * 60;
  }
  let last_day = formatTimeTwo(last_day_Tamp, 'Y/M/D h:m:s');

  if (timer == '') {
    new_timer[obj].time = last_day;
    new_timer[obj].type = interval + type;
    wx.setStorageSync('timer', new_timer);
    timer = {};
  }
  if (timer[obj] == undefined) {
    let obj_timer = {
      [obj]: {
        time: last_day,
        type: interval + type,
      }
    }
    timer = Object.assign(timer, obj_timer);
    wx.setStorageSync('timer', timer);
  }
  timer[obj].time = last_day;
  timer[obj].type = interval + type;
  wx.setStorageSync('timer', timer);
}

方法实现比较简单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下代码雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值