调用微信JSSDK一直提示无效签名,用微信提供的工具检查了签名,跟我后台生成的是一样的,也按照官方文档对url进行截取掉#,前后台的appid也是一样的,还是出现invalid signature
下面是调用的代码
$(function(){
$(".butt").bind("click",function(){
console.log((location.href.split('#')[0]))
var signUrl = encodeURIComponent(window.location.href.split('#')[0]);
$.ajax({
url: "http://hzf.free.idcfengye.com/ncgascip-app/weixinsdk/config",
method: "post",
data: {
url: signUrl
},
success: function (data) {
console.log(data);
console.log("wx.config() ---> 接收后台返回的参数");
wx.config({
debug: true,
appId: "wx7728a7e3070b5acd",
timestamp: data.data.timestamp,
nonceStr: data.data.nonceStr,
signature: data.data.signature,
jsApiList: [ 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'chooseWXPay', 'getLocalImgData' ]
});
wx.error(function (res) {
console.log(res);
});
wx.ready(function(){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
$("#photolist").html(""); //每次选择图片完成后都清空之前已经添加的html节点
let rows = ""; //声明一个空字符串用于保存循环出来的html
// var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
images.localId = images.localId.concat(res.localIds);
if (window.__wxjs_is_wkwebview) { //判断ios是不是用的 wkwebview 内核
for (var i = 0; i < images.localId.length; i++) {
wx.getLocalImgData({ //循环调用 getLocalImgData
localId: res.localIds[i],
// 图片的localID
success: function(res) {
var localData = res.localData; // localData是图片的base64数据,可以用img标签显示
localData = localData.replace('jgp', 'jpeg'); //iOS 系统里面得到的数据,类型为 image/jgp,因此需要替换一下
ioslocId.push(localData) //把base64格式的图片添加到ioslocId数组里 这样该数组里的元素都是base64格式的
rows = "";
for (var j = 0; j < ioslocId.length; j++) {
rows += `<div class = "z_file" style = "background-image: url(` + ioslocId[j] + `);height:100px;"> <div class = "delete"data - id = "` + j + `" > </div></div> `;
}
$("#photolist").html(rows);
},
fail: function(res) {
alert("res");
}
});
}
alert(rows)
} else { //如果不是用的wkwebview 内核 或者是用的安卓系统 执行下面的循环
$.each(images.localId,
function(index, el) {
rows += `<div class = "z_file" style = "background-image: url(` + el + `); height:100px;" > <div class = "delete" data-id= "` + index + `"> </div></div>`;
}
);
$("#photolist").html(rows);
}
}
});
})
}
});
});
});
请问怎么解决的呢,感谢,我也遇到同样问题了
请问这个问题解决了吗?求助
请问你这个问题解决了么?我调用地图定位也是同样的问题
这个问题你处理好了吗 我也是测试号 调用摄像头接口一直报签名错误
指你页面的域名,不是你接口的域名
signUrl 不需要提前 encodeURIComponent。
后台也配置好域名了,还是一直提示invalid signature,想问下有没有大佬遇到这问题