项目中
1.实现订单二次支付功能
- 用户已下单
- 用户未支付
- 代码
// 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)点击列表其中某一条数据时,缓存当前点击元素的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]
})
})
版权声明:本文为weixin_45527865原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。