- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
本文档介绍了如何在UniApp开发中实现将链接分享到微信好友,并确保在分享时显示标题和缩略图的方法.
第一次用uniapp开发H5页面,发现分享给微信好友的链接,不显示标题和缩略图 。
首先,在项目根目录下的命令行中执行以下命令:
npm install weixin-js-sdk
这将在您的项目中添加 weixin-js-sdk 插件.
在使用微信分享功能之前,您需要配置您的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,分享链接到微信好友,显示标题和缩略图的文章就讲到这里了,如果你想了解更多关于uniapp开发H5,分享链接到微信好友,显示标题和缩略图的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
直接上代码,可以写在公共文件common和继承的基础类中,方便调用 ?
1、php服务端环境搭建 1.php 服务端环境 安装套件 xampp(apach+mysql+php解释器) f:\mydoc文件(重要)\dl_学习\download重要资源\apache
如下所示: Eclipse快捷键 Ctrl+1 快速修复 Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加)
第一步:conn.PHP文件,用于连接数据库并定义接口格式,代码如下: php" id="highlighter_808731">
本篇文章整理了几道Linux下C语言的经典面试题,相信对大家更好的理解Linux下的C语言会有很大的帮助,欢迎大家探讨指正。 1、如果在Linux下使用GCC编译器执行下列程序,输出结果是什么?
安装完最新的Boost库 官方说明中有一句话: Finally, $ ./b2 install will leave Boost binaries in the lib/ subdirecto
为了梳理前面学习的《spring整合mybatis(maven+mysql)一》与《spring整合mybatis(maven+mysql)二》中的内容,准备做一个完整的示例完成一个简单的图书管理功
网站内容质量仅仅是页面综合得分里面的一项.不管算法如何改变调整,搜索引擎都不会丢弃网站页面的综合得分。 一般情况下我们把页面的综合得分为8个点: 1、标题的设置 (标题的设置要有独特性)
最近事情很忙,一个新项目赶着出来,但是很多功能都要重新做,一直在编写代码、debug。今天因为一个新程序要使用fragment来做,虽然以前也使用过fragment,不过没有仔细研究,今天顺道写篇文
Android资源命名规范 最近几个月,大量涉及android资源的相关工作。对于复杂的应用而言,资源命名的规范很有必要。除了开发人员之外,UI设计人员(或者切图相关人员)也需要对资源使用的位置非常
以前一直使用Hibernate,基本上没用过Mybatis,工作中需要做映射关系,简单的了解下Mybatis的映射。 两者相差不多都支持一对一,一对多,多对多,本章简单介绍一对一的使用以及注意点。
如下所示: ? 1
如果想在自定义的View上面显示Button 等View组件需要完成如下任务 1.在自定义View的类中覆盖父类的构造(注意是2个参数的) 复制代码 代码如下: publ
实现功能:实现表格tr拖动,并保存因为拖动改变的等级. jsp代码 ?
代码:测试类 java" id="highlighter_819000"> ?
红黑树是一种二叉平衡查找树,每个结点上有一个存储位来表示结点的颜色,可以是red或black。 红黑树具有以下性质: (1) 每个结点是红色或是黑色 (2) 根结点是黑色的 (3) 如果一个
废话不多说,直接上代码 ? 1
码代码时,有时候需要根据比较大小分别赋值: ? 1
实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天就来总结下Git的相关用法,废话不多说,直接开写。 目的:通过Git管理github托管项目代码 1、下载安装Git 1、下载
直接上代码: 复制代码 代码如下: //验证码类 class ValidateCode { private $charset = 'abcdefghkmnprstuvwxyzABC
我是一名优秀的程序员,十分优秀!