• nodejs开发微信公众号


    1.windows上安装NodeJS

    2.新建项目目录,如nodejs_wechat_bot,进入目录后安装expressweixin-api模块,具体方法是:

    npm install express  
    npm install weixin-api  
    

    3.新建文件index.js,写入如下内容

    var weixin      = require('weixin-api');  
    var express     = require('express');  
    var app         = express(); 
    
    // 接入验证
    app.get('/', function(req, res) {
    
        // 签名成功
        if (weixin.checkSignature(req)) {
            res.status(200).send(req.query.echostr);
        } else {
            res.status(200).send('fail');
        }
    });
    
    // config 根据自己的实际配置填写
    weixin.token = 'qbtest';
    
    // 监听文本消息
    weixin.textMsg(function(msg) {  
        console.log("textMsg received");
        console.log(JSON.stringify(msg));
    
        var resMsg = {};
    
        switch (msg.content) {
            case "文本" :
                // 返回文本消息
                resMsg = {
                    fromUserName : msg.toUserName,
                    toUserName : msg.fromUserName,
                    msgType : "text",
                    content : "这是文本回复",
                    funcFlag : 0
                };
                break;
    
            case "音乐" :
                // 返回音乐消息
                resMsg = {
                    fromUserName : msg.toUserName,
                    toUserName : msg.fromUserName,
                    msgType : "music",
                    title : "音乐标题",
                    description : "音乐描述",
                    musicUrl : "音乐url",
                    HQMusicUrl : "高质量音乐url",
                    funcFlag : 0
                };
                break;
    
            case "图文" :
    
                var articles = [];
                articles[0] = {
                    title : "PHP依赖管理工具Composer入门",
                    description : "PHP依赖管理工具Composer入门",
                    picUrl : "http://weizhifeng.net/images/tech/composer.png",
                    url : "http://weizhifeng.net/manage-php-dependency-with-composer.html"
                };
    
                articles[1] = {
                    title : "八月西湖",
                    description : "八月西湖",
                    picUrl : "http://weizhifeng.net/images/poem/bayuexihu.jpg",
                    url : "http://weizhifeng.net/bayuexihu.html"
                };
    
                articles[2] = {
                    title : "「翻译」Redis协议",
                    description : "「翻译」Redis协议",
                    picUrl : "http://weizhifeng.net/images/tech/redis.png",
                    url : "http://weizhifeng.net/redis-protocol.html"
                };
    
                // 返回图文消息
                resMsg = {
                    fromUserName : msg.toUserName,
                    toUserName : msg.fromUserName,
                    msgType : "news",
                    articles : articles,
                    funcFlag : 0
                }
        }
    
        weixin.sendMsg(resMsg);
    });
    
    // 监听图片消息
    weixin.imageMsg(function(msg) {  
        console.log("imageMsg received");
        console.log(JSON.stringify(msg));
    });
    
    // 监听位置消息
    weixin.locationMsg(function(msg) {  
        console.log("locationMsg received");
        console.log(JSON.stringify(msg));
    });
    
    // 监听链接消息
    weixin.urlMsg(function(msg) {  
        console.log("urlMsg received");
        console.log(JSON.stringify(msg));
    });
    
    // 监听事件消息
    weixin.eventMsg(function(msg) {  
        console.log("eventMsg received");
        console.log(JSON.stringify(msg));
    });
    
    // Start
    app.post('/', function(req, res) {
    
        // loop
        weixin.loop(req, res);
    
    });
    
    app.listen(3000);  
    

    4.执行node index.js启动node server。注意到weixin.token 被赋值了qbtest,后面会用到。

    本篇文章借鉴https://www.cnblogs.com/josjo/p/6099646.html

    如有侵权,请联系我。qq:1723632199

  • 相关阅读:
    linux mysql开启远程链接
    Nginx 下无法读取session 导致 thinkphp验证码错误
    Nginx 开启 path_info功能
    让chrome打开手机网页
    vue 组件和全局组件的注册、使用
    Vue 导入文件import、路径@和.的区别
    vue 打包路径不对设置方法
    id
    Ajax GET 和 POST 的区别
    前端笔试题汇总 2018/12/04 (2)
  • 原文地址:https://www.cnblogs.com/tflike/p/14173932.html
Copyright © 2020-2023  润新知