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

来源:互联网 发布:网络交换器 编辑:程序博客网 时间:2024/05/31 19:47

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
如有问题 可在原文中留言

原创粉丝点击