微信二次分享报错invalid signature问题及解决方法
网络编程 2021-07-04 15:50www.168986.cn编程入门
基于微信公众号开发的h5页面(使用jssdk接口),由用户A分享给用户B,用户B分享这个页面时,不能成功分享。这篇文章主要介绍了微信二次分享报错invalid signature问题及解决方法,需要的朋友可以参考下
基于微信公众号开发的h5页面(使用jssdk接口),由用户A分享给用户B,用户B分享这个页面时,不能成功分享。问题出在用户B收到的分享链接与用户A打开的链接不同
A用户的链接为
B用户收到的连接
from=singlemessage是微信客户端为了区分分享来源再链接后自动添加的标记,分享时,需要在js代码中对自动获取的连接进行encodeURIComponent处理,后台再对收到的url进行urldecode处理。
js与php示例代码如下
注意ajax,用的post,用get据说不用转义(get方式本人未做测试)
js代码
function share(){ var nowurl = window.location.href; var nowurlo = nowurl.split('&')[0]; $.ajax({ type : "post", url : "", //后端接口 dataType : "json", data : { 'url': encodeURIComponent(nowurl) }, // 注意此处对nowurl进行encode; suess : function (data) { wx.config({ debug : false, //调试模式 appId : data.appId, //公众号appid timestamp : data.timestamp, //时间戳 nonceStr : data.noncestr, //生成签名的随机串 signature : data.signature, //签名 jsApiList : [ 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline', 'chooseWXPay', 'showOptionMenu', "hideMenuItems", "showMenuItems", "onMenuShareTimeline", 'onMenuShareAppMessage', ] // 必填,需要使用的JS接口列表 }); wx.ready(function () { //需在用户可能点击分享按钮前就先调用 wx.updateAppMessageShareData({ title : '', // 分享标题 desc : '', // 分享描述 link : nowurlo, // 自动获取(上面js代码中) imgUrl : '', // 分享图标 suess : function () { } }); wx.updateTimelineShareData({ title : '', // 分享标题 link : nowurlo, 自动获取(上面js代码中) imgUrl : '', // 分享图标 suess : function () { }, }); }); } }); }
php代码
public function generateSignature(){ $timestamp = time(); $jsapiTicket = ;//此处获取jsapi_ticket $noncestr = md5(uniqid(microtime(true),true));//我用的noncestr $url = urldecode(I('post.url')); $signature = sha1('jsapi_ticket=' . $jsapiTicket . '&noncestr=' . $noncestr . '×tamp=' . $timestamp . '&url=' . $url); $shareConfig['appId'] = '';//此处为appId $shareConfig['timestamp'] = $timestamp; $shareConfig['noncestr'] = $noncestr; $shareConfig['signature'] = $signature; $shareConfig['url'] = $url; echo json_encode($shareConfig); }
以上所述是长沙网络推广给大家介绍的微信二次分享报错invalid signature问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
上一篇:详解Vue之父子组件传值
下一篇:JS中的防抖与节流及作用详解
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指