H5微信分享自定义标题和图片的实现及遇到的各种坑

本文介绍了如何在H5中实现在微信中自定义分享标题、描述和图片,涉及到微信JS-SDK的使用。在实现过程中,讨论了引入微信JS文件、前端代码配置等步骤,并详细列举了在配置过程中遇到的如'invalid signature'、'invalid url domain'等问题及相应的解决方案。此外,还特别提到分享必须配置图片的要求。
摘要由CSDN通过智能技术生成

一、前情提要

很多时候我们刚做出来的h5微信分享出去标题显示的是网页名称,描述是网页的URL,也没有图片,这样很不好看。如下图:
在这里插入图片描述
我们期望像APP分享的那样,可以自定义标题内容、描述以及好看的图片。如下图:
在这里插入图片描述
要实现这个效果则需要用到微信公众号的JS-SDK。微信官方文档

二、实现步骤

首先需要一个微信公众号的id及公众号号的密钥。这里我们主要说前端的代码实现。后端代码具体实现方式可以参考:java微信分享的开发
当后端写好代码后我们前端需要做的有:
1.因为我是在vue框架开发的h5所以我在index.html文件里引入了微信这个js文件,如图:
在这里插入图片描述
2.具体代码实现:

init() {
   
	const ua = navigator.userAgent.toLowerCase();
    let isWx = false
    if (ua.match(/MicroMessenger/i)) {
    //判断是否在微信打开
    	isWx = true;
    } else {
   
    	isWx = false;
    }
    if (isWx) {
   
    	const link = 
H5网页要在微信实现自定义分享链接,你需要利用微信的JSSDK(JavaScript SDK)。首先,需要在公众号后台配置,并获取到`APPID``JSAPI安全域名`。然后,在你的H5页面上,添加微信分享按钮并执行以下步骤: 1. **引入JSSDK库**: 在HTML头部添加微信的`<script>`标签,引入微信的JSSDK文件。 ```html <script src="https://res.wx.qq.com/open/js/jweixin-1.7.0.js" charset="utf-8"></script> ``` 2. **注册事件监听**: 在页面加载完成后,初始化微信JSSDK,通过`wx.config()`设置config信息,如timestamp、nonceStr等。 ```javascript window.onload = function() { var config = { debug: false, // 开启调试模式,显示log(默认关闭) appId: 'your_app_id', // 必填,公众号的唯一标识 timestamp: '', // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '', // 必填,签名 jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 需要使用的功能列表,比如分享朋友圈复制链接 }; wx.config(config); // ... 其他JSSDK配置初始化代码 }; ``` 3. **设置分享内容**: 使用`wx.ready()`回调函数,当SDK准备就绪后,可以调用相应的方法设置分享信息。 ```javascript wx.ready(function() { // 分享到朋友圈 wx.onMenuShareTimeline({ title: '自定义标题', // 分享标题 link: '自定义链接地址', // 自定义分享链接,格式通常是 http(s)://你的域/your_page.html?timestamp=当前时间戳 imgUrl: '图片URL', // 分享图标 desc: '自定义描述' // 分享描述 }); // 分享给朋友 wx.onMenuShareAppMessage({ title: '自定义标题', desc: '自定义描述', link: '自定义链接地址', imgUrl: '图片URL' }); }); ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值