UNPKG

eap-cli

Version:

edgeros 脚手架

72 lines (61 loc) 1.72 kB
var configJson = require('../config/edgeros.config.json'); let net = require('net'); let EventEmitter = require('events').EventEmitter; let reqEvent = new EventEmitter(); let status = 0; var socket; function startProject() { socket = net.createConnection({ host: configJson.telnet.host, port: configJson.telnet.port }); socket.on('connect', () => { console.log('已连接'); }); reqEvent.on('success', (data) => { console.log(data); if (data === 1) { // exec(`node /apps/workspace/${getThisDir()}/index.js\n`); exec(`cd /apps\n`); } }); socket.on('data', (data) => { const dataStr = Buffer.alloc(data.length, data, 'utf-8').toString(); console.log(dataStr); if(dataStr.indexOf('login:') !== -1) { socket.write(configJson.telnet.username + '\n', (err) => { if(err){ console.log(err); } }); } else if(dataStr.indexOf('password:') !== -1) { socket.write(configJson.telnet.password + '\n', (err) => { if(err){ console.log(err); } status = 1; }); }else if(dataStr.indexOf('SylixOS kernel version: 1.12.9 Code name: Tangram') !== -1) { reqEvent.emit('success', status); } else { console.log(JSON.stringify(dataStr)); } }) } function exec(cmd) { socket.write(cmd, (err) => { if(err){ console.log(err); } else { console.log('部署成功!'); } }); } function getThisDir() { const path = process.cwd(); return '/' + path.substring(path.lastIndexOf('\\')+1); } // startProject(); module.exports = { startProject: startProject }