本文档介绍了如何在UniApp开发中实现将链接分享到微信好友,并确保在分享时显示标题和缩略图的方法。

背景

第一次用uniapp开发H5页面,发现分享给微信好友的链接,不显示标题和缩略图

步骤一:安装插件

首先,在项目根目录下的命令行中执行以下命令:

npm install weixin-js-sdk

这将在您的项目中添加weixin-js-sdk插件。

步骤二:配置AppID

在使用微信分享功能之前,您需要配置您的AppID,timestamp,nonceStr,signature

步骤三:编写分享代码

接下来,在您想要触发分享操作的页面或组件中,添加一个按钮或其他交互元素,并为其绑定一个点击事件。例如,在某个按钮的点击事件中,可以使用以下代码来触发分享操作:

import wx from 'weixin-js-sdk'
import requestUtils from '@/http/request.js'
import requsetApi from '@/api/home' // 发起获取signature请求
function getSignature() { var url = window.location.origin + '/'
requsetApi.signature({
url
}).then(res => {
if (res.code === 200) {
setShare(res.data)
}
})
}
// 设置分享数据
function setShare(signature) {
var url = window.location.origin + '/'
requestUtils.uni_setStorageSync('signature', JSON.stringify(signature)) wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
// 配置微信 JSSDK
appId: signature.appId, // 必填,公众号的唯一标识
timestamp: signature.timestamp, // 必填,生成签名的时间戳
nonceStr: signature.nonceStr, // 必填,生成签名的随机串
signature: signature.signature, // 必填,签名
jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData']
}) wx.ready(function() {
console.log('这是分享功能')
wx.updateAppMessageShareData({
imgUrl: 'https://xxx.com/static/ai.png', // 分享图标
title: 'AI', // 分享标题
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
desc: '生活工作神器', // 分享描述
success: function() {
console.log('我来分享了')
}
})
wx.updateTimelineShareData({
desc: '生活工作神器', // 分享描述
title: 'AI', // 分享标题
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'https://xxx/static/ai.png', // 分享图标
success: function() {
console.log('我来分享了')
}
})
})
wx.error((res) => {
console.log(res)
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
// getSignature()
})
} //分享
export default function share() { const _signature = requestUtils.uni_getStorageSync('signature')
// 先看看缓存里有没有
if (_signature) {
let signature = JSON.parse(_signature)
// 获取当前时间戳
var now = parseInt(new Date().getTime() / 1000) + ''
// 计算两个时间戳之间的差值,单位为秒
var diff = now - signature.expire_time // 判断差值是否大于2小时的秒数,即7200秒
if (diff > 7200) {
console.log('时间戳已经超过两小时。')
getSignature()
} else {
console.log('时间戳未超过两小时。')
setShare(signature)
}
} else {
getSignature()
}
}

在上述代码中,我们触发分享操作。您可以根据需要自定义分享的标题、摘要、链接和缩略图等内容。

步骤四:测试分享功能

完成以上步骤后,您可以重新编译并运行您的UniApp项目,并在H5中测试分享功能。当您点击触发分享的按钮时,微信将会弹出分享界面,并显示您设置的标题和缩略图。

请确保您的微信公众平台已经配置了合适的权限和域名白名单,以便正常进行分享操作。

结论

通过按照本文档中的步骤,在UniApp开发中实现将链接分享到微信好友,并显示标题和缩略图是相对简单而有效的。

在我开发完这个功能后,发现官方有个提供,UNI-APP 开发微信公众号(H5)JSSDK 的使用方式 - DCloud问答

不确定好不好使,感兴趣的可以通过这个链接试一试。

