import app from "./app"; import config from "../config"; import { readFolderList, readFileList, joinFile } from "./file"; let http = require('http'); let util = require('util'); var debug = require('debug'); var querystring = require("querystring"); var url=require('url'); var path = require("path"); let port:number = config.port; let server:any; let curViewFilePath = config.filePath; let curFolderName; export function getCurFolderPath(){ if(curFolderName){ return joinFile(curViewFilePath, curFolderName); } return curViewFilePath; } export function connect(fp:string,pt:number){ curViewFilePath = fp || curViewFilePath; port = pt || port; port = normalizePort(process.env.PORT || port); // server = http.createServer(function (req, res) { // res.setHeader("Access-Control-Allow-Origin", "*"); // res.setHeader("Access-Control-Allow-Methods", "POST, GET"); // res.setHeader("Access-Control-Allow-Credentials",true); // res.setHeader("Access-Control-Allow-Headers", "application/octet-stream"); // res.setHeader("Access-Control-Allow-Headers", "Content-Type"); // ReqPost(req,res) // // return app; // }).listen(port); server = http.createServer(app).listen(port); server.on('error', onError); server.on('listening', onListening); } export function getFilePath(){ return curViewFilePath; } export function getFolderList(){ let obj={ folderList: readFolderList(curViewFilePath), directory:curViewFilePath, } return obj; } export function getFileList(folderName){ curFolderName = folderName || ""; const filepath = curFolderName ? joinFile(curViewFilePath, folderName) : curViewFilePath; const result = readFileList(filepath); let obj = { fileList: result, directory: curViewFilePath, } return obj; } function ReqPost(req,res){ req.setEncoding('utf-8'); // Access-Control-Allow-Origin: http://www.yourhost.com Access-Control-Allow-Credentials:true var postData = ""; // 数据块接收中 req.on("data", function (postDataChunk) { postData += postDataChunk; }); req.on("end", function () { console.log('数据接收完毕'); // var params = querystring.parse(postData);//GET & POST ////解释表单数据部分{name="zzl",email="zzl@sina.com"} console.log("data",postData.toString()); // res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});//设置response编码为utf-8 // res.write(util.inspect(params)); res.end("数据提交完毕"); }) } function ReqGet(req,res){ res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});//设置response编码为utf-8 //接收浏览器url var url_Obj=url.parse(req.url); //请求参数中有中文是推介,会自动处理中文问题,推介使用 var url_Obj_Json=url.parse(req.url,true); console.log(url_Obj_Json); var url_Obj_Json_str=JSON.stringify(url_Obj_Json.query); console.log(url_Obj_Json_str); //解决http://127.0.0.1:3000/favicon.ico 引起的重复请求 if(url_Obj_Json.path != "/favicon.ico"){ res.write(util.inspect(url.parse(req.url, true))); } let obj = JSON.stringify({ name:"jian", password:"123", userinfo_id:1, contact_information:123, advise_text:"dsds" }) res.write("======================================="); res.end("tt("+obj+")"); } function onError(error) { if (error.syscall !== 'listen') { throw error; } var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages switch (error.code) { case 'EACCES': console.error(bind + ' requires elevated privileges'); process.exit(1); break; case 'EADDRINUSE': console.error(bind + ' is already in use'); process.exit(1); break; default: throw error; } } /** * Event listener for HTTP server "listening" event. */ function onListening() { var addr = server.address(); var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; debug('Listening on ' + bind); console.log("port: "+port) } function normalizePort(val) { var p = parseInt(val, 10); if (isNaN(p)) { // named pipe return val; } if (p >= 0) { // port number return p; } return false; }