小程序获取微信公众号的卡券

开发前需准备

1:申请微信公众号 和 微信小程序,这是两个不同的东西,都需要单独申请、不同的帐号;

2:微信公众号需要开通微信卡券的功能;

3:在微信公众号里面去绑定小程序;

注:只针对不懂后端的前端人员

1.首先要在后台通过微信公众号的 appId 和 secret 

param = "?grant_type="client_credential "&appid=" + appId + "&secret=" + secret

https://api.weixin.qq.com/cgi-bin/token" + param

获取到AccessToken

2.前端小程序通过wx.login获取到 code 发送给到后台,后台用小程序的 appId ,secret 和code  拿到openId

https://api.weixin.qq.com/sns/jscode2session?appid= APPID &secret= APP SECRET &grant_type=authorization_code&js_code= CODE

将登录凭证转换获取openid

3.前端通过

https://???/???/weixin/api/getCardSign?cardId=' + cardId;(cardId为固定,在制作卡券的时候会有)

拿到timestamp 时间戳,signature签名值,nonce_str随机字符串(后台人员根据AccessToken通过https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" + token.getAccess_token() + "&type=wx_card,然后做签名,再返回给前端)

小程序中通过 wx.addCard 方法 领取卡券

具体微信小程序代码:

var that = this; 

var service_url = 'https://???/???/weixin/api/getCardSign?cardId=' + cardId;//需要将服务器域名添加到小程序的request合法域名中,而且必须是https开头 (拿到timestamp 时间戳,signature签名值,nonce_str随机字符串)

wx.request({ 

  url: service_url, 

  data: {}, 

  method: 'GET', 

  success: function (res) { 

    console.log(res); 

      wx.addCard({ 

        cardList: [{ 

          cardId: that.data.cardId, 

          cardExt: '{"code":"","openid":"","timestamp":' + res.data.timestamp + ',"nonce_str":"' + res.data.nonceStr + '","signature":"' + res.data.signature + '"}' 

        }],//这里需要注意的是cardExt参数的value值是 String类型,不要使用对象发送;另外openid如果在创建优惠券的时候没有指定,则这边为空,千万不要填写当前用户的openid 

        success: function (result) { 

          console.log(res); 


          wx.showToast({ 

            title: '领取成功', 

            icon: 'success', 

            duration: 2000 

          }); 

        }, 

        fail: function (res) { 

          console.log('领取失败'); 

          console.log(res); 

        } 

      }) 


  } 

}); 


更多关于后台的java代码:https://blog.csdn.net/zhourenfei17/article/details/77714600

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、开启公众号开发者模式 公众平台的技术文档目的为了简明扼要的交代接口的使用,语句难免苦涩难懂,甚至对于不同的读者...
    good7758阅读 1,573评论 0 1
  • 北京2018年4月1日上午,NBA常规赛勇士客战国王的比赛中,发生了令人痛心不已的一幕。比赛进行到第三节还有41...
    Curry_宇阅读 1,278评论 1 1
  • 微信服务号开发 整体流程 域名报备,服务器搭建 Python开发环境和项目的初始化搭建; 微信公众号注册及开发模式...
    飞行员suke阅读 4,616评论 0 14
  • 住了一天一晚悄悄好一点老妈的心脏,这样我心里好受了点,也松了口气,老妈好好接受治疗,很快你就会恢复健康的!我坚信!...
    白开水叶子阅读 175评论 0 0
  • 爱派时尚阅读 524评论 0 1