微信小程序会员卡开发跳坑

看了一下文档,大概是这样一个函数,可以让用户领取会员卡

wx.navigateToMiniProgram({
  appId: 'wxeb490c6f9b154ef9', //固定为此 appid,不可改动
  extraData: data, // 包括 encrypt_card_id, outer_str, biz三个字段,须从 step3 中获得的链接中获取参数
  success: function() {
  },
  fail: function() {
  },
  complete: function() {
  }
})

这里的 extraData: data, // 包括 encrypt_card_id, outer_str, biz三个字段,须从 step3 中获得的链,是关键。

extraData,值文档说的第三步,在文档里面很难找到第三步获取开卡组件参数内容。也找不多哪个接口有返回这三个参数 encrypt_card_id, outer_str, biz。

文档上面有个开卡组件文档,我们打开
https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1479824356&version=1&lang=zh_CN&platform=2&token=

既然开卡组件文档没有,那我们去公众号文档,会员卡相关文档看下。

找到卡券-小程序打通

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1499332673_Unm7V

在这里插入图片描述

红色箭头返回的URL,就带了我们需要的encrypt_card_id, outer_str, biz 三个参数, 只是文档没有说明,这个是url里面带的值,而不是返回的参数,所以给查找带来了麻烦。
在这里插入图片描述

(这里之前记得先调用公众号access_token接口,然后去公众号后台拿到卡片ID)

真的拿到了,我们需要的三参数, 然后通过url解析,得到参数。

wx.navigateToMiniProgram({
  appId: 'wxeb490c6f9b154ef9', //固定为此 appid,不可改动
  extraData: data, // 包括 encrypt_card_id, outer_str, biz三个字段,须从 step3 中获得的链接中获取参数
  success: function() {
  },
  fail: function() {
  },
  complete: function() {
  }
})

小程序里做个按钮,领取会员卡。点击事件执行上面代码

提示此小程序未绑定公众账号

此时我们登陆公众账号,绑定这个小程序。

绑定后,继续提示错误
在这里插入图片描述

看英文的意思是说小程序wxeb490c6f9b154ef9未绑定此公众号。 这里wxeb490c6f9b154ef9 并不是我们自己的一个小程序appid ,而是文档规定必须填写的wxeb490c6f9b154ef9,这个是官方的一个小程序appid, 原理是我们执行调整小程序,跳转到官方小程序领取会员卡。

比较麻烦的是,绑定官方开卡这个小程序,需要官方同意才可以,这里添加了绑定,官方2天没同意,已经失效。

到此,就实现了微信小程序,跳转到卡卷小程序,领取会员卡的开发过程。


注意:
我这里是后台请求的https://api.weixin.qq.com/card/membercard/activate/geturl?access_token= ACCESS_TOKEN,然后将返回值原封不动的传给前端,如果是前端请求就得拿到card_id;

然后截取返回的“url”拿到:
encrypt_card_id,outer_str,biz;
其中encrypt_card_id,biz需要url编码(最好全部编码)
微信小程序使用decodeURIComponent()

然后三个参数组成对象赋值给dataurl后点击即可跳转会员卡;
注意是对象赋值,extra-data只接受对象,不用JSON.stringify()
传其他数据类型会是null

还有,需要再app.json中配置 navigateToMiniProgramAppIdList

真机测试

开卡成功后在 app.js 里用 onShow(data) 接收参数,访问激活链接


  • navigateToMiniProgram接口即将废弃,新版本中请使用navigator组件来使用此功能
  • 不管是navigator组件 还是 navigateToMiniProgram接口都需要在app.json中配置,才能跳转到开卡小程序
  • "navigateToMiniProgramAppIdList": [ "wxeb490c6f9b154ef9" ],
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值