uniapp开发的h5在微信以卡片的形式分享

这个项目是微信小程序+H5所以用的uniapp混合开发

实现功能:设置h5分享格式将链接转为卡片

未实现前:

实现后:

来吧 废话不多说,直接上代码!

这里我用的Vue2 使用mixin全局混入,如果只有一个页面设置分享,将代码copy到分享页面即可

// 新建mixins 文件
// npm i weixin-js-sdk -- save 下载微信包

import wx from 'weixin-js-sdk'
let mymixin = {

	onLoad(options) {
		let provider = uni.getStorageSync('provider') //运行环境		
		if (provider != 'H5') {

		} else {

			this.getShareInfo()
		}

	},
	methods: {
		async getShareInfo() {
			//获取url链接(如果有#需要这么获取)
			var url = window.location.href.split("#")[0];
			//获取url链接(如果没有#需要这么获取)
			// var url = encodeURIComponent(window.location.href);

			let res = await uni.$http.post('', { 'url': url }) //接口请求所需参数
			wx.config({
				debug: false, // 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。
				appId: res.data.data.appId, // 必填,公众号的唯一标识
				timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
				nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
				signature: res.data.data.signature, // 必填,签名
				jsApiList: [
					"updateAppMessageShareData",
					"updateTimelineShareData"
				] // 必填,需要使用的 JS 接口列表
			});
			wx.ready(() => {
				var pageTitle = document.title;
				var shareData = {
					title: pageTitle,
					desc: "描述",
					link: window.location.href,
					imgUrl: "https://.png",
					success: () => {
						// 用户确认分享后执行的回调函数
						console.log('分享成功');
					},
				};
				//自定义“分享给朋友”及“分享到QQ”按钮的分享内容
				wx.updateAppMessageShareData(shareData);
				//自定义“分享到朋友圈”及“分享到 QQ 空间”按钮的分享内容(1.4.0)
				wx.updateTimelineShareData(shareData);
			});
			//错误了会走 这里

			wx.error(function(res) {
				console.log("微信分享错误信息", res);
			});

		},
		//
	}
}
export default mymixin

然后在main.js实现全局混入

import mixins from '@/mixins/index.js'
Vue.mixin(mixins);

这块涉及到微信公众号,具体的话去看官网,反正前端代码就是这样,有问题就赖后端,或者微信公众号信息没配置.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值