美文网首页
Vue 微信分享

Vue 微信分享

作者: 董懂同学 | 来源:发表于2018-07-24 12:01 被阅读69次

Web项目经常会用到微信,所以总结一下。

1. 引用微信的'weixin-js-sdk

import wx from 'weixin-js-sdk';

2. 获取签名

后台会给一个接口用来获取接口,比如/api/js/config?url=+location.origin + location.pathname,会得到如下一个返回结果

{
  "code": 0,
  "message": "ok",
  "data": {
    "debug": false,
    "beta": false,
    "jsApiList": [
      "onMenuShareTimeline",
      "onMenuShareAppMessage",
      "onMenuShareQQ",
      "onMenuShareWeibo",
      "onMenuShareQZone",
      "openLocation",
      "getLocation",
      "chooseImage",
      "previewImage",
      "uploadImage",
      "downloadImage"
    ],
    "appId": "wxb***fbab32829***",
    "nonceStr": "E4lQzW2tgC",
    "timestamp": 1532403602,
    "url": "https://ufutx.test/wx/lecturer/1/preview",
    "signature": "6b70358fa40a2940bc780b4f602714aabe57383e"
  }
}

3.配置微信分享

 let jsConfig = response.data.data
 wx.config({
     debug: false,
     appId: jsConfig.appId,
     timestamp: jsConfig.timestamp,
     nonceStr: jsConfig.nonceStr,
     signature: jsConfig.signature,
     jsApiList: jsConfig.jsApiList
 })


 wx.showOptionMenu()
 wx.ready(function() {
     wx.onMenuShareTimeline({
         title: self.shareTitle, // 分享标题
         link: self.shareUrl, // 分享链接
         desc: self.shareDesc, // 分享描述
         imgUrl: self.shareImage, // 分享图标
         success: function() {
             console.log('分享朋友圈成功啦!')
         },
         cancel: function() {
             console.log('分享朋友圈失败')
         }
     })
     wx.onMenuShareQQ({
         title: self.shareTitle, // 分享标题
         link: self.shareUrl, // 分享链接
         desc: self.shareDesc, // 分享描述
         imgUrl: self.shareImage, // 分享图标
         success: function() {
             console.log('分享给朋友成功啦')
         },
         cancel: function() {
             console.log('分享给朋友失败')
         }
     })
     wx.onMenuShareAppMessage({
         title: self.shareTitle, // 分享标题
         link: self.shareUrl, // 分享链接
         desc: self.shareDesc, // 分享描述
         imgUrl: self.shareImage, // 分享图标
         success: function() {
             console.log('分享给朋友成功啦')
         },
         cancel: function() {
             console.log('分享给朋友失败')
         }
     })
 })

3.可能会遇到的问题

  • 二次分享失败,这个可以通过每次在created 时候,直接跳转到location.origin + location.pathname
  • 单页面分享拉取接口时,url应该是#号之前的内容,而不是location.href

相关文章

  • Vue 微信分享

    Web项目经常会用到微信,所以总结一下。 1. 引用微信的'weixin-js-sdk 2. 获取签名 后台会给一...

  • vue 微信分享

    npm install weixin-js-sdk --save网上好多使用这个的但是已经弃用了指路[https:...

  • vue 微信分享

    1、单独写一个外部文件引用 import axios from 'axios';import wx from 'w...

  • 微信公众号开发

    采用 TP5 + vue 实现如下功能 微信登录微信分享微信支付 微信登录 前端输入参数跳转 前端获取code码 ...

  • 微信h5页面 ios wx.chooseImage无效

    具体流程:vue项目,几个微信h5页面,A页面(隐藏了微信分享)跳转到B页面(隐藏了微信分享),使用 a链接跳转 ...

  • 记一次vue单页应用微信分享

    由于业务需要,单页面应用需要进行微信分享,目前要求只分享首页 准备工作: 在index.vue使用: 微信jsdk...

  • 简单粗暴帮你用vue实现微信分享

    最近在用vue搞项目,碰到一个问题就是微信分享,我们知道微信分享会自动获取页面的title标签做为我们的分享标题,...

  • vue微信分享总汇

    本文通过自己开发过程遇到一些坑做一次总结: 一、首先交代一下基本过程和工具 1、肯定是先撸一波文档微信api接口文...

  • vue做微信分享

    1、下载weixin-js-sdk 的依赖 cnpm install weixin-js-sdk --save 2...

  • 项目中遇到的问题以及如何解决的

    1问题: vue 项目中微信分享,拿到的分享链接总是首页;原因:微信浏览器自动会截图链接中#后面的数据解决方法:在...

网友评论

      本文标题:Vue 微信分享

      本文链接:https://www.haomeiwen.com/subject/ycyemftx.html