uniapp开发H5,分享链接到微信好友,显示标题和缩略图的更多相关文章

  1. 微信内无法自动跳转外部浏览器打开H5分享链接的解决办法

    很多情况下我们用微信分享转发H5链接的时候,都无法在微信内打开,即使开始能打开,过一段时间就会被拦截,拦截后再打开微信会提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢,主要有以下四点 1 ...

  2. 解析分享链接在微信内转发防封API接口的实现原理

    域名被微信封了怎么办?相信这是很多做微信的朋友的疑惑,本人也是做防封的,特此写一篇文章,写给域名被微信封的.被秒封的朋友来看.简单个大家讲一下防封原理和实现方式. 域名拦截因素 我们先来了解一下域名为 ...

  3. [h5+api]移动app开发用到的微信好友,朋友圈,qq好友,新浪微博分享合集

    适用H5+环境,能够使用plus方法的移动app中 /** * Created by HBuilder. * User: tyx * Date: 2018-11-21 * Time: 17:28:51 ...

  4. H5微信自定义分享链接(设置标题+简介+图片)

    起源:最近公司在做招募广告的html5页面,然后做出来后,产品提出一个问题,需要分享出去的链接是卡片形式,内容也要自己定义,这下就难到我了,因为是第一次遇到这种需求,果断百度,然而,我就像大家一样,看 ...

  5. 解决h5网页微信分享链接不能显示缩略

    <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js& ...

  6. h5网页在微信里打开 右上角分享到微信好友或者朋友圈

    首先你需要一个分享接口地址,然后在自定义图片 标题 描述 如下: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js& ...

  7. H5分享到微信好友朋友圈QQ好友QQ空间微博二维码

    这是分享按钮: <button onclick="call()">通用分享</button> <button onclick="call(' ...

  8. Swift - 发送消息(文本,图片,文件等)给微信好友或分享到朋友圈

    通过调用微信提供的API接口,我们可以很方便的在应用中发送消息给微信好友,或者分享到朋友圈.在微信开发平台(https://open.weixin.qq.com)里,提供了详细的说明文档和样例.但由于 ...

  9. H5+ 分享到微信、朋友圈代码示例

    h5+分享到微信.朋友圈代码示例 在使用分享功能的时候会莫名的分享失败,debug时发现是图片过大的问题. 图片过大时ios平台上返回错误码-8,安卓上返回错误码-3(我测试是这样) 因此如果第一次分 ...

  10. 使用uView UI+UniApp开发微信小程序

    在前面随笔的介绍中,我们已经为各种框架,已经准备了Web API.Winform端.Bootstrap-Vue的公司动态网站前端.Vue&Element的管理前端等内容,基本都是基于Web A ...

随机推荐

  1. Vulhub activewq_漏洞复现——源码分析

    Vulhub activewq_漏洞复现--源码分析 漏洞简介 Apache ActiveMQ是由美国阿帕奇(Apache)软件基金会开发的开源消息中间件,支持Java消息服务.集群.Spring框架 ...

  2. 2020-09-11:Hive的优化策略有哪些?

    福哥答案2020-09-11: [Hive调优及优化的12种方式](https://zhuanlan.zhihu.com/p/80718835?utm_source=qq)1.请慎重使用COUNT(D ...

  3. 2021-10-25:计数质数。统计所有小于非负整数 n 的质数的数量。力扣204。

    2021-10-25:计数质数.统计所有小于非负整数 n 的质数的数量.力扣204. 福大大 答案2021-10-25: 自然智慧即可.从i从3开始遍历,每次加2,i*i<n. 代码用golan ...

  4. 配置pip源

    1.使用配置文件配置文件[global]trusted-host=pypi.doubanio.comindex-url=https://pypi.doubanio.com/simple配置文件放置位置 ...

  5. 代码随想录算法训练营Day7哈希表| 454.四数相加II383. 赎金信15. 三数之和18. 四数之和 |总结

    454.四数相加Ⅱ 题目链接:454.四数相加 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:. ...

  6. 白帽子讲web安全

    世界安全观 Web安全筒史 起初,研究计算机系统和网络的人,被称为"Hacker","Hacker"在中国按照音译,被称为"黑客" 对于现代 ...

  7. CANoe学习笔记(一):创建第一个仿真工程(基于CAN):点灯

    目录 内容: ①创建两个节点,Switch和Light节点 ②创建两个Panel界面 ③capl代码实现Switch控制Light亮灭 事先准备: 养成良好的习惯,将不同文件放入不同文件夹,创建如下几 ...

  8. 爆肝万字带你超级详细全面了解Linux命令大全

    前言 作者主页:CSDN丨博客园 学习交流:在下周周ovoの社区 对这篇万字博客目录总结如下: 关机命令.重启命令,创建用户.删除用户.修改密码.切换用户.切换到超级用户.禁用/解锁用户账户.修改信息 ...

  9. 前端树形结构图组件 tree组件,可拖拽移动,点击展开收缩,无限添加子集

    快速实现树形结构图组件 tree组件,可拖拽移动,点击展开收缩,无限添加子集; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=1 ...

  10. 1. SpringMVC 简介

    1. 什么是 MVC ‍ MVC是一种软件架构的思想,将软件按照模型.视图.控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 ‍ JavaBean分为两类: 一类称为实 ...