1. 程式人生 > >vue中使用baidushare分享到微信無法顯示bug解決方案

vue中使用baidushare分享到微信無法顯示bug解決方案

解決 需要 基礎知識 才會 微信 在線 項目 fig 二維

最近vue單頁面項目中有個頁面分享的功能需求,按以往經驗,選擇了百度開源的baidushare.js

經過一天的掙紮,終於弄清楚了分享到微信後無法顯示的原因。

對比分析:

  以往成功使用:另寫了一個專門的分享著陸頁,也就是一個html文件,然後在裏面發請求拿數據渲染頁面。分享鏈接→http://www.123.com/share.html?id=123

本次失敗使用: 分享著陸頁沒有單獨寫,還是利用vue單文件的一個子路由+參數。分享鏈接→http://www.123.com/#/share?id=123

結論:

通過查看baidushare分享到微信時所生成二維碼掃描出來的鏈接,並對比在線工具產生的的二維碼,驚奇的發現,不一樣!!!

  baidushare會把需要分享鏈接 ‘#’ 號後面的全部丟棄並加上一堆亂七八糟的東西。直白了說,就是baidushare分享到微信時生成的二維碼是錯的,當然,這只是在開發vue單頁面應用並使用hash模式時才會產生,也只是分享到微信時才有問題。

解決辦法:

1. 老老實實寫一個html著陸頁,避開 ‘#’。

2. 自己找個插件生成正確的二維碼,然後在baidushare config配置的 onAfterClick 回調裏替代baidushare的二維碼。這裏面需要一些基本的插件調用和dom操作,基礎知識,就不詳細寫了。

vue中使用baidushare分享到微信無法顯示bug解決方案