在UniAPP的开发中,如果我们想做微信分享,比如分享给微信好友,或者发布给好友,可以使用uniapp提供的一个接口(uni.share)来完成。但是这个界面只支持小程序和app,而H5不能使用这个界面,所以分享功能无法实现。
在H5方面,我们通常使用以下解决方案来解决它。在给出示例代码之前,我们必须先安装一个模块(jweixin-module),这个模块可以由NPM安装(如果你没有用过NPM,可以先下载Node.js,安装在你的电脑上,然后才能执行NPM命令),如下图:
节点. js
转到您自己的项目目录(例如,我在这里学习)并执行NPM命令安装jweixin-module模块到项目中。
npm安装jweixin-modulejweixin-module
安装成功后,项目的node_modules下会生成jweixin-module,表示该模块安装成功,然后我们就可以使用了。
在任何想要使用此函数的vue/js文件中编写以下代码:
wx=require(‘ jwei Xin-module ‘)//必须获取本地URL进行签名,否则签名会不正确。let URL=location . href . split(‘ # ‘)[0]uni . request({ URL 3360 ‘ weixin/signature ‘,//这是从服务器获取微信签名的接口。可以修改Data: {URL 3360URL}},function(RES){ if(RES . code==0 RES . data){ wx . config({ debug 3360 false,//打开调试模式,所有api调用的返回值都会在客户端告警出来。如果想查看进来的参数,可以在pc端打开,参数信息会通过log录入,只在pc端打印。AppId: res.data.appId,//必选,时间戳3360res.data.timestamp,微信官方账号唯一标识符,//必选,时间戳nonce str 3360res.data.nonce str,//必选,生成的随机字符串signature : RES . data . signature,//必选,签名JSAPI list 3360[‘ UpdateAppMessageShareData ‘,’ UpdateTimelineShareData ‘]});Wx.ready(function() {//分享给微信好友Wx . updateappmessagesharedata({ Title 3360 ‘分享标题’,Imgurl3360 ‘分享图片’ })//分享给微信朋友圈wxUpdateTimelineSharedata({ Title 3360 ‘分享图片’,Imgurl3360 ‘分享标题’ }})注:1)获取微信签名的方式是在服务器端完成的,这里不做介绍。详见微信开发文档。2)必须先获取签名,然后执行wx.config,才能调用微信分享接口。3)用于签名传输的url地址优选地从客户端传输。如果它是在服务器上生成的,签名将失败。4)分享只能在微信内置浏览器(即微信官方账号)发起,不能在微信以外的普通浏览器发起。5)这里的微信分享并没有直接调出原生的微信分享操作,具体来说只是设置分享内容。如果需要实际分享,需要点击微信右上角的原生分享按钮实现分享(微信,tips:直接分享的界面,已经不可用)
以下是几款终端的微信分享支持汇总:
APP:好友、朋友圈微信小程序:好友、朋友圈(只需点击原生胶囊按钮)微信微信官方账号(h5):好友(点击页面按钮设置分享内容,再点击原生胶囊按钮实现分享),朋友圈(点击页面按钮设置分享内容,再点击原生胶囊按钮实现分享)普通浏览器:不支持。
ShopWind电子商务系统
暂无讨论,说说你的看法吧