前言
老规矩 开篇是不可能直接写内容的
一肚子气不吐出来 我怕是要憋死
从上周结束的时候我就知道 我下一期的任务是重构首页
原来的首页是前同事写的(代码毫无规范,主打一个随性,说难听点就是四千行的屎山)
我重构的新首页,要完完全全改变布局,首页里还有一个小地图、轮播图、多种多个弹窗及弹出层等等
所以我这周的工作压力炒鸡大 , 而且周一开了一天的会,
又要我下周一必须要上线测试,也就是说我只有四天的开发时间...
那即使在我开发时间这么紧张的情况下,昨天上午6.15号,公司客服反反复复反馈回来一个问题,我开始以为是个别用户手机网络卡、或者用户操作的问题,但这天已经是第四个用户有问题,我就感觉到了不妙.
问题是这样.
问题1 特殊的样式 IOS14 系统无法编译
我们公司上个星期,把商城所有套餐的价格上调了60元,且给每个用户发放了两张60元的优惠券,但是用户在使用优惠券的时候,没有展示出来
页面如下:
具体的代码我就不贴了, 但是可以从按钮 "确定" 推测出来 优惠券的DOM元素是渲染出来的,但是不知道为何没有展示(这种问题,我也是第一次见).
我和同事反反复复排查了各种问题 譬如 v-if
和 v-for
的优先级、 ===
==
的逻辑是否正确 等等等,代码一直删删改改.
后来我感觉是手机机型的问题,抱着这个想法,我去后端的日志上,找到了这个用户的机器信息 如下
果不其然,我看到了 IOS14 我立刻找来了公司客服的一部手机,查看之后发现就是 IOS14 系统不知道什么原因一直无法编译DOM元素.
然后又是继续排查,一直尝试各种方法,在我即将放弃的时候,我突然有了思路 既然 "确定" 按钮可以渲染出来,那优惠券不能,是不是样式问题呢
然后找到了这么一行代码
这样写应该是为了兼容chrome浏览器,可能因为这里吗?
注释掉之后, 还真的是!!!
沃德法!!!!
这是正常渲染出来的优惠券
问题2 IOS14 时间戳显示NaN
这个问题就比较久远了, 大概是一两个月前, 现在突然想到 做个总结
问题展示
和上个问题一样 也是 IOS14 系统内部的问题
当时也是抓狂了很久,不知道是哪里出的问题
猜测原因
IOS14 系统无法编译 - 这个符号, 所以所有的时间戳都成了NaN
解决方法
引入第三方包 day.js 时间戳让第三方库去处理
贴一句代码
dayjs
方法执行你需要的时间戳.format
方法去决定时间戳的格式
item.pay_time = item.pay_time ? dayjs(item.pay_time).format('YYYY-MM-DD HH:mm:ss') : null