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

posted @ 2017-02-28 16:20  任小小  阅读(757)  评论(0编辑  收藏  举报