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 然后就给微信公众号发信息

  • 相关阅读:
    软件体系架构复习要点
    Operating System on Raspberry Pi 3b
    2019-2020 ICPC North-Western Russia Regional Contest
    2019 ICPC ShenYang Regional Online Contest
    2019 ICPC XuZhou Regional Online Contest
    2019 ICPC NanChang Regional Online Contest
    2019 ICPC NanJing Regional Online Contest
    Codeforces Edu Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div.1+Div.2)
    AtCoder Beginning Contest 139
  • 原文地址:https://www.cnblogs.com/ryt103114/p/6479421.html
Copyright © 2011-2022 走看看