vue项目中的关于微信自定义分享的一些坑汇总

266 阅读2分钟
H5微信分享在前端的应用还是很多的,本文主要说的是微信分享自定义的链接,图片,以及分享后的回掉的相关问题。
  1. 分享的前置准备工作,包括配置安全域名,等。前端的工作如下:先引入jssdk:

    <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>

  2. wx.config,wx.checkJsApi这些网上很多了就不多堆积了,说一下重点的地方,

    在自定义的分享链接时候,确认当前传给后台拿签名等参数时候,确保传的链接是和当前页面的对应的公众海安全域名保持一致,(切记传给后台的链接为当前的页面路径,并不是自定义要分享的链接,而自定义的链接在确保和当前安全域名一致的情况下,可以自定义,比如,当前页面为www.aaa.com/c/d,配置的安全域名为www.aaa.com,传给后台的url为当前页面的链接www.aaa.com/c/d,然后wx.onMenuShareAppMessage和wx.onMenuShareTimeline的link可以传自定义的链接www.aaa.com/e/f)打开debug模式后,确认签名正确。一般情况下报错无效签名都是传的url的路径不正确。

  3. 关于回调,我在vue项目中使用的是vuex,在state定义

      share_callback:'default'//default:未分享或者没回掉 AppMessageSuccess :分享给朋友成功  TimelineSuccess :分享给朋友圈成功 AppMessageCancel :分享给朋友取消 TimelineCancel :分享给朋友圈取消

然后在mutations中定义改变的方法,在actions中commit该方法

  [SHARE_CALLBACK](state,{share_callback}){    state.share_callback=share_callback  }

    sharecallback({commit},{callback}){        let share_callback=callback        commit(SHARE_CALLBACK,{share_callback})    }

在微信分享的回掉中,调用store.dispatch

import store from '../store/index'export default {    /**     * params:default:未分享或者没回掉      *        AppMessageSuccess :分享给朋友成功       *        TimelineSuccess :分享给朋友圈成功      *        AppMessageCancel :分享给朋友取消      *        TimelineCancel :分享给朋友圈取消     *  */     callback:function(state){        store.dispatch('sharecallback',{callback:state})    }}