UNPKG

gamelet-cli

Version:

Download project from code.gamelet.com, edit/test in vscode and sync back to server.

80 lines (69 loc) 2.44 kB
(function (global) { let socket = null; function connect() { if(socket) { socket.open(); } else { socket = io('/monitor', { forceNew: true }); socket.on('connect', () => { log('socket connected', ''); socket.emit('login', 'localServerMonitor', res => { if(res.error) { logError('Failed to login', res.error); } else { log('Login successfully', res.data, 'black'); } }); }) socket.on('disconnect', () => { logError('socket disconnected', ''); }) socket.on('error', function (error) { logError('socket error', error); }); socket.on('connect_error', function (error) { logError('socket connect_error', error); }); socket.on('connect_timeout', function (error) { logError('socket connect_timeout', error); }); let msgProccessor = { on_monitorLog: (clientCode, channel, prefix, data, color) => { log(prefix, JSON.stringify(data), color); }, } socket.on('gltmsg', function (type, params) { msgProccessor['on_' + type].apply(msgProccessor, params); }); } } connect(); function clientApi(projectCode, api, params) { return new Promise((resolve, reject) => { socket.emit('clientMonitorApi', projectCode, api, params, res => { if(res.error) { logError(projectCode + '.' + api, res.error); reject(res.error); } else { resolve(res.data); } }); }) } function log(prefix, msg, color) { color = color || 'black'; $('#messages').prepend($('<li>').html(`<span style="color:${color}"><b>[${prefix}]</b> ${msg}</span>`)); } function logError(prefix, error) { log(prefix, error, 'red'); } // global.clearMessages = function() { $('#messages').empty(); } global.test = function() { clientApi('', 'test', {}).then(res => { console.log(res); }); } })(window);