wechat-plus 使用node开发微信公众号

时间:2023-03-08 22:04:40

github:https://github.com/liuyinglong/node-wechat
npm:https://www.npmjs.com/package/wechat-plus

install

npm install wechat-plus --save

use

//引入
var WeChat=require("wechat-plus");
let weChat= new WeChat({
token: "your token",
appid: "your appid",
secret: "your secret",
}); //文字消息
weChat.event.on("weChat_msg_text", function (res, msg) {
// msg接受到的消息内容
// res对象
// replay 方法 第一个参数为消息 第二个参数为消息类型 默认为text
res.reply({
ToUserName: msg.FromUserName,
FromUserName: msg.ToUserName,
Content: "ee" //回复内容
},"text");
}); //语音消息
weChat.event.on("weChat_msg_voice", function (res, msg) {
// msg接受到的消息内容
// res对象
// replay 方法 第一个参数为消息 第二个参数为消息类型
res.reply({
ToUserName: msg.FromUserName,
FromUserName: msg.ToUserName,
Content: "ee" //回复内容
},"text");
}); /**
* 生成授权链接
* @param redirectUrl
* @param state 默认为空
* @param scope 默认为"snsapi_userinfo"
* @returns {string}
*/
let authUrl=weChat.authUrl("http://youAddress.com/code","STATE","snsapi_userinfo") /**
* 获取用户信息
* @param code
* @returns {Promise.<TResult>|Request}
*/
weChat.getUserInfo("CODE").then(function(res){
//userInfo 为res.body
}); /**
* 生成jsSDK签名
* @param url 链接地址
* @returns {Promise.<TResult>}
* noncestr:随机字符串,
timestamp: 时间戳,
signature: 签名
*/ weChat.jssdkSignature("url").then(function(result){ })

express 路由示例

let express = require('express');
let router = express.Router();
let WeChat = require("wechat-plus");
let weChat=new WeChat({ //以下参数自行替换
token: "******",
appid: "***************************",
secret: "***************************",
}); //文字消息事件
weChat.event.on("weChat_msg_text", function (res, msg) {
//回复内容
res.reply({
ToUserName: msg.FromUserName,
FromUserName: msg.ToUserName,
Content: "ee"
});
}); // 开发者认证
router.get('/wechat', function (req, res, next) {
if (weChat.auth(req)) {
res.send(req.query.echostr)
} else {
res.send("false")
}
}); router.post("/wechat", function (req, res, next) {
//用户消息处理函数 如果为进行消息监听 则向微信服务器返回空数据
weChat.userMessage(req, res);
}); //获取用户信息 跳转到授权页面
router.get("/wechat/auth", function (req, res, next) {
let t = weChat.authUrl("http://vpn.getlove.cn/api/wechat/code");
res.redirect(t);
}); //根据code 获取用户的基本信息
router.get("/wechat/code", function (req, res, next) {
weChat.getUserInfo(req.query.code).then(function(data){
//data中包含用户信息
}).catch(function(err){
let t = weChat.authUrl("http://vpn.getlove.cn/api/wechat/code");
res.redirect(t);
})
}); //jssdk获取签名
router.post("/share", function (req, res, next) {
weChat.jssdkSignature(req.body.url).then(function (data) {
res.send(data);
})
}); module.exports = router;

原文地址 :http://www.jianshu.com/p/eedfde5a408d
如有问题 可在原文中留言