微信公众号自动回复 node
纯属分享记录:
app.js
var bodyParser = require('body-parser');
require('body-parser-xml')(bodyParser);
var wx = require('./admin/wx/wx.js');
//解析xml
app.use(bodyParser.xml({
limit: '1MB',
xmlParseOptions: {
normalize: true,
normalizeTags: true,
explicitArray: false
}
}));
//微信
app.post('/wx',function(req,res){
wx.replyWx(req,res);
});
wx.js
//微信自动回复
function wx(){
this.replyWx = function(req,res){
res.writeHead(, {'Content-Type': 'application/xml'});
var data = req.body.xml;
if(data.msgtype === 'event' && data.event === 'subscribe'){
data.content = '欢迎关注浅唱姩華,这里是开发者试用帐号!';
msgText(res,data);
}else if(data.msgtype === 'event' && data.event === 'unsubscribe'){
//取消关注了
}else if(data.msgtype === 'text'){//文本消息
msgText(res,data);
}else if(data.msgtype === 'image'){//图片消息
data.content = '你好暂不支持图片回复';
msgText(res,data);
}else if(data.msgtype === 'video'){//视频消息
data.content = '你好暂不支持视频回复';
msssage(res,data);
}else if(data.msgtype === 'voice'){//语言消息
data.content = '你好暂不支语音回复';
msssage(res,data);
}
}
} function msgText(res,data){
//fromusername 接受者openid
//tousername 发送者openid
var resMsg = '<xml>' +
'<ToUserName><![CDATA[' + data.fromusername + ']]></ToUserName>' +
'<FromUserName><![CDATA[' + data.tousername + ']]></FromUserName>' +
'<CreateTime>' + parseInt(new Date().valueOf() / ) + '</CreateTime>' +
'<MsgType><![CDATA[text]]></MsgType>' +
'<Content><![CDATA['+data.content+']]></Content>' +
'</xml>';
res.end(resMsg);
} module.exports = new wx();
访问路径就是你token验证通过的路径,这里是自动回复文本消息,用户发什么,你自动回什么
微信公众号自动回复 node的更多相关文章
- 微信公众号自动回复_Java
先声明一下,这是一个maven工程pom文件需要的依赖: <dependency> <groupId>dom4j</groupId> <artifactId& ...
- 利用OpenShift托管Node.js Web服务进行微信公众号开发
最近写了一个微信的翻译机器人.用户只要关注该公众号,发送英文的消息,就能收到中文翻译的回复.有兴趣的读者可以扫描下面的二维码关注该公众号,尝试发送英文单词试试看.(有时候第一次发送单词会收到“该公众号 ...
- C#微信公众号开发 -- (三)用户关注之后自动回复
通过了上一篇文章之后的微信开发者验证之后,我们就可以做微信公众号的代码开发了. 当我们点击关注某个公众号的时候,有时候会发现他会自动给我们回复一条消息,比如欢迎关注XXX公众号.这个功能其实是在点击关 ...
- 微信公众号支付流程(Node实现)
前言 花费了一天时间,调通了微信公众号支付.作下记录,方便以后再次填坑.先声明,微信公众号支付,不同于微信H5支付,这点在本文结束时再详细说明. 微信配置 设置测试目录 在微信公众平台设置,栏目见下图 ...
- 微信公众号开发总结(Node.js + express + winston)
关于订阅号.服务号.企业号 官方定位 订阅号:主要偏于为用户传达资讯(类似报纸杂志),认证后每天可以群发一条消息,可达到宣传效果,构建与读者之间更好的沟通和管理模式. 服务号:主要偏于服务交互(类似银 ...
- 小机器人自动回复(python,可扩展开发微信公众号的小机器人)
api来之图灵机器人.我们都知道微信公众号可以有自动回复,我们先用python脚本编写一个简单的自动回复的脚本,利用图灵机器人的api. http://www.tuling123.com/help/h ...
- vue+node.js+webpack开发微信公众号功能填坑——v -for循环
页面整体框架实现,实现小功能,循环出数据,整体代码是上一篇 vue+node.js+webpack开发微信公众号功能填坑--组件按需引入 修改部门代码 app.vue <yd-flexbox&g ...
- [.NET] 使用 Senparc.Weixin 接入微信公众号开发:简单实现自动回复
使用 Senparc.Weixin 接入微信公众号开发:简单实现自动回复 目录 一.前提 二.基本配置信息简析 三.配置服务器地址(URL) 四.请求处理 一.前提 先申请微信公众号的授权,找到或配置 ...
- Python + Tornado 搭建自动回复微信公众号
1 通过 pip 安装 wechat-python-sdk , Requests 以及 Tornado pip install tornado pip install wechat-sdk pip i ...
随机推荐
- python 常见的内置函数
内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...
- Apache+modproxy布置tomcat集群
一.环境: Apache: 2.2.14: 下载地址:http://archive.apache.org/dist/httpd/binaries/win32/ Tomcat: 7.0.82 JDK1. ...
- vuex 知识点
Action 类似于 mutation,不同在于: 1.Action 提交的是 mutation,而不是直接变更状态. 2.Action 可以包含任意异步操作. mutation是同步的,当需要异步操 ...
- java中<load-on-startup>含义
java中 load-on-startup 含义 java中的 load-on-startup 用于表示该servlet是否在servlet容器启动的时候加载. 示例: <load-on-sta ...
- 【jmeter】Jmeter启动GUI界面出错
今天要用Jmeter测试服务器性能,发现GUI界面总是有warning提示: WARNING: Could not open/create prefs root node Software\JavaS ...
- GRUB 启动 WIN PE 镜像(ISO)
我用的这个WIN PE ISO只有 46M. 再大些的就没试过了. PE ISO 命名为 minipe.iso. 放在第一块硬盘的第二个分区. MENU.LST的内容. title WinPemap ...
- CentOS Linux解决Device eth0 does not seem to be present 但是没有发现eth1
http://www.linuxidc.com/Linux/2012-12/76248.htm 此标题已经是有人写过的了.但是为什么拿来重写? 我复制完,没有发现有eth1这个网卡 为什么呢?需要选中 ...
- 我的Quartz笔记
代码: package com.smt.autorun; import java.io.File; import java.util.ArrayList; import java.util.Date; ...
- 【Active入门】ActiveMQ学习-1
基本概念: 接收者: package com.ll.activemq; import java.util.Collection; import java.util.Iterator; import j ...
- python selenium-2 定位元素
元素 方法 示例 id find_element_by_id('su') driver.get("http://www.baidu.com")driver.find_element ...