小程序分享链接提取
我们可以使用微信开放平台的 web_urls
接口来获取小程序分享到微信内的链接,具体步骤如下:
在开发者工具中打开小程序管理后台,进入“设置”-“开发设置”-“网络设置”,选择“允许访问本机的WebSocket接口”。
在小程序开发中,添加一个网络请求的处理函数 wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/webwx-bin/web_urls', success (res) { const data = res.data.web_urls; // 分享链接使用的接口返回的数据格式如下: // { // "touser": "OPENID", // "msgtype": "text", // "text": "xxxxx", // "url": "https://www.example.com/page/xxx" // } const url = data.url; console.log(url); // 在前端将分享链接展示在页面上 }, fail (error) { console.log(error); } })
在前端页面中通过 wx.cloud.callFunction({ // 在这里调用上面获取到的分享链接 name: 'getShareUrl', data: { title: '分享标题', desc: '这是一段描述', link: 'https://www.example.com/page/xxx', imgUrl: 'https://img.example.com/image.jpg', }, })
调用上面获取到的分享链接。
需要注意的是,由于微信的限制,每个小程序每天只能向微信分享一次,并且每次分享只能获取到一个分享链接。如果需要多次分享,需要等待一段时间后再次调用 wx.request()
接口获取分享链接。
如果需要在小程序中分享多个链接,可以使用一个字典将链接和标题、描述等信息保存起来,然后在 wx.request()
接口中传递这个字典作为参数,示例代码如下:
// 在小程序开发中,保存分享链接和标题等信息到一个字典中
data = {
title: '分享标题',
desc: '这是一段描述',
link: 'https://www.example.com/page/xxx',
imgUrl: 'https://img.example.com/image.jpg',
}
// 在前端页面中调用上面保存的分享链接
wx.cloud.callFunction({
name: 'getShareUrls',
data: {
title: data.title,
desc: data.desc,
link: data.link,
imgUrl: data.imgUrl,
},
})
需要注意的是,每个小程序每天只能向微信分享一次,并且每次分享只能获取到一个分享链接。如果需要多次分享,需要等待一段时间后再次调用 wx.request()
接口获取分享链接。