当前位置:   article > 正文

koa框架实现微信公众号回复用户小程序卡片

公众号自动回复小程序卡片接口

基于koa框架实现微信公众号会话窗口中回复给用户小程序卡片

# 开发准备

  • 一个认证过的公众号
  • 公众号后台关联好小程序
  • 公众号后台配置IP白名单
  • 测试粉丝在48h内与公众号有交互

# 获取全局token

1.使用微信公众号的appid及secrect获取token

  1. // 获取全局token
  2. router.get('/token', async (ctx, next) => {
  3. try {
  4. let appid = ''
  5. let secret = ''
  6. let opts = {
  7. url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + secret
  8. }
  9. let res = await rp(opts)
  10. res = JSON.parse(res)
  11. let token = res.access_token
  12. ctx.data = { token: token }
  13. } catch (e) {
  14. console.log(e)
  15. }
  16. await next()
  17. })

2.因为发送小程序卡片需要图片ID即thumb_media_id,所以需要使用以下接口新增临时素材获取media_id

https://api.weixin.qq.com/cgi-bin/media/upload?access_token=TOKEN&type=image

3.发送小程序卡片消息(本示例使用了个人博客小程序)

  1. router.get('/sendxcx', async (ctx, next) => {
  2. let token = ctx.request.query.token,
  3. params = {
  4. touser: '',
  5. msgtype: 'miniprogrampage',
  6. miniprogrampage: {
  7. title: '',
  8. appid: '', // 小程序appid
  9. pagepath: '', // 小程序页面路径
  10. thumb_media_id:
  11. '', // 填入获取的素材media_id
  12. },
  13. }
  14. let opts = {
  15. method: 'post',
  16. body: JSON.stringify(params),
  17. uri:
  18. 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' +
  19. token,
  20. }
  21. let res = await rp(opts)
  22. ctx.data = res
  23. await next()
  24. })

# 演示效果

# 注意事项

  • 素材管理接口对所有认证的订阅号和服务号开放。
  • 本示例使用的是临时素材,有效时间为3天。

# 参考资料

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/341460
推荐阅读
相关标签
  

闽ICP备14008679号