赞
踩
基于koa框架实现微信公众号会话窗口中回复给用户小程序卡片
1.使用微信公众号的appid及secrect获取token
- // 获取全局token
- router.get('/token', async (ctx, next) => {
- try {
- let appid = ''
- let secret = ''
- let opts = {
- url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + secret
- }
- let res = await rp(opts)
- res = JSON.parse(res)
- let token = res.access_token
- ctx.data = { token: token }
- } catch (e) {
- console.log(e)
- }
- await next()
- })
2.因为发送小程序卡片需要图片ID即thumb_media_id,所以需要使用以下接口新增临时素材获取media_id
https://api.weixin.qq.com/cgi-bin/media/upload?access_token=TOKEN&type=image
3.发送小程序卡片消息(本示例使用了个人博客小程序)
- router.get('/sendxcx', async (ctx, next) => {
- let token = ctx.request.query.token,
- params = {
- touser: '',
- msgtype: 'miniprogrampage',
- miniprogrampage: {
- title: '',
- appid: '', // 小程序appid
- pagepath: '', // 小程序页面路径
- thumb_media_id:
- '', // 填入获取的素材media_id
- },
- }
- let opts = {
- method: 'post',
- body: JSON.stringify(params),
- uri:
- 'https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=' +
- token,
- }
- let res = await rp(opts)
- ctx.data = res
- await next()
- })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。