欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue项目中实现的微信分享功能示例

程序员文章站 2023-11-03 18:58:34
本文实例讲述了vue项目中实现的微信分享功能。分享给大家供大家参考,具体如下: /* 微信分享 */ vue.prototype.wechatshare = (...

本文实例讲述了vue项目中实现的微信分享功能。分享给大家供大家参考,具体如下:

/* 微信分享 */
vue.prototype.wechatshare = (sharedata) => {
 let resource = {
  title: '随我心愿!',
  desc: '体验优质服务',
  link: 'https://www.abc.cn/',
  img: 'https://www.abc.cn/images/share_logo.jpg'
 }
 let obj = object.assign({}, resource, sharedata)
 let params = {url: window.location.href}
 $post('/vue/weixinjiekou', params).then(data => {
  // 分享标题等参数
  const sharetitle = obj.title
  const sharedesc = obj.desc
  const sharelink = obj.usershare ? obj.link + data.flag : obj.link
  const shareimgurl = obj.img
  const config = {
   title: sharetitle, // 分享标题
   desc: sharedesc, // 分享描述
   link: sharelink, // 分享链接
   imgurl: shareimgurl, // 分享图标
   type: '', // 分享类型,music、video或link,不填默认为link
   dataurl: '', // 如果type是music或video,则要提供数据链接,默认为空
   success: function () {},
   cancel: function () {}
  }
  wechat.config({
   debug: false,
   appid: data.appid, // 和获取ticke的必须一样------必填,公众号的唯一标识
   timestamp: data.timestamp, // 必填,生成签名的时间戳
   noncestr: data.noncestr, // 必填,生成签名的随机串
   signature: data.signature, // 必填,签名,见附录1
   // 需要分享的列表项:发送给朋友,分享到朋友圈,分享到qq,分享到qq空间
   jsapilist: [
    'onmenusharetimeline', 'onmenushareappmessage', 'onmenushareqq', 'onmenushareweibo',
    'onmenushareqzone', 'startrecord', 'stoprecord', 'onvoicerecordend', 'playvoice',
    'pausevoice', 'stopvoice', 'onvoiceplayend', 'uploadvoice', 'downloadvoice',
    'chooseimage', 'previewimage', 'uploadimage', 'downloadimage', 'translatevoice',
    'getnetworktype', 'openlocation', 'getlocation', 'hideoptionmenu', 'showoptionmenu',
    'hidemenuitems', 'showmenuitems', 'hideallnonbasemenuitem', 'showallnonbasemenuitem',
    'closewindow', 'scanqrcode', 'choosewxpay', 'openproductspecificview', 'addcard',
    'choosecard', 'opencard'
   ]
  })
  // 处理验证失败的信息
  wechat.error(function (res) {
   console.log('验证失败返回的信息:', res)
  })
  // 处理验证成功的信息
  wechat.ready(function () {
   // 分享给朋友
   wechat.onmenushareappmessage(config)
   // 分享到朋友圈
   wechat.onmenusharetimeline(config)
   // 分享到qq
   wechat.onmenushareqzone(config)
   // 分享到微博
   wechat.onmenushareweibo(config)
   // 分享到qq空间
   wechat.onmenushareqzone(config)
  })
 })
}

微信接口信息

{
 "result": {
  "appid": "appid",
  "noncestr": "随机串",
  "signature": "签名",
  "timestamp": 时间戳,
  "flag": 6
 },
 "status": "y"
}

希望本文所述对大家vue.js程序设计有所帮助。