文档章节

nodejs express wechat 实现微信消息功能

 小懒猫Mao
发布于 2016/04/20 16:07
字数 406
阅读 573
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

C++ gflags

###定义参数 gflags主要支持的参数类型包括bool,int32, int64, uint64, double, string等,定义参数通过DEFINE_type宏实现, 该宏的三个参数含义分别为命令行参数名,参数默认值,以及参数的...

SibylY
20分钟前
0
0
intellij IDEA Properties中文unicode转码问题

在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码。如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图如下: unicode转码后效果...

muzi1994
21分钟前
0
0
Java IO类库之PipedWriter

一、PipedWriter介绍 PipedWriter是字符管道输出流,继承自Writer,功能与PipedOutputStream类似,通过与PipedReader组合使用实现类似管道的功能,在多线程环境下,一个线程使用PipedWriter...

老韭菜
25分钟前
0
0
精简分页组件(手写)

需要引入CSS(没错就是这4行) .pagelist { text-align: center; color: #666; width: 100%; clear: both; margin: 20px 0; padding-top: 20px }.pagelist a { color: #666; margin: 0 2px;......

AK灬
26分钟前
3
0
29 岁成为阿里巴巴 P8,工作前 5 年完成晋升 3 连跳,他如何做到?

泡泡是我的好朋友。今年 31 岁,毕业后就进了阿里巴巴,工作五年内从 P4 晋升至 P6、P7、P8。 和他很少聊到工作,但总觉得他有很棒的职场心得,应该分享出来,于是有了这次采访。希望对职场新...

Java填坑之路
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部