文档章节

nodejs express wechat 实现微信消息功能

 小懒猫Mao
发布于 2016/04/20 16:07
字数 406
阅读 576
收藏 3

参考官方:https://github.com/node-webot/wechat

直接上能用的

1. 微信公众平台准备:
需要:
(1)appid:wxf5eefxxx19a47c0d 。即 AppID(应用ID)。
(2)URL(服务器地址): http://test.nodejs.xxx.com/wechat 。   填你的服务器处理请求地址。
(3)token:CjpMHxxxEEbfq3qTesSc 。   随便写,跟代码保持一致即可,最好是20位。
(4)encodingAESKey: a3uGNIYMEYraMX3xxxxxjqNAOYDnA8rIhseK99。 即图中的 消息加解密密钥。点 随机生成即可。(追加:用的时候发现,这个没用到,估计选 加密方式 时起作用)

2. 写最简单的 基于 express和wechat的处理代码。

// 直接改 app.js
var express = require('express');
var app = express();

var wechat = require('wechat');
var config = {
	token : 'CjpMHxxxEEbfq3qTesSc',
	appid : 'wxf5xxxxd19a47c0d',
	encodingAESKey : 'a3uGNIYMEYraMX3xxxxxxxwjqNAOYDnA8rIhseK99'
};

app.use(express.query());
app.use('/wechat', wechat(config, function(req, res, next) {
	// 微信输入信息都在req.weixin上
	var message = req.weixin;
	console.log('log mao:', message);

	if (message.Content === 'diaosi') {
		// 回复屌丝(普通回复)
		res.reply('hehe');
	} else if (message.Content === 'text') {
		console.log('log text');
		// 你也可以这样回复text类型的信息
		res.reply({
			content : 'text object',
			type : 'text'
		});
	} else if (message.Content === 'hehe') {
		// 回复一段音乐
		res.reply({
			type : "music",
			content : {
				title : "来段音乐吧",
				description : "一无所有",
				musicUrl : "http://mp3.com/xx.mp3",
				hqMusicUrl : "http://mp3.com/xx.mp3",
				thumbMediaId : "thisThumbMediaId"
			}
		});
	} else {
		// 回复高富帅(图文回复)
		res.reply([ {
			title : '你来我家接我吧',
			description : '这是女神与高富帅之间的对话',
			picurl : 'https://www.baidu.com/img/bd_logo1.png',
			url : 'https://www.baidu.com/'
		} ]);
	}
}));

// 注意加上 端口监听
var server = app.listen(13001, function() {
	var host = server.address().address;
	var port = server.address().port;

	console.log('Example app listening at http://%s:%s', host, port);
});

消息结构说明 (req.weixin):

{
	ToUserName : 'gh_30e178xxbe7',
	FromUserName : 'omIHmwCxxxxxxf8Dyn2YGQj4',
	CreateTime : '1461140663',
	MsgType : 'text',
	Content : 'xxv',
	MsgId : '62755513xxx5544996'
}

3. 跑起来看看吧

© 著作权归作者所有

共有 人打赏支持
粉丝 2
博文 18
码字总数 10962
作品 0
昌平
开发者实验室之------搭建微信订阅号后台服务

准备域名 任务时间:20min ~ 40min 微信公众平台需要配置服务器地址 URL 访问,在实验开始之前,我们要准备域名。 域名注册 如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频。...

时光流转
2017/10/27
0
0
node-wechat 微信实践

node-wechat 从去年开始微信开发越来越火了,体现在sdk和h5上(h5如果大家想听,可以回复),这里就简单介绍一下sdk开发 既然是noder,那肯定要用nodejs写,不然会被鄙视的。 node-webot简介...

i5ting
2015/07/10
0
3
功能增强的第三方微信PC客户端Electronic WeChat

Electronic WeChat是第三方的微信开源PC客户端, 支持Mac OS 和 Linux 操作系统。遵守MIT开源协议。软件做了很多本地优化工作,包括自适应窗口、docker上的消息计数,表情贴纸注入等。 功能特...

marsdream
07/27
0
0
Scala实战-通过微信聊天窗口实现应答式点餐 1:连接微信API

当前代码tag: v0.0.1,https://github.com/yangbajing/wechat-meal/tree/v0.0.1 微信公众号提供了详尽的API文档说明,提供了明文和加密两种接入方式。这里,我们选择加密的接入方式微信公众号...

羊八井
2015/08/18
0
0
Ubuntu 16.04安装Wine版的微信(deepin-wechat)

说明: 1、使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小。 2、关于没有.wine文件夹的解决方法:在命令行上运行winecfg; 3、有可能在今年Web...

easonjim
02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java日期和时间获取问题

获取年月日时分秒 Calendar cal = Calendar.getInstance();//获取年int year = cal.get(Calendar.YEAR);//获取月,范围是0-11,最后使用需+1int month = cal.get(Cal...

lanyu96
27分钟前
7
0
Ceph学习笔记2-在Kolla-Ansible中使用Ceph后端存储

环境说明 使用Kolla-Ansible请参考《使用Kolla-Ansible在CentOS 7单节点上部署OpenStack Pike》; 部署Ceph服务请参考《Ceph学习笔记1-Mimic版本多节点部署》。 配置Ceph 以osdev用户登录: ...

LastRitter
31分钟前
6
0
OSChina 周二乱弹 —— 老司机表示右手无处安放

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @花间小酌 :分享李宗盛的单曲《鬼迷心窍》--春风再美也比不上你的笑 《鬼迷心窍》 - 李宗盛 手机党少年们想听歌,请使劲儿戳(这里) 每天早...

小小编辑
43分钟前
225
5
复习2

10月22日任务 awk 中使用外部shell变量 awk 合并一个文件 把一个文件多行连接成一行 awk中gsub函数的使用 awk 截取指定多个域为一行 过滤两个或多个关键词 用awk生成以下结构文件 awk用print...

hhpuppy
51分钟前
5
0
原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
62
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部