关闭

那些年用node接入微信走过的坑之(五)---微信菜单(自动回复素材)

264人阅读 评论(0) 收藏 举报
分类:

序言

之前在第二篇上,写了如何生成菜单,发现写的不够完善,在这一篇补上自动回复消息和自动回复图文

第一步:创建菜单

这里要注意一点是菜单的type为’click’,而不是’view’,view只能进行页面跳转。

 {
     "type": "click",
     "name": "Q&A",
     "key":"Q&A"
 }

第二步:获取素材

当我们用代码来生成菜单时,不能像普通用户那样直接选择素材,而且添加素材后也无法得到mediaId,好蛋疼,那就需要获取素材,参看素材管理接口:


// 素材获取
// type : (image,video,voice,news(图文));  offset:位移; count
function getMaterials(req,res){
    var type = req.params.type||'news';
    var offset = parseInt(req.params.offset)||0;
    var count = parseInt(req.params.count)||100;
    wxOpenApi.getMaterials(type,offset,count, function(error, data, result) {
        if (!error) {
            res.success(data);
        } else {
            res.error(error);
        }
    });
}

没办法,找到你要发送的图文的mediaId。

第三步:响应点击事件

当微信配置好后,微信会以post的方式响应你在微信公众号开发者配置里设置的地址,我的响应请求如下,然后发送客服消息(接口参看微信开发文档里的发送客服消息),具体配置看第二篇。

var getWxRequest = wechat(config, function(req, res, next) {
    var message = req.weixin;
    if (message.MsgType === 'event') {
        //关注事件,需要将用户openId保存到用户
        if (message.Event === 'subscribe') {
            _wxSubscribeEvent(message, res);
        }
        //用户点击自定义菜单是,响应的是click事件
        if (message.Event === 'CLICK') {
            _wxMenuEvent(message,res);
        }
    }
})

//自定义菜单点击事件
function _wxMenuEvent(message, res) {
    //我的课表点击事件
    if (message.EventKey == "Q&A") {
        var openId = message.FromUserName;
        var media_id = "avwZzDghpQI5QB06G3djBdL-p0DXcYjaLQzCO7YcmNg";
        sendMpNews(openId,media_id,res);
    }
}

//发送客服消息
function sendMpNews(openId,mediaId,res){
    wxOpenApi.sendMpNews(openId,  mediaId, function(error, data, result) {
        if (!error) {
            res.send("success");
        } else {
            res.send(error);
        }
    });
}

结语:
基本配置算是搞的差不多了,没有很高深,只是记录下来。
ITDogFire—sky

0
1
查看评论

微信自动回复功能实现

思路 实现AccessibilityService,重写onAccessibilityEvent(final AccessibilityEvent event),判断event对象是TYPE_NOTIFICATION_STATE_CHANGED(通知栏事件)还是TYPE_WINDOW_STATE_...
  • m00123456789
  • m00123456789
  • 2017-09-07 15:17
  • 643

那些年用node接入微信走过的坑之(三)---微信事件监听

简介上一篇将了如何利用wechat-api设置自定义菜单,这一篇说下事件监听的问题。什么是微信事件在开发文档中,消息管理–》接收消息-接收事件推送,事件消息分为如下几种: 1 关注/取消关注事件 2 扫描带参数二维码事件 3 上报地理位置事件 4 自定义菜单事件 5 点击菜单拉取消息时的事...
  • hantian616
  • hantian616
  • 2016-07-11 17:26
  • 430

那些年用node接入微信走过的坑之(二)---微信自定义菜单

简介上一篇讲到如何成为开发者,这一篇继续,那么设计到自定义菜单和对微信事件的监听,例如说监听用户发来的消息,给用户发推送等等,监听用户的关注和取消关注的事件。
  • hantian616
  • hantian616
  • 2016-07-11 16:53
  • 1621

那些年用node接入微信走过的坑之(四)---微信扫码登录第三方网站

序言随着微信使用者不断增多,很多网站使用了微信扫码登录功能,这里做一个简单的实现。第三方网页授权和微信网页端授权这两个笔者当初区分了好久,有什么区别和联系呢?相同点: 两者的过程基本是类似的,都是通过appId和secret和code首先获取access_token(注意这里的access_tok...
  • hantian616
  • hantian616
  • 2016-07-20 18:33
  • 2132

《PHP微信API的接入和关键字自动回复》

PHP微信API的接入和关键字自动回复 在正式写之前,先写一些微信数据交互流程: 微信应用(即微信app)为微信用户和微信公众号提供了一个信息交互的平台 微信数据交互流程 第一个交互场景     首先是微信用户在微信界面的输入框中输入信息,这个步骤是微信用户向...
  • self_realian
  • self_realian
  • 2017-04-27 12:20
  • 1662

JAVA实现微信自定义菜单创建以及消息回复等

自我总结 初次尝试微信公众号开发,遇到各种问题。废话不多说,上码: 1、创建自定义菜单         根据微信接口文档,内容如下图:对应链接 要创建自定义菜单要获取ACCESS_TOKEN,根据微信接口文档获取ACCESS...
  • qq_17191653
  • qq_17191653
  • 2016-08-19 16:36
  • 1333

nodejs微信开发--自动回复 wechat

安装express npm install -g express express -e node_wechat cd node_wechat npm install express vi app.js app.js 如下 在微信公众平台开发者中心配置好以后,上一步已经知道了验证url接...
  • sinat_29843547
  • sinat_29843547
  • 2015-10-17 18:27
  • 2102

微信公众号开发之——第三方自动回复机器人接入

开发微信订阅号,服务号的朋友都知道,在微信公众号开发中有一个自动回复的消息功能,一般来说,自动回复的 内容需要我们自定义,而且每次返回的内容基本没什么特别的变化,这里通过接口实现智能回复消息。
  • Seeing_is_believing
  • Seeing_is_believing
  • 2017-06-12 13:48
  • 2587

微信开发消息自动回复和自定义菜单简述。

首先访问微信公众平台:mp.weixin.qq.com 。我们所使用的是订阅号所以能开发的功能仅限于自动回复,自定义菜单,群发功能等等。   先去开发里面的基本配置点击开启,启用第三方。然后去开发者工具申请一个微信公众平台接口测试账号。这个账号有着所有接口的使用权。   &#...
  • lixianseng
  • lixianseng
  • 2016-09-28 12:04
  • 1891

亲历H5移动端游戏微信支付接入及那些坑(四)——参考文档

写完三篇后,我觉得微信支付的文档确实比较乱,所以在此做一个整理汇总 支付流程相关文档 一下文档已经按照接入顺序排列,请依次参考阅读 微信公众号网页授权两种access_token区别,获取用户openid方式 微信支付前端JSSDK接入 微信内公众号支付(JSAPI方式)统一下单 微...
  • duotemplar
  • duotemplar
  • 2017-08-09 13:07
  • 434
    个人资料
    • 访问:46417次
    • 积分:839
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:20篇
    • 译文:1篇
    • 评论:10条
    文章分类
    最新评论