<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script>
wx.config({
beta: true,
debug: true,
appId: 'wx521922227e01c0ed',
timestamp: 1583198096,
nonceStr: 'database2yss',
signature: 'cc3078c418bbb6e786140774bc6e88f306cda784',
jsApiList: ['hideOptionMenu','hideMenuItems','onMenuShareAppMessage','onMenuShareTimeline','onMenuShareWechat','shareAppMessage','shareWechatMessage']
});
wx.ready(function () {
wx.hideOptionMenu();
wx.hideMenuItems({
menuList: ['menuItem:share:appMessage',
'menuItem:share:timeline',
'menuItem:share:wechat',
],
success: function (res) {
alert("隐藏");
}
});
});
wx.error(function(xhr,status,error){
console.log(error)
alert(error)
})
</script>
在html里直接这样写的,上边参数先用corpid和secret获取token然后再获取jsapi_ticket,拼上配置里一样的timestamp和nonceStr以及链接生成signature
。在用企业微信打开这个链接
您好,非法签名可以先按照invalid signature签名错误排查顺序排查下
1) 确认签名算法正确,可用http://work.weixin.qq.com/api/jsapisign页面工具进行校验。
2) 确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。
3) 确认url是页面完整的url(请在当前页面alert(location.href.split(‘#’)[0])确认),包括’http(s)://‘部分,以及’?’后面的GET参数部分,但不包括’#’hash后面的部分。
4) 确认config中的appid与用来获取jsapi_ticket的corpid一致。
5) 确保一定缓存access_token和jsapi_ticket。
6) 确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去’#’hash部分的链接(可用location.href.split(‘#’)[0]获取,而且需要encodeURIComponent),因为页面一旦分享,企业微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。
兄弟 问题 解决了吗