uniapp微信公众号H5分享

如果项目文件node_modules中没有weixin-js-sdk文件,则直接使用本文章提供的;

如果不生效,则在template.h5.html中引入

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

首先引入weixin-js-sdk

复制代码
<script>
    import * as weixin from 'weixin-js-sdk'
    import * as UserApi from '@/api/user'
    export default {
        data() {
            return {
            
            }
        },
        onLoad(options) {
            this.weixinShareInfo();
        },
        methods: {
            weixinShareInfo(){
			    var that = this;
			    //获取当前url然后传递给后台获取授权和签名信息
			    var urls = window.location.href.split('#')[0]; //当前网页的URL,不包含#及其后面部分
			    console.log('888:',window.location.href.split('#')[0]);
			
			    var data = {
				    urls:urls
			    }
                //获取到微信分享相关配置
			    UserApi.fenxiang(data, { load: true }).then(res => {
			        if(res.data && res.data.signData){
					    console.log('res.data.signData:',res.data.signData);
			    	    weixin.config({
			    	      debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
			    	      appId: res.data.signData.appId, // 必填,公众号的唯一标识
			    	      timestamp: res.data.signData.timestamp, // 必填,生成签名的时间戳
			    	      nonceStr: res.data.signData.nonceStr, // 必填,生成签名的随机串
			    	      signature: res.data.signData.signature,// 必填,签名
			    	      jsApiList: ["onMenuShareTimeline","onMenuShareQQ","onMenuShareAppMessage","updateAppMessageShareData","updateTimelineShareData"] // 必填,需要使用的JS接口列表
			    	    });
					    weixin.ready(function(){
						    console.log(999999999998888888888);
						    weixin.checkJsApi({
						      jsApiList: ['updateAppMessageShareData',"updateTimelineShareData"], // 需要检测的JS接口列表,所有JS接口列表见附录2,
						      success: function(res2) {
						      // 以键值对的形式返回,可用的api值true,不可用为false
						      // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
							    // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
								    
							 weixin.updateAppMessageShareData({ 
							    title: '测试标题', // 分享标题
							    desc: res.data.signData.intro, // 分享描述
							    link: res.data.signData.url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
							    imgUrl: res.data.signData.fximg, // 分享图标
							    success: function () {
							      // 设置成功
									console.log('===分享===');
							    }
							 })
							 
							 weixin.updateTimelineShareData({
							    title: '测试标题', // 分享标题
							    desc: res.data.signData.intro, // 分享描述
							    link: res.data.signData.url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
							    imgUrl: res.data.signData.fximg, // 分享图标
							    success: function () {
							      // 设置成功
							 		console.log('===分享===');
							    }
							 })
						  },
						  fail: function(err){
							  console.log('checkJsApi:',err);
						  }
						});
					   
					})
					weixin.error(function(err){
						console.log('err:',err);
					    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
						
					})
			    	
			    }
			    
			}).catch(err => {
			    
			})

		},
		
        }
    }
</script>
相关推荐
Rudon滨海渔村13 小时前
【懒人教程】如何让uniapp项目在PC大屏中显示移动端的效果 - 统一uniapp项目的PC、平板、手机的样式
uni-app
2501_9159184116 小时前
iOS 文件管理全流程实战,从开发调试到数据迁移
android·ios·小程序·https·uni-app·iphone·webview
碎像19 小时前
uni-app实战教程 从0到1开发 画图软件 (学会画图)
前端·javascript·css·程序人生·uni-app
小徐_233321 小时前
uni-app 还在手写请求?alova 帮你全搞定!
前端·uni-app·axios
iOS阿玮1 天前
苹果审核被拒要听劝,能沟通回复解决真的不用改!
uni-app·app·apple
anyup2 天前
🚀 2025 最推荐的 uni-app 技术栈:unibest + uView Pro 高效开发全攻略
前端·vue.js·uni-app
iOS阿玮2 天前
成年人的沟通,不谈钱谈什么?谈感情?
uni-app·app·apple
y东施效颦2 天前
uni-app app端安卓和ios如何申请麦克风权限,唤起提醒弹框
android·ios·uni-app
fakaifa2 天前
【最新版】沃德云商协系统全开源+uniapp小程序
小程序·uni-app·源码下载·沃德云商协会·商协会管理系统
q5507071772 天前
uniapp/uniappx实现图片或视频文件选择时同步告知权限申请目的解决华为等应用市场上架审核问题
android·图像处理·uni-app·uniapp·unix