关于ios配置微信config出现验签失败的问题解决

在开发中,出现了一个关于微信配置的问题。

使用的开发工具以及开发框架为 uniapp , JSSDK为  jweixin

使用uniapp进行公众号开发,需要在进入某个页面时候进行微信配置来达到更改分享信息的效果。

 

问题描述:

  请求后台获取了微信配置参数并配置了微信参数后

  在ios手机上显示验签失败,功能无法使用。

  在微信开发者工具、安卓端验签成功,功能正常。

  经测试,ios端刷新页面后,验签即正常,所以,配置参数没有问题。

 

 

解决方案:

1.(不推荐)

  通过jweixin.error监听失败事件,如果有失败,则刷新页面。

  虽然一般刷新一次就可以配置成功,但仍需要需要控制刷新次数 ,避免不断刷新 ,我是通过加url参数的形式 ,如果location.search中不存在retry,则进行刷新。

 

错误监听示例代码:

if( err ){
        let search = location.search;
        if(  search ){
            if(  !search.includes('&retry')  && !search.includes('?retry')  ){
                location.href += '&retry=1'
            }
        }else{
            location.href +='?retry=1'
        }
    }

 

2.(推荐)

  通过测试发现,发生该错误的原因为,通过uniapp的api uni.navigateTo  跳转到页面时,ios获取到的location.href是错误的地址(虽然打印出来没错),

  所以导致验签失败。而方法一执行刷新后之所以可以,因为是使用location来进行跳转。

  解决方案: 将跳转进入页面的跳转代码 由 uni.navigateTo 改成  location.href = 页面名。

 

posted @ 2021-04-20 10:25  qz_Imtoo  阅读(137)  评论(0编辑  收藏  举报