1.IOS時間問題
IOS設(shè)備時間不支持YYYY-MM-dd 需要改成YYYY/MM/dd
2.IOS9 ES6支持問題
.babelrc 加入?
browser:{
"iOS >= 9",?
??"safari >= 7"
}
webpack和vue main 引入

3.IOS9 絕對定位差異
當(dāng)定位值沒有設(shè)置的時候不會有默認(rèn) 比如margin:auto 四向0 可以居中 在IOS9就不會居中 需要手動設(shè)置具體值
4.當(dāng)url傳參中再度包含url時需要encodeURIComponent再度轉(zhuǎn)化 否則在之后的參數(shù)會被附加在其中
5.QQ聊天記錄
移動端:window.open(`mqqapi://card/show_pslcard?src_type=internal&version=1&uin=${qq}`)
PC:window.open(`tencent://message/?uin=${qq}`)
6.微信公眾號授權(quán)與第三方授權(quán)
第三方授權(quán) 可以自己加入微信JS-SDK 調(diào)起二維碼掃描之后進(jìn)入開放平臺的回調(diào)
公眾號授權(quán) 則是直接open或者是直接改變location 到wx的授權(quán)地址即可進(jìn)入公眾平臺配置的回調(diào)
公眾號授權(quán)一般是一進(jìn)去就開始調(diào)用 如果沒有反應(yīng) 可能是window.open被阻止 改用location.href=...即可
流程皆是 拿到code-換取用戶信息-業(yè)務(wù)邏輯
7.購物車
7.1購物車的選中邏輯與一般選中邏輯不同。
由于會有刪除和多端同時操作的可能 所以第一時間更新列表是至關(guān)重要的。但是隨著列表數(shù)據(jù)的更新,老土的選中狀態(tài)由前端自己添加(自生自滅)已經(jīng)行不通了,因為數(shù)據(jù)一旦重置這個狀態(tài)在不做本地存儲的情況下是不保留的
用戶體驗何其差,所以在購物車場景下各大電商都將選中狀態(tài)保存在了服務(wù)端
7.2結(jié)算頁面的數(shù)據(jù)半持久化
采用sessionStorage 使的在用戶真正離開站點之前這份結(jié)算數(shù)據(jù)真正的能夠保存下來
7.3本地離線購物
在用戶未登錄之時,所有的加入購物車存入列表池localStorage中,等到用戶觸發(fā)登錄,一次將本地列表池轉(zhuǎn)至線上。同時清除本地池。用戶體驗極好?。?/p>
7.4項目中購物車經(jīng)常會綁定到很多模塊
以Vue舉例,想了很多方案 還是采用了Vuex的存儲,這樣的聯(lián)動性最高,機動性也最高
刪除,加載,計數(shù)等等的操作全部在購物車模塊狀態(tài)完成 對外封裝成暴露接口 其他模塊只需要關(guān)心暴露的接口調(diào)用即可。
8.寫好的廣告突然就不見了?
經(jīng)常小伙伴寫完廣告需求之后莫名其妙就發(fā)現(xiàn)自己寫的東西不見了,在頁面上找不到任何蹤跡。甚至懷疑自己的代碼,不要懷疑,是廣告過濾插件在作怪,關(guān)了就好了。如果要避免被刪,可以在命名時候盡量避開adv等常用廣告用詞,實在需要提醒的可以選擇圖片代替文字。
9.nuxt跳坑
9.1nuxt-link 和 router-link
簡單來說就是預(yù)加載和懶加載的區(qū)別,所以不要一口氣全懟上nuxt-link 。會預(yù)加載資源,影響體驗。
9.2provide&inject?
嚴(yán)格來說官方文檔寫的確實說不響應(yīng),但是還是給出了對象的響應(yīng)策略。但是實際使用效果不理想
但是本人使用以下hack做到了響應(yīng),


單獨的一項一項覆蓋可以做到,具體原因不知。但好在可以用,至于網(wǎng)上那些簡單的方法都試過了 可能是我的數(shù)據(jù)嵌套比較深所以沒作用。
9.3nuxt大坑
10.vue獨立插件中調(diào)用router和store
如果是SPA項目 則直接引用暴露給Vue的對象
如果是SSR項目 則在調(diào)用的plugin 暴露一個方法 該方法會被調(diào)用傳入context參數(shù)? 其中就包含store。 router的話可以靈活實現(xiàn)
11.