h5项目微信分享(以卡片形式,带标题和图片)

1. 注册成为微信开放平台开发者

首先,你需要有一个微信公众平台的账号,并且你的小程序或公众号需要获得网页授权能力。这一步骤涉及在微信开放平台注册并创建小程序或公众号,获取AppID和AppSecret。

2. 配置安全域名

在微信公众平台的小程序或公众号后台,你需要将你的H5项目的域名添加到“公众号/小程序”的“JS接口安全域名”中,这样微信JS-SDK才能在该域名下正常工作。

3. 获取Access Token和JSAPI Ticket

为了使用微信JS-SDK,你需要先通过AppID和AppSecret从微信服务器获取Access Token,然后再用Access Token换取JSAPI Ticket。这一步通常在你的服务器端完成,因为AppSecret不应暴露在前端。

4. 引入微信JS-SDK

在你的H5页面中,通过以下方式引入微信JS-SDK:(全局配置,建议在index.html页面)

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

5. 配置微信JS-SDK(通过后端接口获取参数)

在页面加载完成后,使用获取到的JSAPI Ticket配置微信JS-SDK:

wx.config({
				debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
				appId: 'yourAppId', // 必填,公众号的唯一标识
				timestamp: timestamp, // 必填,生成签名的时间戳
				nonceStr: nonceStr, // 必填,生成签名的随机串
				signature: signature, // 必填,签名
				jsApiList: [
					'updateAppMessageShareData',
					'updateTimelineShareData',
					'onMenuShareAppMessage',
					'onMenuShareTimeline'
				] // 必填,需要使用的JS接口列表
			});

6. 设置分享内容

配置好JS-SDK后,你可以设置分享到朋友圈或发送给朋友的分享卡片内容:

wx.ready(function() {
				// 分享给朋友
				wx.updateAppMessageShareData({
					title: 'title', // 分享标题
					desc: 'describ', // 分享描述
					link: 'link', // 分享链接,必须与当前页面对应的公众号 JS 接口安全域名一致
				
					imgUrl: 'imgurl', // 分享图标
					success: function(res) {
						// 分享成功后的回调函数
					},
					cancel: function() {
						// 用户取消分享后执行的回调函数
					}
				});
});

7. 完整代码如下:

getWxConfig(title, describ, imgurl, link) {
				console.log("这是getWxConfig")
				const self = this;
				var url = window.location.href;
				$.ajax({
					url: 'common/wxSharing',
					data: {
						url: url,
					},
					method: 'GET',
					success(res) {
						var configData = JSON.parse(res.data.signData)
						if (res.code == 200) {
							wx.config({
								debug: false, 生产环境需要关闭debug模式
								appId: configData.appId, //appId通过微信服务号后台查看
								timestamp: configData.timestamp, //生成签名的时间戳
								nonceStr: configData.nonceStr, //生成签名的随机字符串
								signature: configData.signature, //签名
								jsApiList: ['updateAppMessageShareData']
							});
							wx.ready(function() {
								// 分享给朋友
								wx.updateAppMessageShareData({
									title: title, // 分享标题
									desc: describ, // 分享描述
									link: link, // 分享链接,必须与当前页面对应的公众号 JS 接口安全域名一致

									imgUrl: imgurl, // 分享图标
									success: function(res) {
										// 分享成功后的回调函数
									},
									cancel: function() {
										// 用户取消分享后执行的回调函数
									}
								});
							});

							// 配置失败的回调
							wx.error(function(res) {
								console.log('微信配置错误:', res);
							});

						}
					},
					complete(data) {}
				})
			}

  • 32
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue H5中调用微信分享,首先需要引入微信官方的JS-SDK库。在Vue项目的index.html文件中,可以在<head>标签内添加如下代码: ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> ``` 然后,在Vue组件的created生命周期钩子函数中,使用Vue的axios或者其他网络请求库向后端请求获取微信配置信息。 ```javascript created() { this.fetchWechatConfig(); }, methods: { async fetchWechatConfig() { const response = await axios.get('/api/wechat/config'); // 向后端请求微信配置信息 const { appId, timestamp, nonceStr, signature } = response.data; // 将配置信息存储到全局变量中 this.$store.commit('setWechatConfig', { appId, timestamp, nonceStr, signature }); this.initWechatSDK(); }, initWechatSDK() { const { appId, timestamp, nonceStr, signature } = this.$store.state.wechatConfig; wx.config({ appId, timestamp, nonceStr, signature, jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'], // 配置需要使用的微信API }); // 进行微信SDK的初始化 wx.ready(() => { this.shareToWechat(); }); }, shareToWechat() { const shareData = { title: '分享标题', link: '分享链接', imgUrl: '分享图片链接', desc: '分享描述', }; // 配置分享的具体内容 wx.onMenuShareTimeline(shareData); // 分享到朋友圈 wx.onMenuShareAppMessage(shareData); // 分享给好友 }, }, ``` 上述代码中,我们通过axios库向后端请求了微信配置信息,并将其存储到Vuex的全局状态中。然后,我们使用微信JS-SDK中的`wx.config`方法进行微信验证和初始化配置。一旦初始化成功,`wx.ready`回调函数将会被触发,我们在该函数中调用`shareToWechat`方法来配置分享的具体内容。 在`shareData`对象中,我们可以自定义分享标题、链接、图片和描述等信息,然后使用`wx.onMenuShareTimeline`方法配置分享给朋友圈的内容,使用`wx.onMenuShareAppMessage`方法配置分享给好友的内容。 最后,我们可以在Vue组件中调用`shareToWechat`方法来触发微信分享。 注意:在实际开发中,需要根据微信的API文档和后端提供的接口来进行相应的调整和配置。以上代码仅为示例,具体实现方式可能会有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值