zoukankan      html  css  js  c++  java
  • nodejs-微信公众号 ----答疑机器人

    上周在学习微信小程序,这周开始接触一下微信公众号的开发,一直以为开发微信公众号是个很难的事情,但是自己沉下心来学习发现,其实也还好,要始终坚信,现在的难题,最后都是能够被解决的。

    第一步:在本地新建一个文件夹(一定要是空的);

    第二步:安装express,

    安装步骤:①npm install -g express-generator

                 ②express  你的项目名

    第三步:cd 你的项目名

    第四步:npm install //会自动生成项目框架

    第五步:npm start 然后打开浏览器  localhost:3000 看看能不能看到以下结果

    第六步:安装wechat包 npm install wechat

    第七步:安装wechat-api包 npm install wechat-api

    第八步:微信的端口号为80,将bin/ww里面的端口号改为80

     第九步:app.js代码

    var express = require('express');
    var path = require('path');
    var favicon = require('serve-favicon');
    var logger = require('morgan');
    var cookieParser = require('cookie-parser');
    var bodyParser = require('body-parser');

    var routes = require('./routes/index');
    var users = require('./routes/users');
    var WeiXin = require('./weixin'); //使用weixin.js文件

    var app = express();
    // view engine setup
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'jade');
    // uncomment after placing your favicon in /public
    //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
    app.use(logger('dev'));
    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(cookieParser());
    app.use(express.static(path.join(__dirname, 'public')));

    app.use('/', routes);
    app.use('/users', users);

    // catch 404 and forward to error handler
    app.use(function(req, res, next) {
    var err = new Error('Not Found');
    err.status = 404;
    next(err);
    });
    // error handlers
    // development error handler
    // will print stacktrace
    if (app.get('env') === 'development') {
    app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
    message: err.message,
    error: err
    });
    });
    }

    // production error handler
    // no stacktraces leaked to user
    app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
    message: err.message,
    error: {}
    });
    });
    //程序启动调用微信消息监听初始化
    WeiXin.initMsg();
    WeiXin.responseMsg();
    module.exports = app;

    第十步:新建weixin.js,代码如下

    var weixinApi = require("weixin-api");

    function WeiXin()
    {
    this.initMsg = function () {
    // config 根据自己的实际配置填写
    weixinApi.token = 'qbtest';
    };
    //响应用户消息
    this.responseMsg = function () {

    //响应用户文本消息
    resTextMsg();
    }
    }

    //响应用户文本消息
    function resTextMsg() {
    //文本消息
    weixinApi.textMsg(function(msg){
    console.log("响应用户文本消息");
    console.log(JSON.stringify(msg));
    var questionList =[
    {id:1,question:"你是谁?",answer:"您忘了么,我是小懂呀。"},
    {id:2,question:"你多大了",answer:"小懂刚满七个月。"},
    {id:3,question:"你会说话?",answer:"当然会呀。"},
    {id:4,question:"hi",answer:"您好"},
    {id:5,question:"你知道1+1=多少?",answer:"1+1=2,您糊涂了么。"},
    {id:6,question:"你们公司叫什么名字?",answer:"我们是深圳懂你机器人科技有限公司。"},
    {id:7,question:"你们公司是做什么的?",answer:"我们公司主要是做人工只能这方面,我就是他们刚孵化出来的宝宝。"},
    {id:8,question:"你们公司长的最帅的是谁?",answer:"我们公司最帅的当然是Jacky了,您可能不知道,每天都有好多妹子找他聊天的。"}
    ];
    var content = "";
    console.log('消息是:'+ msg.content);
    for(var i=0;i<questionList.length;i++){
    console.log(msg.content === questionList[i].question);
    if( msg.content === questionList[i].question){
    content = questionList[i].answer;
    break;
    }else{
    content = "哎呀,我还小,您别问这么难的问题。";
    }
    }
    var resMsg = {};
    resMsg = {
    fromUserName : msg.toUserName,
    toUserName : msg.fromUserName,
    msgType : "text",
    content : content,
    funcFlag : 0
    };
    weixinApi.sendMsg(resMsg);
    });
    }

    module.exports = new WeiXin();

    第十一步:打开一台服务器,

    第十二步:打开微信公众号,设置服务器连接,写好token 提交,

    第十三步:npm start 然后就给微信公众号发信息

  • 相关阅读:
    Java包装类
    Java锁机制ReentrantLock
    Java内部类介绍
    JAVA多线程学习六-守护线程
    JAVA多线程学习五:线程范围内共享变量&ThreadLocal
    JAVA多线程学习四
    Maven之阿里云镜像仓库配置
    JAVA多线程学习- 三:volatile关键字
    ansible学习(二)- 清单配置详解
    Java多线程学习(二)
  • 原文地址:https://www.cnblogs.com/ryt103114/p/6479421.html
Copyright © 2011-2022 走看看