当前位置:网站首页>H5实现分享功能
H5实现分享功能
2022-08-09 22:09:00 【别凶小晗.】
有个问题,就是现在的分享,分享出去的是个链接,想要分享出是个卡片的,只能先收藏此H5链接,从收藏里点开H5链接再去分享,此时分享的是个卡片(有个问题是:苹果分享出去不显示图片,安卓没有此问题,所以只能用安卓手机先分享给自己,然后再分享,就是个卡片了)
首先先安装weixin-js-sdk
安装npm install weixin-js-sdk
在untils封装validate.js
/** * 验证方法集合 */
/** * 验证是否在微信环境中 * 2021-06-02 18:13:51 * @author SnowRock * @returns {boolean} */
export function isWeChat() {
return isInNavigator('micromessenger')
}
/** * 判断浏览器的user-agent信息是否包含字符 * @param vg 字符 * @returns {boolean} */
export function isInNavigator(vg) {
if (typeof navigator === 'undefined') {
return false
}
if (typeof vg === 'undefined') {
return false
}
var agent = navigator.userAgent.toLowerCase()
return agent.indexOf(vg.toLowerCase()) > -1
}
安装npm install axios -g
再utils封装share.js
import wx from "weixin-js-sdk"; // 引入微信js-sdk
import {
isWeChat } from '@/utils/validate'; // 判断是不是微信内置浏览器
import axios from 'axios'; //接口请求封装
// 微信分享配置
export function wxConfigInit(data) {
console.log(data, '微信分享配置---')
// 微信配置
if (!isWeChat()) {
return
}
let linkUrl = ''
linkUrl = window.location.href
axios.get('https://?share_url=' + linkUrl).then(res => {
if (Number(res.data.code) === 200) {
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.data.data.app_id, // 必填,企业号的唯一标识,此处填写企业号corpid
timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
nonceStr: res.data.data.noncestr, // 必填,生成签名的随机串
signature: res.data.data.signature, // 必填,签名,见附录1
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData'
], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
openTagList: ['wx-open-launch-app']
})
wx.ready(function () {
wx.checkJsApi({
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData'
],
success: function (res) {
console.log(res, "======")
}
})
wx.updateAppMessageShareData({
// 分享给朋友
title: data.title, // 分享标题
desc: data.desc, // 分享描述
link: linkUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
imgUrl: data.imgUrl, // 分享图标
success: function () {
// 设置成功
console.log('分享给朋友')
}
})
wx.updateTimelineShareData({
// 分享到朋友圈
title:data.title, // 分享标题
desc: data.desc, // 分享描述
link: linkUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: data.imgUrl, // 分享图标
success: function () {
// 设置成功
console.log('分享到朋友圈')
},
cancel: function () {
console.log('updateTimelineShareData取消分享')
}
})
})
// wx.error(function (res) {
// console.log("store配置失败", res);
// // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名
// })
}
}).catch(err => {
console.log(err, '错误信息')
})
}
index.vue页面使用
<script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
mounted() {
this.configShare()
},
methods:{
configShare() {
const shareInfo = {
title: '分享标题', // 分享标题
desc: '分享描述', // 分享描述
link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: '分享图标' // 分享图标
}
wxConfigInit(shareInfo)
},
}
边栏推荐
- Tencent continues to wield the "big knife" to reduce costs and increase efficiency, and free catering benefits for outsourced employees have been cut
- Janus Official DEMO Introduction
- Qt 消息机制和事件
- Kubernetes Service对象
- 用户要清晰知道,量化交易并非简单的程序
- && 不是此版本的有效语句分隔符
- 集群的基础形式
- R语言使用mean函数计算样本(观测)数据中指定变量的相对频数:计算时间序列数据中大于前一个观测值的观测值所占的比例总体的比例
- 守护进程
- D. Binary String To Subsequences
猜你喜欢
Install win7 virtual machine in Vmware and related simple knowledge
2022-8-9 第六组 输入输出流
集群的基础形式
月薪5K的运维小白如何成为月薪5W的高级架构师?
leetcode:321. 拼接最大数
守护进程
【技术分享】SLA(服务等级协议)原理与配置
Interfering with BGP routing---community attributes
生成NC文件时,报错“未定义机床”
leetcode brush questions diary Calculate the number of elements on the right that is less than the current element
随机推荐
【Apifox】为什么如此受青睐,此篇文章和大家分享
异常处理(try,catch,finally)
Leetcode 701. 二叉搜索树中的插入操作
How to insist to use procedural system?
Core Data浅谈系列之五 : 在UITableView中展示
APS系统能消除造成生产和运输延迟的瓶颈
【面试高频题】可逐步优化的链表高频题
LeetCode_2632_字符串压缩
What is the stability of the quantitative trading interface system?
Janus官方DEMO介绍
2022牛客暑期多校训练营6(ABGIJM)
Vmware中安装win7虚拟机以及相关简单知识
k8s部署mysql
C. Omkar and Baseball
Interfering with BGP routing---community attributes
shell数组
(转)FreeType字体位图属性
The 2022-8-9 sixth group of input and output streams
pip 离线到内网安装包
【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点