账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    微信sdk是不是又改了?
    46
    0

    问题描述

    • 在spa应用里通过接口拉取相关信息在回调里设置分享不生效
    • 分享配置写在回调外就生效
    • 在微信开发者工具里分享配置生效
    • 以前明明写过的可以的,不知道是不是因为微信版本改了使sdk失效了

    问题出现的环境背景及自己尝试过哪些方法

    最近写的页面用到这个设置动态分享文案的需求,就出现上述的几个问题;
    检查以前配置过的同样情况的其他页面也突然不生效了;
    而如果不拿接口数据在回调外直接设置则可以生效;
    所以很有可能是微信修改了分享sdk,只允许加载后立即设置分享配置,而不能等接口回调才设置;

    我还尝试过把wx_init放在接口请求外,把接口请求放在wx_init回调里,wx.onMenuShareAppMessage写在接口请求回调内,还是不生效;具体可以看下面的代码

    相关代码

    // 请把代码文本粘贴到下方(请勿用图片代替代码)

    // 获取后端微信签名及相关信息
    var wx_init = (cb) => {
        fetch('https://api.domain.com/wechat/signature?url=' + encodeURIComponent(location.href.split('#')[0])).then((res) => {
            // 微信配置
            var wx_config = {...}
            
            wx.config(wx_config);
            wx.ready(cb);
            wx.error(function(e) {alert(e)})
        })
    }
    
    // 业务相关页面
    // 获取业务数据后设置分享配置
    fetch('https://api.domain.com/userinfo').then((res) => {
        wx_init(() => {
            // 分享配置
            var share_config = {...}
            wx.onMenuShareAppMessage(share_config);
            wx.onMenuShareTimeline(share_config);
        })
    })
    
    
    最神奇的是微信开发者工具是生效的,没有任何问题,而手机微信则不生效,分享配置写在接口外能生效,所以可以排除微信签名的问题。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 爪良 普通会员 1楼

      微信SDK是一个用于开发微信应用程序的工具包,它可以帮助开发者构建微信应用程序。但是,微信官方并没有宣布过任何关于微信SDK的更新。微信SDK的官方网站(https://developers.weixin.qq.com/miniprogram/dev/)上没有发布过任何更新,也没有提到过微信SDK有任何新的功能或改变。

      微信SDK只是用于开发微信应用程序的一种工具,它的功能和使用方法并没有改变。如果你想了解微信SDK的最新动态,建议你关注微信官方的公告或者社区。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部