时间排序处理在微信小程序和真机调试没问题,发布体验版后未执行

一,现象

做了个优惠券功能,需要对优惠券进行金额和时间排序,但是微信开发者工具和真机调试都没问题。一发布体验版,就只剩下金额排序生效了,时间排序的程序看起来压根就没有执行。

二,原因

ios手机的时间处理格式得是2021/08/26 23:59:59类型的。而后端返回的时间格式是2021-08-26 23:59:59,在ios中识别不了,所以出现了这种问题。
解决办法就是直接手动把时间格式改成2021-08-26 23:59:59可以识别的格式即可

三,我的解决

availableListforShow(){
    
    
		    //需要做排序,把优惠金额最高的放最前面,若是优惠金额相同则把有效期近的放前面
		    let newList =JSON.parse(JSON.stringify(this.available))
			//如果有特价菜,则商品小计要减去特价菜优惠之后-再来计算平台优惠
			let originNum
			if(this.special_price_coupon_saving>0){
    
    
				originNum=this.subtotal-this.special_price_coupon_saving
			}else{
    
    
				originNum=this.subtotal
			}
		    //第一步,把所有的优惠金额全部计算出来,添加属性到每一个对象中,并且把时间格式转化为ios兼容的YY/MM/DD hh:mm:ss格式
		    let couponNum
		    let newArr=newList.map((item,index)=>{
    
    
				item.passTime=item.passTime.replace(/-/g,'/')
		  		if(item.coupType=='1'){
    
    //满减券
		  			couponNum=item.ruleList[0].operation
		  		}else{
    
    //折扣券
		  			let couponMul=originNum*item.ruleList[0].operation
		  			const countNum1=this.$util.numDiv(couponMul,100)
					if(countNum1>=item.ruleList[0].maxDiscount){
    
    //限额
						couponNum=item.ruleList[0].maxDiscount
					}else{
    
    
						couponNum=countNum1
					}
		  		}
		  		item['couponNum']=couponNum
		  		return item
		    })
		    console.log("我处理后的优惠券列表",newArr)
		    let myNewArr=JSON.parse(JSON.stringify(newArr))
		    //第二步,把转化好的数组,按照优惠金额从高到低排序,
		    myNewArr.sort(function(a,b){
    
    
		  		console.log("---金额比较---",a.couponNum > b.couponNum)
		  	  	if (a.couponNum > b.couponNum) {
    
    
		  	  		return -1//反向,大数在前
		  	  	}else{
    
    
					if((a.couponNum == b.couponNum) && (Date.parse(a.passTime)<Date.parse(b.passTime))){
    
    
						console.log("-----金额相同,时间比较----",Date.parse(a.passTime)<Date.parse(b.passTime))
						return -1 //有效期小的在前
					}else{
    
    
						return 0
					}
		  		}
		    })
		    console.log("重新排序后的数组",myNewArr)
		    return myNewArr
		  }

主要就是这行代码:

item.passTime=item.passTime.replace(/-/g,'/')

猜你喜欢

转载自blog.csdn.net/weixin_42349568/article/details/119924440