const fs = require('fs'); let http = require('http'); let { increaseCount, queryData, closeDB } = require('./countdb'); const routeCounter = '/counter/update'; const routeView = '/counter/view'; const routeData = '/counter/data'; server = http.createServer(function (request, response) { let u = request.url; let data = []; let jdata; if (u.toLowerCase() === routeCounter) { request.on('data', chunk => { data.push(chunk); // 将接收到的数据暂时保存起来 }) request.on('end', () => { let keys = JSON.parse(data); increaseCount(keys); // 返回响应 response.writeHead(200, { 'Content-Type': 'text/plain' }); response.write('success'); response.end(); }) } else if (u.toLowerCase() === routeData) { queryData().then(function(dataSet){ jdata = JSON.stringify(dataSet); response.setHeader('Access-Control-Allow-Origin', '*'); response.writeHead(200, { 'Content-Type': 'text/plain;charset=utf-8' }); response.write(jdata); response.end(); }); } // 不用框架显示页面好别扭 else if (u.toLowerCase() === routeView) { fs.readFile('../web/index.html', 'utf-8', function(err, hdata) { if (err !== null) { return console.log(err); } response.end(hdata); }) } else if (u.toLowerCase() === '/counter/index.js') { fs.readFile('../web/index.js', 'utf-8', function(err, hdata) { if (err !== null) { return console.log(err); } response.end(hdata); }) } else { response.writeHead(404, { 'Content-Type': 'text/plain' }); response.write("error"); response.end(); } }); server.listen(7777); console.log('CodeCounter server is running...'); server.on('close', function (event) { console.log('server closed'); }); process.on('exit', function (code) { closeDB(); console.log('退出码为:', code); }); process.on('SIGTERM', () => { console.log('SIGTERM signal received.'); process.exit(3); }); process.on('SIGINT', () => { console.log('SIGINT signal received.'); process.exit(2); }); process.on('SIGQUIT', () => { console.log('SIGQUIT signal received.'); process.exit(5); });