收藏
回答

开发工具好用,预览到手机就不可以用了,还报错!

问题模块 问题类型 插件 AppID 插件版本号 AppID 微信版本 基础库版本
插件 Bug wxa42934c1ae45d71d 0.0.1 wxa42934c1ae45d71d 最新的 2.6.0

在开发工具上可以使用,



点击预览,到手机上,就是这样了


把报错放大看看


最后一次编辑于  03-08  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 张熠.ଳ 。
    张熠.ଳ 。
    03-08

    尚未审核发布,仍然在本地联调阶段!

    03-08
    赞同 1
    回复
  • 娇华
    娇华
    03-08

    你好,500错误是由于内部服务器错误造成的,还请自查

    03-08
    赞同
    回复 3
    • 张熠.ଳ 。
      张熠.ଳ 。
      03-11

      这个错误是透传回来的,是后端调用了https://api.weixin.qq.com/sns/jscode2session 这个返回的结果,不是我们服务器的问题~请你们检查下

      03-11
      1
      回复
    • 张熠.ଳ 。
      张熠.ଳ 。
      03-11回复张熠.ଳ 。

      我们做了进一步的测试,依然调用的是 https://api.weixin.qq.com/sns/jscode2session 的接口: 1、我们在wx.login之后改变了res.code中的某一位,使之成为一个非法的code,在调用接口之后,无论多少次,接口返回的errmsg 都是 invalid code; 2、我们点开预览之后在手机上调用的wx.login,并且使用res.code,在调用接口后,第一次提示 invalid code,第二次提示code been used;


      在开发者工具中调用的wx.login返回的res.code,调用接口是可用的。

      03-11
      1
      回复
    • 张熠.ଳ 。
      张熠.ଳ 。
      03-11

      我尝试了许多种方法:

      1. 在miniprogram中的index页面onLaunch的时候调用wx.login,将openid传给plugin;

      2. 在miniprogram的跳转页面内(使用组件的页面)调用wx.login,再将openid传给plugin;

      3. 将miniprogram中的wx对象传给plugin,在组件内部使用传入的wx调用wx.login获取openid;



      都是失败的,抓包 https://api.weixin.qq.com/sns/jscode2session 返回的是40029的错误码,errmsg是invalid code,再次使用该code就是 used 的报错。

      唯一成功了一次,在开发者工具的调试窗口,调用了wx.login(),将返回的code写死传递给组件,通过手机预览打开后可以成功调用 https://api.weixin.qq.com/sns/jscode2session ,再进入为code been used,这样是符合预期的。

      03-11
      1
      回复
  • ShinBlueCat
    ShinBlueCat
    03-11

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    03-11
    赞同
    回复 1
    • 张熠.ଳ 。
      张熠.ଳ 。
      03-11

      我开发的是插件,而且这个问题也出现很久了,我简单描述下:

      • 小程序插件受到功能限制,无法调用wx.login等方法,于是我在开发时,在开发插件隔壁的miniprogram目录中的小程序里面,把wx对象传递给了小程序插件,从而使用wx.login等方法;

      • 使用wx.login()是没有问题的,但是拿到了res.code之后传递给后端,使用 https://api.weixin.qq.com/sns/jscode2session 接口换sessionid就报错了,40029,invalid code;考虑到,是不是这种hack的形式在小程序插件里面行不通,我就继续做了尝试,1、在小程序(miniprogram)装载的时候调用login,传递res.code;2、在调用插件的页面装载时调用wx.login,传递res.code;

        ---- 以上均为打开小程序开发者工具中的预览后,手机操作失败!开发者工具都没出问题;

      • 最后采取了把我们登录接口外移到小程序的miniprogram中,在app.js装载的时候调用,还是失败了,一样的报错。

      03-11
      1
      回复