Vue - 最新网页 H5 分享到微信朋友圈 / 转发分享给朋友好友 / 分享到手机 QQ / 分享到 QQ 空间,Vue.js Nuxt.js 通用公众号页面解决方案(超级详细教程)

152 篇文章 1064 订阅 ¥9.90 ¥99.00

前言

如果您是 uniapp 项目(H5 网页),请访问 uniapp - 最新 H5 公众号网页分享到微信朋友圈 / 转发分享好友 这篇详细教程。

目前网上大部分教程都过时了(老版本、无效),并且存在 BUG与未进行代码封装乱的要死,移植到自己的项目非常困难。

本文将从 0-1 详细完成该功能,支持 Vue2 / Vue3 / Nuxt.js 项目,代码干净整洁无 BUG,

提供核心代码及超级详细的注释(无任何乱七八糟的不相关代码),您复制粘贴稍微改一下就能马上用。


利用微信 SDK 在网页中调起分享,实现 朋友圈与好友、QQ 相关的分享(本示例进行了封装,后续方便复用)

如下图真机测试,我自定义的标题、文案与图标:

在这里插入图片描述
在这里插入图片描述

一、第一步

由于要

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
实现步骤如下: 1. 引入微信JSSDK 首先需要在页面中引入微信JSSDK,可以通过以下CDN地址引入: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 2. 配置微信JSSDK 在Vue组件中,可以通过`mounted()`生命周期函数初始化微信JSSDK。在初始化之前,需要先获取微信JSSDK的配置信息,可以通过后端API获取: ```javascript mounted() { // 获取微信JSSDK配置信息 axios.get('/api/wechat/config', { params: { url: window.location.href.split('#')[0], }, }).then(res => { // 配置微信JSSDK wx.config({ debug: false, appId: res.data.appId, timestamp: res.data.timestamp, nonceStr: res.data.nonceStr, signature: res.data.signature, jsApiList: [ 'updateAppMessageShareData', 'updateTimelineShareData', ], }); }).catch(error => { console.log(error); }); }, ``` 需要注意的是,`url`参数需要传入当前页面的URL地址,但需要去除URL中的锚点部分。 3. 分享微信朋友 分享微信朋友可以通过`wx.updateAppMessageShareData()`方法实现,代码如下: ```javascript // 分享微信朋友 wx.updateAppMessageShareData({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图标', success: function () { // 分享成功后的回调函数 console.log('分享微信朋友成功'); }, cancel: function () { // 分享取消后的回调函数 console.log('取消分享微信朋友'); }, }); ``` 4. 分享朋友圈 分享朋友圈可以通过`wx.updateTimelineShareData()`方法实现,代码如下: ```javascript // 分享朋友圈 wx.updateTimelineShareData({ title: '分享标题', link: '分享链接', imgUrl: '分享图标', success: function () { // 分享成功后的回调函数 console.log('分享朋友圈成功'); }, cancel: function () { // 分享取消后的回调函数 console.log('取消分享朋友圈'); }, }); ``` 完整代码如下: ```javascript <template> <div> <button @click="shareToWechatFriend">分享微信朋友</button> <button @click="shareToWechatTimeline">分享朋友圈</button> </div> </template> <script> import axios from 'axios'; export default { mounted() { // 获取微信JSSDK配置信息 axios.get('/api/wechat/config', { params: { url: window.location.href.split('#')[0], }, }).then(res => { // 配置微信JSSDK wx.config({ debug: false, appId: res.data.appId, timestamp: res.data.timestamp, nonceStr: res.data.nonceStr, signature: res.data.signature, jsApiList: [ 'updateAppMessageShareData', 'updateTimelineShareData', ], }); }).catch(error => { console.log(error); }); }, methods: { // 分享微信朋友 shareToWechatFriend() { wx.updateAppMessageShareData({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图标', success: function () { console.log('分享微信朋友成功'); }, cancel: function () { console.log('取消分享微信朋友'); }, }); }, // 分享朋友圈 shareToWechatTimeline() { wx.updateTimelineShareData({ title: '分享标题', link: '分享链接', imgUrl: '分享图标', success: function () { console.log('分享朋友圈成功'); }, cancel: function () { console.log('取消分享朋友圈'); }, }); }, }, }; </script> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佳斌

请作者喝杯咖啡 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值