微信小程序 列表局部刷新以及二次支付倒计时(兼容苹果和安卓)

项目中

1.实现订单二次支付功能

  1. 用户已下单
  2. 用户未支付
  3. 代码
//  replace(/-/g, '/')  时间兼容 苹果不支持- 只支持/
var m, s;
let {createTime} = this.data.orderData,  //下单时间
  currentTime = (new Date()).getTime(),  //当前时间的毫秒值
  createTime1 = (new Date(createTime.replace(/-/g, '/')).getTime()) + 10 * 60000  //计算下单时间+10分钟 的毫秒值
let countDownTime = createTime1 - currentTime    //计算时间差值
if (countDownTime > 0) {
  let that = this
  m = Math.floor(countDownTime / 1000 / 60 % 60);
  s = Math.floor(countDownTime / 1000 % 60);
  that.setData({
    countdown: (m < 10 ? '0' + m : m) + ":" + (s < 10 ? '0' + s : s),
  })
  setTimeout(that.getcurrentTime, 1000); //定时器 一秒执行一次
} else {
  this.setData({
    isPayStatus: true,  //禁用支付按钮 取消订单
    countdown: '00:00'  //初始倒计时时间
  })
}

2.实现订单列表局部刷新

  1. 修改订单状态
  2. 刷新列表
  3. 实现思路
    (1)点击列表其中某一条数据时,缓存当前点击元素的id wx.setStorageSync(‘orderId’, id)
    (2)修改当前点击数据的状态
    (3)从详情页面返回列表页面 在onShow中
1.//获取缓存的id
let orderId = wx.getStorageSync('orderId')  
2.//重新调用接口 获取最新数据
getCusSignupList().then(res => {
    res.data.list.forEach((el, i) => {
      if (orderId == el.id) {
        this.setData({
          index: i  //下标
        })
      }
    })
    // registOrderList 第一次获取的数据
    this.setData({
      ['registOrderList[' + this.data.index + ']']: res.data.list[this.data.index]
    })
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值