微信小程序添加卡券到微信卡包,使用wx.addCard()方法传参及整体流程

责编:menVScode 2020-03-13 13:13 阅读(790)

一、准备

1. 经微信认证过的微信公众号;

2. 经微信认证过的微信小程序号;

微信认证说明:https://kf.qq.com/faq/120911VrYVrA151013zu63u6.html


微信小程序官方的文档

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/card/wx.addCard.html


微信介入卡券的流程

https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1490190158&version=1&lang=zh_CN&platform=2


二、码代码

(小程序端)

点击事件调用wx.addCard()方法,其中需要重点了解的是cardExt里面的参数

wx.addCard({
      cardList: [
        {
          cardId: card_id,
          cardExt: JSON.stringify(cardExt)
        }
      ],
      success: (res) => {
        console.log(res)
        this.addCardSuccess(res.cardList[0].code)
      },
      fail: (err) => {
        console.log(err)
      }
    })

下面是官方文档的介绍

1037

有个fixed_begintimestamp时间戳需要注意,这个字段是用户实际领取的优惠券时间,所以必须是用户领取完毕之后才可以添加到微信卡券。

这写参数都是由后台传过来的,放在了this.data.wxCardData里面

addToWeixinCard () {
    // this.data.wxCardData为从后台获取的一些参数,包括下面这些参数
    let { card_id, code, timestamp, openid, nonce_str, signature, fixed_begintimestamp } = this.data.wxCardData
    let cardExt = {
      code,
      openid,
      timestamp,
      nonce_str,
      fixed_begintimestamp,
      signature,
      outer_str: 'miniProgram'
    }
    console.log(card_id)
    wx.addCard({
      cardList: [
        {
          cardId: card_id,
          cardExt: JSON.stringify(cardExt)
        }
      ],
      success: (res) => {
        console.log(res)
        this.addCardSuccess(res.cardList[0].code)
      },
      fail: (err) => {
        console.log(err)
      }
    })
  }


最后调用该方法就可以了,如果调用成功则会跳转到下面的页面

1038

到这里就完成了添加到微信卡券的所有步骤了。

标签: 小程序 卡包
前端交流群: MVC前端网(menvscode.com)-qq交流群:551903636

邮箱快速注册

忘记密码