收藏
回答

用获取二维码B类接口生成的二维码跳转问题

问题模块
API和组件

公司名称

麦云科技

MP帐号(邮箱)

weixinxcx@bizjia.com

开发者微信号

qianqing2118351

机型(如iPhone 6s plus)

ios系统都能重现

操作系统(如iOS 9.3)

ios系统都能重现

是否必现

出现时间

2017-06-27

操作路径(即如何操作可以复现该问题)

打开小程序,进入某个页面,然后关闭小程序!在朋友圈或者群聊天里,长按二维码,识别小程序二维码

问题描述(具体问题介绍)

1、假设小程序首页为A,并在A页面的onLoad中检查options.scene,用于识别二维码的参数

2、打开小程序,进入A页面,从A页面跳转到B页面,然后让小程序进入后台

3、识别小程序二维码,假设这个二维码是跳转到C页面(我们自己定义的参数),这是唤醒小程序后,小程序依旧停留在B页面,并未跳转


我的想法是:

因为B类二维码接口统一跳转到首页(也就是A页面),然后在首页onLoad对options.scene做处理,进行逻辑处理!

但是当小程序在其他页面(也就是B页面)进去后台后,识别二维码直接唤醒的是B页面,而非首页,无法触发首页的onLoad



遇到这种问题该怎么处理,因为我们的二维码需求量大,所以只能用B类接口!!!

问题截图(客户端问题界面截图)


代码片段截图






最后一次编辑于  2017-06-28
回答关注问题邀请回答
收藏

5 个回答

  • jeremy
    jeremy
    2017-06-29

    麻烦提供一下小程序码

    2017-06-29
    赞同
    回复
  • 假日企鹅
    假日企鹅
    2017-08-26

    为什么你们获取scene是从options.scene中获取,而我是要把options.query序列化之后截取字符串之后才能获取


    {"scene": 1047, "path": "pages/index/index", "query": "{scene=ryAooo1}"


    奇怪

    2017-08-26
    赞同
    回复
  • 懒猫猫
    懒猫猫
    2017-06-29

    这个是首页的onload函数,但是小程序进入后台的时候,并不是在首页哦

    onLoad: function (options) {

        appInstance.getUserInfo(userInfo => {

          // options.scene = '1%2C1007512%2C100%2C1018816%2C1018815'

          // options.scene = '1%2C1008005%2C7%2C1021901%2C1018815'

          if (options.scene) {

            let scene = options.scene.split('%2C')

            if (scene.length) {

              if (scene[0] === '1' && scene.length === 5) {

                let path = '/pages/message-detail/message-detail?bizSysNo=' + scene[1] + '&bizType=' + scene[2] + '&serverCompanySysNo=' + scene[4] + '&mangerSysNo=' + scene[3] + '&from=iOS'


                wx.reLaunch({

                  url: path

                })

              }

            }

          } else {

            this.login(userInfo);

          }

        });

      }


    2017-06-29
    赞同
    回复
  • 逍遥宇内
    逍遥宇内
    2017-06-29

    同样关注

    2017-06-29
    赞同
    回复
  • 问源-杨
    问源-杨
    2017-06-28

    我也遇到了这种问题,急需腾讯官方答复

    2017-06-28
    赞同
    回复