收藏
回答

开卡组件问题-- App.onShow获取开卡数据data--其他流程问题

navigateToMiniProgram接口即将废弃,新版本中请使用<navigator>组件来使用此功能

<navigator
  target="miniProgram"
  app-id="wxeb490c6f9b154ef9"
  extra-data="{{data}}">
  会员卡开卡</navigator>

返回说明

在 App.onShow 里判断从会员开卡小程序返回的数据data

  1. 判断 data.referrerInfo.appId 是否为开卡小程序 appId wxeb490c6f9b154ef9,如果不是则中止判断

  2. 判断是否有 data.referrerInfo.extraData 是否有数据,如果没有,表示用户未激活直接左滑/点返回键返回,或者用户已经激活

  3. 若用户激活成功,可以从 data.referrerInfo.extraData 中获取 activate_ticket,card_id,code 参数用于下一步操作


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


之前的步骤已顺利完成:

1、API创建会员卡,其中激活方式:

"wx_activate"=>true,

"wx_activate_after_submit"=>false,

"wx_activate_after_submit_url"=>"https://*****************/",

2、API获取开卡组件链接,encrypt_card_id、outer_str、biz

3、小程序在个人中心添加

<navigator
  target="miniProgram"
  app-id="wxeb490c6f9b154ef9"
  extra-data="{{data}}">
  会员卡开卡</navigator>


正式开始,进入问题:

小程序个人中心,点击开卡链接,顺利进入领卡页面,确认手机号码,点击提交!结果,页面直接返回小程序个人中心,onshow里无法获取data,console出undefined!此时会员卡已领取到微信卡包,未激活状态!



问题1:

创建会员卡的激活方式正确与否?

"wx_activate"=>true,

"wx_activate_after_submit"=>false,

"wx_activate_after_submit_url"=>"https://*****************/",

//"auto_activate""activate_url"均未填


问题2:

个人中心点击领卡,跳转到官方领卡页面,验证手机号之后提交,直接返回了小程序个人中心

a、这一流程正常吗?我预计的是领卡后返回data,根据activate_ticket,card_id,code,后台API激活会员卡,并且记录会员领取的信息。

b、还有,如何接收开卡数据data?

个人中心的index.js代码如下:

onShow: function (data) {

    var that = this;

    // 判断开卡后返回的参数,并且后台激活会员卡

    if (data){

        console.log(data);

        if (data.hasOwnProperty('referrerInfo')) {

            if (data.referrerInfo.appId != 'wxeb490c6f9b154ef9') {

                return;

            }

            if (!data.referrerInfo.extraData) {

                return;

            }

            wx.request({

                url: app.globalData.url + '/routine/auth_api/do_active'

                method: 'POST',

                data: { data: data.referrerInfo.extraData },

                success: function (res) {

                console.log(res);

                }

            });

        }

    }

},




回答关注问题邀请回答
收藏

2 个回答

  • 苏
    2019-12-25

    请问下,用户激活成功data.referrerInfo.extraData,这个extraData里有数据吗?我怎么返回的是undefined啊

    2019-12-25
    有用
    回复 2
    • 劉先森。
      劉先森。
      2019-12-25
      正常情况下是要有数据的,你得再研究研究
      2019-12-25
      回复
    • 苏
      2019-12-25回复劉先森。
      这个能不能获取到数据跟会员卡开卡组件是跳转型还是非跳转型是否有关系呢,我想确定下这个
      2019-12-25
      回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-04-15

    你好,支付、卡券相关的问题请移步至微信支付专区提问,我们会有对应同学来处理,此贴先隐藏,请重新发帖咨询。

    2019-04-15
    有用
    回复
登录 后发表内容