• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sdjl
V2EX  ›  程序员

刚刚 微信 JS SDK 分享给朋友、分享到朋友圈 的 API 失效了,各位前端有遇到吗?

  •  
  •   sdjl · Apr 19, 2019 · 4410 views
    This topic created in 2759 days ago, the information mentioned may be changed or developed.
    微信 JS SDK 的 wx.onMenuShareAppMessage 接口(设置分享给朋友或分享到朋友圈),一直都可以正常使用的,今天下午发现好像失灵了。

    检查过程序,确定不是自己代码的 bug,确定在微信 APP 内运行了这个 api 但没有效果,请问你们有遇到过此问题吗?

    事件时间:2019 年 4 月 19 日下午
    11 replies  •  2019-04-20 00:56:09 +08:00
    4DAX07B8Kle4Dm6T
    4DAX07B8Kle4Dm6T
    Apr 19, 2019 via iPhone
    1
    看官方文档,这个接口已经废弃了,前天我也发现了
    sdjl
    sdjl
    OP
    Apr 19, 2019
    2
    @wispx 废弃这个说法已经半年以上了,我也考虑了使用新的接口,新接口 wx.updateAppMessageShareData 也没有用。
    green0511
    green0511
    Apr 19, 2019
    3
    看下是否绑定的微信公众号的认证过期了
    sdjl
    sdjl
    OP
    Apr 19, 2019
    4
    @green0511 认证没有过期。

    业务域名、JS 接口安全域名 也是正确的,分享的域名已经添加到 JS 接口安全域名。
    4DAX07B8Kle4Dm6T
    4DAX07B8Kle4Dm6T
    Apr 19, 2019
    5
    @sdjl 我换了之后可以了,开 debug 看看是什么错误
    sdjl
    sdjl
    OP
    Apr 19, 2019
    6
    @wispx 我试过,debug 信息一切正常,都是显示 XXXmessage:ok
    sdjl
    sdjl
    OP
    Apr 19, 2019
    7
    已经查出来了,是我自己的 bug,谢谢大家,正跪在地上改 bug。。。
    liKeYunKeji
    liKeYunKeji
    Apr 19, 2019
    8
    原因比较多,常见的就是签名不对!我照着文档写的,步骤没问题,后来生成签名的 url 带了一些符号,导致签名不对。
    sdjl
    sdjl
    OP
    Apr 19, 2019
    9
    我的 bug 找到原因了,分享给大家

    如果有以下代码:

    data.link = 'old url'
    wx.onMenuShareAppMessage(data)
    data.link = 'new url'

    那么 wx.onMenuShareAppMessage 实际上使用的是 new url,而不是 old url。

    这是 JS 异步机制的坑,我也不是第一次踩了~
    sdjl
    sdjl
    OP
    Apr 19, 2019
    10
    @微信客户端程序员 wx.onMenuShareAppMessage 函数可否加一句 data = deepcopy(data),以免更多的人采坑?
    mopig
    mopig
    Apr 20, 2019 via iPad
    11
    @sdjl 自己 copy 不就行了,浅拷贝就行
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   725 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:44 · PVG 03:44 · LAX 11:44 · JFK 14:44
    ♥ Do have faith in what you're doing.