最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

前端微信分享jssdkconfig:invalidsignature签名错误的解决方法

来源:动视网 责编:小采 时间:2020-11-27 20:01:28
文档

前端微信分享jssdkconfig:invalidsignature签名错误的解决方法

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


这次给大家带来前端微信分享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×tamp=$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);

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

相关阅读:

前端入门之css3

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

css的渐变颜色

文档

前端微信分享jssdkconfig:invalidsignature签名错误的解决方法

前端微信分享jssdkconfig:invalidsignature签名错误的解决方法:这次给大家带来前端微信分享jssdk config:invalid signature 签名错误的解决方法,前端微信分享jssdk config:invalid signature签名错误的解决方法注意事项有哪些,下面就是实战案例,一起来看一下。关于前端微信分享jssdk config:invali
推荐度:
标签: 微信 签名 weixin
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top