微信小程序引入第三方SDK

无论做什么项目,引用第三方的代码是很常见的事情,很多人对第三方的SDK都会有种莫名的信任感(至少我是这样),正是这种盲目的行为,导致了我在项目中犯了一个重大错误,影响了产品的线上使用。

我们目前做的是一个微信小程序项目,为了在项目中加入统计功能,使用了阿拉丁的统计SDK。在产品测试阶段,遇到了一个问题:小程序中调用wx.getShareInfo之后,把加密数据传到服务端进行解密,发生了解密失败的问题。并且发现了一个现象,每次新用户登录后,大概5分钟之内是正常的,之后就开始出现解密失败。分析了原因,解密失败只可能是sessionKey过期了,但是为什么会过期始终找不到原因。这个时候,我们犯了一个致命的错误,开始质疑是微信的bug,猜测可能开发版和体验版小程序有sessionKey过期的bug。并没有想到有可能是第三方SDK的问题。最终结果就是,产品上线之后依然存在这个问题。

这个时候才开始重新审视整个项目,才发现阿拉丁的SDK里也有wx.login的代码,这一步很可能导致登录态刷新,致使我们的sessionKey失效。果然,移除SDK后,一切运行正常了。

总结

微信小程序中使用第三方的代码,一定要谨慎,使用之前严格检查一下代码中是否有调用微信的API,可以全局搜索“wx.”,类似登录或者需要用户授权的API,很容易影响我们原有的功能和体验,一旦发现就需要逐个考察,查清楚会有哪些影响,最终权衡一下是否要使用第三方SDK

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载链接 注:本文转载知乎上的回答 作者:初雪 链接:https://www.zhihu.com/question...
    pengshuangta阅读 28,800评论 9 295
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,786评论 25 709
  • 开始时间:00:42 现在是2016年9月1日凌晨00:42分,再过四天是我宝贝闺女的一周岁生日,一年前的那...
    A吃货美丽妈阅读 269评论 0 0
  • 本以为城市的房子能安放我们疲惫的身心,奈何漫漫长夜陪伴的是冷冰冰房子的“剪力墙”。“剪力墙”是建筑结构中的...
    元吉利贞阅读 156评论 0 2