nodejs 对接微信 express 对接微信
2024-09-05 19:35:17
安装引用
npm install express
npm install body-parser
npm install express-xml-bodyparser
npm install axios
使用express框架对接微信
var express = require('express');
var xmlparser = require('express-xml-bodyparser');
var crypto = require('crypto');
var path = require('path');
var bodyParser = require('body-parser');
var app = new express(); app.use(express.static(path.join(__dirname, 'public')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(xmlparser()); app.get('/', (req, res) => {
res.end('hello world');
})
//对接验证
app.get('/wx', (req, res) => { if (!req.query.signature) {
res.end('hello,this is handle view');
return;
} const { signature, timestamp, nonce, echostr } = req.query;
var token = "mydemo"; var array = [token, timestamp, nonce];
array.sort() var sha1 = crypto.createHash('sha1');
var str = array.toString().replace(/,/g, '');
var hashcode = sha1.update(str).digest('hex'); if (hashcode == signature) {
res.end(echostr);
} else {
res.end("");
} });
//实现你问我答 文本消息回复
app.post('/wx', (req, res) => { console.log(req.body); const { tousername, fromusername, createtime, msgtype, content } = req.body.xml; var xml = `<xml>
<ToUserName><![CDATA[${fromusername}]]></ToUserName>'
<FromUserName><![CDATA[${tousername}]]></FromUserName>'
<CreateTime><![CDATA[${createtime}]]></CreateTime>'
<MsgType><![CDATA[${msgtype}]]></MsgType>'
<Content><![CDATA[${content}]]></Content>'
</xml>`; res.end(xml);
}); app.listen(80, '0.0.0.0', () => {
console.log('listen 80');
})
微信公众号 配置 http://ip或域名/wx
最新文章
- 移动Web之响应式布局的探讨
- Samba 4 Domain Controller on Ubuntu 14.04 LTS
- 20145212 《Java程序设计》第9周学习总结
- DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等
- Maven进价:Maven构建错误汇总
- robotframework笔记25
- boost------bind的使用(Boost程序库完全开发指南)读书笔记
- Quartz中时间表达式的设置-----corn表达式
- node.js + mongodb
- IL代码完结篇
- 基于python的互联网软件测试开发(自动化测试)-全集合
- Android缩放动画
- 基于vue.js的简单用户管理
- CF451E Devu and Flowers
- 【SparkStreaming学习之一】 SparkStreaming初识
- Multiple Server Query Execution报The result set could not be merged..
- 解决 Bash On Windows 下载慢或无法下载的问题
- ASP.NET MVC4学习笔记
- 动态规划-Race Car
- java 加载数据库驱动