BUG记录

1.IOS时间问题

IOS设备时间不支持YYYY-MM-dd 需要改成YYYY/MM/dd

2.IOS9 ES6支持问题

.babelrc 加入 

browser:{

"iOS >= 9", 

  "safari >= 7"

}

webpack和vue main 引入


3.IOS9 绝对定位差异

当定位值没有设置的时候不会有默认 比如margin:auto 四向0 可以居中 在IOS9就不会居中 需要手动设置具体值

4.当url传参中再度包含url时需要encodeURIComponent再度转化 否则在之后的参数会被附加在其中

5.QQ聊天记录

移动端:window.open(`mqqapi://card/show_pslcard?src_type=internal&version=1&uin=${qq}`)

PC:window.open(`tencent://message/?uin=${qq}`)

6.微信公众号授权与第三方授权

第三方授权 可以自己加入微信JS-SDK 调起二维码扫描之后进入开放平台的回调

公众号授权 则是直接open或者是直接改变location 到wx的授权地址即可进入公众平台配置的回调

公众号授权一般是一进去就开始调用 如果没有反应 可能是window.open被阻止 改用location.href=...即可

流程皆是 拿到code-换取用户信息-业务逻辑

7.购物车

7.1购物车的选中逻辑与一般选中逻辑不同。

由于会有删除和多端同时操作的可能 所以第一时间更新列表是至关重要的。但是随着列表数据的更新,老土的选中状态由前端自己添加(自生自灭)已经行不通了,因为数据一旦重置这个状态在不做本地存储的情况下是不保留的

用户体验何其差,所以在购物车场景下各大电商都将选中状态保存在了服务端

7.2结算页面的数据半持久化

采用sessionStorage 使的在用户真正离开站点之前这份结算数据真正的能够保存下来

7.3本地离线购物

在用户未登录之时,所有的加入购物车存入列表池localStorage中,等到用户触发登录,一次将本地列表池转至线上。同时清除本地池。用户体验极好!!

7.4项目中购物车经常会绑定到很多模块

以Vue举例,想了很多方案 还是采用了Vuex的存储,这样的联动性最高,机动性也最高

删除,加载,计数等等的操作全部在购物车模块状态完成 对外封装成暴露接口 其他模块只需要关心暴露的接口调用即可。

8.写好的广告突然就不见了?

经常小伙伴写完广告需求之后莫名其妙就发现自己写的东西不见了,在页面上找不到任何踪迹。甚至怀疑自己的代码,不要怀疑,是广告过滤插件在作怪,关了就好了。如果要避免被删,可以在命名时候尽量避开adv等常用广告用词,实在需要提醒的可以选择图片代替文字。

9.nuxt跳坑

9.1nuxt-link 和 router-link

简单来说就是预加载和懒加载的区别,所以不要一口气全怼上nuxt-link 。会预加载资源,影响体验。

9.2provide&inject 

严格来说官方文档写的确实说不响应,但是还是给出了对象的响应策略。但是实际使用效果不理想

但是本人使用以下hack做到了响应,


单独的一项一项覆盖可以做到,具体原因不知。但好在可以用,至于网上那些简单的方法都试过了 可能是我的数据嵌套比较深所以没作用。

9.3nuxt大坑



10.vue独立插件中调用router和store

如果是SPA项目 则直接引用暴露给Vue的对象

如果是SSR项目 则在调用的plugin 暴露一个方法 该方法会被调用传入context参数  其中就包含store。 router的话可以灵活实现

11.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容