微信自定义分享问题

在ios微信6.5.7的版本中,使用webpack+vue构建的单页面应用,在首页获取微信接口权限,调用

wx.config({
    debug: false, //PaWxShareObj._isDebug() 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: json.appid, // 必填,公众号的唯一标识
        timestamp: json.timestamp,// 必填,生成签名的时间戳
        nonceStr: json.nonce, // 必填,生成签名的随机串
        signature: json.signature,// 必填,签名,见附录1
        jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage", "onMenuShareQQ", "onMenuShareWeibo","onMenuShareQZone",
            "chooseImage", "getNetworkType", "hideOptionMenu", "showOptionMenu", "hideMenuItems",
            "showMenuItems", "hideAllNonBaseMenuItem", "showAllNonBaseMenuItem", "closeWindow"
        ]// 必填,需要使用的JS接口列表,所有JS接口列表见附录2
    });

在config配置成功之后通过路由跳转到下一个页面,通过按钮点击事件调用微信的

 window.wx && wx.hideMenuItems({
        menuList: shareList
    });
   

隐藏一些不需要的按钮,这个时候就报the permission value is offline verifying错误。

根据微信的说法the permission value is offline verifying这个错误是因为config没有正确执行,或者是调用的JSAPI没有传入config的jsApiList参数中。建议按如下顺序检查:

 1.确认config正确通过。
 2.如果是在页面加载好时就调用了JSAPI,则必须写在wx.ready的回调中。
 3.确认config的jsApiList参数包含了这个JSAPI。

检查config是正确通过,我们调用的时候也是在wx.ready成功之后调用的,config的jsApiList也包含这个JSAPI,然而就是一直提示这个,连自定义分享都不能用,有大神知道这是怎么回事么?

阅读 24.4k
15 个回答

微信6.5.8好像修复了这个问题

其实你可以打开实际的url看看,你传进config的url和你当前网页的url是不一样的,所以当你你刷新之后,url变为相同,它就会通过验证(只有ios有这个问题)

每次url切换都要重新初始化一下sdk,确保后台配置的js安全域名跟你请求时带上的域名是相同的

新手上路,请多包涵

我也遇到了相同的问题,微信版本6.5.7,手机是iphone 7 版本10.2.1
我在wx.ready里面做了页面跳转,发现跳转之后微信config的配置没有生效,
但是刷新一次又正常了。。 (PS. 暂时只在这台手机上发现这个问题,其他机型测试下来没发现
)
然后发现在wifi情况下,一直出现这个问题,切换到4G就好了。怀疑是跳转太快导致的,暂时没找到很好的办法,你说的强制刷新算是一种解决方案,但是感觉用户体验不是很好,期待更好的解决方案

一样的问题,不知道有没有得到答案了。之前的版本没有问题,一升级到6.5.7就出问题,不知道腾讯更新了什么,也不发个通告什么的。API也没有更新

我也在IOS遇到类似问题,wx.chooseImage() 刚进页面的时候返回失败,刷新一次就可以了,wx.config传参没问题。不知道LZ解决没?

新手上路,请多包涵

我刚用开发完一个微信公众号,也遇到这样的问题,百度了下原因:http://www.kejik.com/article/...
解决办法是页面跳转用location.href,然后在新页面初始化wx.config

我也遇到类似问题:
vue router+wxJSSDK 授权登录,切换路由后调用wx.chooseImage报错:the permission value is offline verifying
经测试,换到4G网络没问题,wifi下始终报错,去掉授权登录,4G和wifi下都没问题
都通过了config: ok,wifi下授权登录切换路由后调用wx.chooseImage就报错
微信版本6.5.9, iOS10.1.1

楼主,请问这个json是请求本地接口来的吗?
appId: json.appid, // 必填,公众号的唯一标识
timestamp: json.timestamp,// 必填,生成签名的时间戳
nonceStr: json.nonce, // 必填,生成签名的随机串
signature: json.signature,// 必填,签名,见附录1

新手上路,请多包涵

这个问题解决了吗?我现在也碰到了,刚进主页可以分享,react router跳转一下就很大几率不能分享了。

ios 10还是有问题。 目前小程序里面的h5会有问题。
采取办法 针对ios 10 在小程序 隐藏按钮出错的情况,刷新一次页面。并且在sessionStorage缓存一个标记。
-------------更新-----------------
后续,页面meta控制不要缓存,并且进入页面的时候提前把hash写好。目前99%在首页不会出现。但是跳转路由还是会有问题。

ios是timestamp是数字也会导致这个问题,这个要传字符串才行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