Node做后台开发的一个简单且实用的应用(代码加部署)

下面通过一个微信小程序后端的代码,来介绍一下Node做后台开发的一些思路。

这段代码的功能是:

      建立一个Http端口服务,监听来自9000端口的消息,微信小程序是通过9000端口给该node后台程序发送post请求,node后台程序接受完数据后,然后请求图灵机器人的接口:http://openapi.tuling123.com/openapi/api/v2,拿到消息后,将消息数据返回给微信小程序。

     整个Node程序充当了HTTP服务的代理,也许大家会疑问为什么不直接用微信小程序直接调用这个图灵机器人的接口啊,这是由原因的:原因在于微信小程序上线的要求是程序中调用的接口必须是WSS的,而图灵机器人的接口不提供WSS的,因此这里将Node程序封装成WSS的,让Node程序来处理微信小程序的请求,然后Node程序再去处理图灵机器人的接口请求。

1、Node代码详解见如下:

var request_aa = require('request');
var sendMsg="你好!"
//导入http模块
var http=require('http');

//导入url模块
var url=require('url');
var querystring = require("querystring");

http.createServer(function(request,response){
    request.setEncoding('utf-8');
     var postData = "";
    // 数据块接收中
    request.on("data", function (postDataChunk) {
        postData += postDataChunk;
    });

    request.on("end", function () {
        console.log('数据接收完毕');
		postData = JSON.parse(postData)
		//console.log(typeof(postData))
        //console.log(postData.msg);
		var sendMsg = postData.msg;
		
		request_aa({
        url: 'http://openapi.tuling123.com/openapi/api/v2',
        method: "POST",
        json: true,
        headers: {
            "content-type": "application/json",
        },
        body: {
			"reqType": 0,
			"perception": {
			  "inputText": {
				"text": sendMsg
			  }
			},
			"userInfo": {
			  "apiKey": "b94205b642af4e9f8c5c38849a42d14e",
			  "userId": "x495133087"
			}
		 },
    }, function(error, res, body) {
        if (!error && res.statusCode == 200) {
            console.log(body.results[0].values.text) // 请求成功的处理逻辑
			//console.log(response.data.results[0].values.text)
			var message = body.results[0].values.text;
			 response.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});//设置response编码为utf-8
			 response.write(message);
			 response.end();
			
        }
    });

       
        
    });

}).listen(9000);
console.log("--HTTP NodeJS Connect--");
  1.  首先是引入包:通过require(xxx)来引用;
  2. Node中是弱变量语言,所有变量都是var
  3. 其余代码是创建一个HTTP SERVER,然后处理post请求。

2、利用Pm2部署Node服务

1、查看服务  pm2 list  , 可以看到服务名称是httpServer,当前状态是online,重启次数是272,内存和CPU利用率等

    

2、查看log日志  pm2 logs

pm2部署代码(自动重启):pm2 start xxx

pm2重启代码 :  pm2 restart xxx

本篇介绍完毕,大家有兴趣可以访问我的微信小程序,直接搜Fintechteam就行。想要源码的,可以直接博客下面留言。

猜你喜欢

转载自blog.csdn.net/qq_35571554/article/details/82758343