前端微信分享jssdk config:invalid signature 签名错误的解决方法

这次给大家带来前端微信分享jssdk config:invalid signature 签名错误的解决方法,前端微信分享jssdk config:invalid signature签名错误的解决方法注意事项有哪些,下面就是实战案例,一起来看一下。

关于前端微信分享jssdk config:invalid signature 签名错误

这几天刚刚把微信写完,说出来你可能不信,我写个微信分享一起用了2个礼拜。中间各种心酸,一开始后台老大哥帮我把后台签证给写好了,不过不起作用,想叫他在改,但是后面公司有个项目急着上线,没有空,产品催的又急,自己没有办法,开始自己处理后台.

好了,话不多说,正文开始

首先微信的的东西看微信SDK文档是肯定的

立即学习“前端免费学习笔记(深入)”;

因为我是前端,就只写关于前端的代码了,后台我也涉及了,在文章的最后我会附上我自己改的后台代码

$.ajax({        type: "post",        dataType: 'json',        url: '接口链接',        data: {            url: urld        },        success: function(conf) {            console.log(conf);            configWxAPI(conf);            var conf = conf.url;            return conf;        },        error: function(event, XMLHttpRequest, ajaxOptions, thrownError) {                    }    });    //配置权限    function configWxAPI(conf) {        wx.config({            debug: false, //开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端            //打开,参数信息会通过log打出,仅在pc端时才会打印            appId: "唯一的ID", //必填,公众号的唯一标识            timestamp: conf.timestamp, //必填,生成签名的时间戳            nonceStr: conf.nonceStr, //必填,生成签名的随机串            signature: conf.signature, //必填,签名            jsApiList: [                                'onMenuShareTimeline',                'onMenuShareAppMessage',                'onMenuShareQQ',                'onMenuShareWeibo',                'previewImage',                            ] //必填,需要使用的JS接口列表,也就是配置你想使用的调用接口        });//      微信分享        wx.ready(function() {          //分享的图片            var imgUrl = ""                      //分享朋友            wx.onMenuShareAppMessage({                title: "标题",                desc: "内容简介",                link: "分享链接",                imgUrl: imgUrl,                success: function() {                    //分享成功之后执行的回调函数                },                cancel: function() {                    //取消分享之后执行的回调函数                }            });                             //分享朋友圈            wx.onMenuShareTimeline({                title: "标题",                desc: "内容简介",                link: "分享链接",                imgUrl: imgUrl,                success: function() {                    //分享成功之后执行的回调函数                },                cancel: function() {                    //取消分享之后执行的回调函数                }            });        });        wx.error(function(conf) {            console.log(conf);            // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。        });    };

登录后复制

后台部分的代码

public function getSignPackage() {        if(IS_POST){        if(!I('post.url')) $this->ajaxReturn(array('status'=>0,'msg'=>'请输入当前的URL'));        $jsapiTicket = $this->getJsApiTicket();          //这句代码微信SDK上面没有介绍,但是用来签证的url里面就&后面会自动带有&,所以这里用了php的字符串替换        $url =  str_replace("&","&",I('post.url'));        $timestamp = time();        $nonceStr = $this->createNonceStr();            // 这里参数的顺序要按照 key 值 ASCII 码升序排序

登录后复制

这里的时间还有随机字符串传给和前台的一样,还有url链接是由前台传给后台,在由后台通过这个url进行下面的编码

记住传给后台的url和当前链接要一模一样,记住传给后台的url和当前链接要一模一样,记住传给后台的url和当前链接要一模一样,

  $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";    $signature = sha1($string);    $signPackage = array(    "jsapiTicket" =>$jsapiTicket,      "appId"     => $this->appId,      "nonceStr"  => $nonceStr,      "timestamp" => $timestamp,      "url"       => $url,      "signature" => $signature,      "rawString" => $string    );    $this->ajaxReturn($signPackage);

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

相关阅读:

前端入门之css3

axios怎样基于Promise的HTTP请求客户端

css的渐变颜色

以上就是前端微信分享jssdk config:invalid signature 签名错误的解决方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2784206.html

(0)
上一篇 2025年3月8日 17:02:11
下一篇 2025年3月6日 13:05:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论