diff --git a/console/configuration/system_configs.js b/console/configuration/system_configs.js index 25d90bb..889893b 100644 --- a/console/configuration/system_configs.js +++ b/console/configuration/system_configs.js @@ -12,10 +12,10 @@ let enums = new Enums(); //noinspection JSUnresolvedVariable exports.setupEnvironment = function () { - MYSQL_DB_SERVER_ADDRESS = "localhost"; + MYSQL_DB_SERVER_ADDRESS = "127.0.0.1"; MYSQL_DB_NAME = "irext"; MYSQL_DB_USER = "root"; - MYSQL_DB_PASSWORD = "root"; + MYSQL_DB_PASSWORD = "421aWill."; REDIS_HOST = "localhost"; REDIS_PORT = "6379"; REDIS_PASSWORD = null; @@ -23,6 +23,6 @@ exports.setupEnvironment = function () { PYTHON_PATH = "/usr/bin/python"; LISTEN_PORT = "8301"; SERVER_ADDRESS = "localhost"; - EXTERNAL_SERVER_ADDRESS = "irext.net"; + EXTERNAL_SERVER_ADDRESS = "srv.irext.net"; EXTERNAL_SERVER_PORT = "80"; }; \ No newline at end of file diff --git a/console/irext_console.js b/console/irext_console.js index 5f15ad9..c6decd7 100644 --- a/console/irext_console.js +++ b/console/irext_console.js @@ -4,23 +4,23 @@ */ // system inclusion -var express= require('express'); -var app = module.exports = express(); -var http = require('http').Server(app); -var bodyParser = require('body-parser'); -var methodOverride = require('method-override'); +let express= require('express'); +let app = module.exports = express(); +let http = require('http').Server(app); +let bodyParser = require('body-parser'); +let methodOverride = require('method-override'); // global inclusion require('./mini_poem/configuration/constants'); -var System = require('./mini_poem/utils/system_utils'); -var dbConn = require('./mini_poem/db/mysql/mysql_connection'); +let System = require('./mini_poem/utils/system_utils'); +let dbConn = require('./mini_poem/db/mysql/mysql_connection'); // local inclusion -var systemConfig = require('./configuration/system_configs'); -var Enums = require('./constants/enums'); -var ErrorCode = require('./constants/error_code'); -var enums = new Enums(); -var errorCode = new ErrorCode(); +let systemConfig = require('./configuration/system_configs'); +let Enums = require('./constants/enums'); +let ErrorCode = require('./constants/error_code'); +let enums = new Enums(); +let errorCode = new ErrorCode(); SERVER = enums.SERVER_MAIN; @@ -33,23 +33,23 @@ app.use(methodOverride()); app.use(tokenValidation); app.use("/", express.static(__dirname + '/web/')); systemConfig.setupEnvironment(); -var serverListenPort = LISTEN_PORT; +let serverListenPort = LISTEN_PORT; console.log("initializing MySQL connection to : " + MYSQL_DB_SERVER_ADDRESS + ":" + MYSQL_DB_NAME); dbConn.setMySQLParameter(MYSQL_DB_SERVER_ADDRESS, MYSQL_DB_NAME, MYSQL_DB_USER, MYSQL_DB_PASSWORD); require('./routes'); -var certificateLogic = require('./work_unit/authentication_logic.js'); +let certificateLogic = require('./work_unit/authentication_logic.js'); -// kick start the engine -System.startupHttp(http, serverListenPort, "irext Console V1.2.7"); +// kickstart the engine +System.startupHttp(http, serverListenPort, "irext Console V1.5.0"); ////////////////// authentication middleware ////////////////// function tokenValidation (req, res, next) { - var bodyParam; - var adminID = null; - var token = null; + let bodyParam; + let adminID = null; + let token = null; bodyParam = req.body; if (null != bodyParam) { @@ -73,14 +73,14 @@ function tokenValidation (req, res, next) { token = req.query.token; } if (req.url.indexOf("/irext/int") !== -1) { - var contentType = req.get("content-type"); + let contentType = req.get("content-type"); if (null != contentType && contentType.indexOf("multipart/form-data") != -1) { // request of content type of multipart/form-data would be validated inside each service next(); } else { certificateLogic.verifyTokenWorkUnit(adminID, token, function(validateTokenErr) { if(errorCode.SUCCESS.code !== validateTokenErr.code) { - var fakeResponse = { + let fakeResponse = { status: validateTokenErr, entity: null }; @@ -92,12 +92,12 @@ function tokenValidation (req, res, next) { }); } } else if (req.url.indexOf("/irext/nav/nav_to_url") !== -1) { - var page = bodyParam.page; - var pageCode = page.indexOf("code"); - var pageDoc = page.indexOf("doc"); - var pageStat = page.indexOf("stat"); + let page = bodyParam.page; + let pageCode = page.indexOf("code"); + let pageDoc = page.indexOf("doc"); + let pageStat = page.indexOf("stat"); - var permissions = ""; + let permissions = ""; if (-1 !== pageCode) { permissions = ",0"; diff --git a/console/mini_poem/cache/base_cache.js b/console/mini_poem/cache/base_cache.js index c297f91..7b38cf9 100644 --- a/console/mini_poem/cache/base_cache.js +++ b/console/mini_poem/cache/base_cache.js @@ -3,7 +3,7 @@ * 2014-12-01. */ -var BaseCache = function(_cacheType, _host, _port, _user, _password) { +let BaseCache = function(_cacheType, _host, _port, _user, _password) { throw new Error("Abstract class"); }; diff --git a/console/mini_poem/cache/redis.js b/console/mini_poem/cache/redis.js index eded494..07e0bc4 100644 --- a/console/mini_poem/cache/redis.js +++ b/console/mini_poem/cache/redis.js @@ -4,18 +4,18 @@ */ require('../configuration/constants'); -var ErrorCode = require('../configuration/error_code'); -var Enums = require('../configuration/enums'); -var BaseCache = require('./base_cache.js'); +let ErrorCode = require('../configuration/error_code'); +let Enums = require('../configuration/enums'); +let BaseCache = require('./base_cache.js'); -var redis = require("redis"); +let redis = require("redis"); -var logger = require('../logging/logger4js').helper; +let logger = require('../logging/logger4js').helper; -var errorCode = new ErrorCode(); -var enums = new Enums(); +let errorCode = new ErrorCode(); +let enums = new Enums(); -var Cache = function(_host, _port, _user, _password) { +let Cache = function(_host, _port, _user, _password) { this.redisClient = redis.createClient(_port, _host, {detect_buffers: true}); // initialize client according to run-time ENV // in _user indicates the redis instance:token pair value diff --git a/console/mini_poem/configuration/constants.js b/console/mini_poem/configuration/constants.js index 10ed02c..651801c 100644 --- a/console/mini_poem/configuration/constants.js +++ b/console/mini_poem/configuration/constants.js @@ -20,7 +20,7 @@ global.FILE_TEMP_PATH = ""; // db : MySQL global.MYSQL_DB_SERVER_ADDRESS = "127.0.0.1"; -global.MYSQL_DB_NAME = "default_db"; +global.MYSQL_DB_NAME = "db_default"; global.MYSQL_DB_USER = "root"; global.MYSQL_DB_PASSWORD = "root"; diff --git a/console/mini_poem/crypto/md5.js b/console/mini_poem/crypto/md5.js index 400591a..6ccd604 100644 --- a/console/mini_poem/crypto/md5.js +++ b/console/mini_poem/crypto/md5.js @@ -9,7 +9,7 @@ function MD5(sMessage, fullSize) { } function AddUnsigned(lX, lY) { - var lX4, lY4, lX8, lY8, lResult; + let lX4, lY4, lX8, lY8, lResult; lX8 = (lX & 0x80000000); lY8 = (lY & 0x80000000); lX4 = (lX & 0x40000000); @@ -59,14 +59,14 @@ function MD5(sMessage, fullSize) { } function ConvertToWordArray(sMessage) { - var lWordCount; - var lMessageLength = sMessage.length; - var lNumberOfWords_temp1 = lMessageLength + 8; - var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64; - var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; - var lWordArray = Array(lNumberOfWords - 1); - var lBytePosition = 0; - var lByteCount = 0; + let lWordCount; + let lMessageLength = sMessage.length; + let lNumberOfWords_temp1 = lMessageLength + 8; + let lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64; + let lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16; + let lWordArray = Array(lNumberOfWords - 1); + let lBytePosition = 0; + let lByteCount = 0; while (lByteCount < lMessageLength) { lWordCount = (lByteCount - (lByteCount % 4)) / 4; lBytePosition = (lByteCount % 4) * 8; @@ -82,7 +82,7 @@ function MD5(sMessage, fullSize) { } function WordToHex(lValue) { - var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount; + let WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount; for (lCount = 0; lCount <= 3; lCount++) { lByte = (lValue >>> (lCount * 8)) & 255; WordToHexValue_temp = "0" + lByte.toString(16); @@ -91,12 +91,12 @@ function MD5(sMessage, fullSize) { return WordToHexValue; } - var x = Array(); - var k, AA, BB, CC, DD, a, b, c, d - var S11 = 7, S12 = 12, S13 = 17, S14 = 22; - var S21 = 5, S22 = 9 , S23 = 14, S24 = 20; - var S31 = 4, S32 = 11, S33 = 16, S34 = 23; - var S41 = 6, S42 = 10, S43 = 15, S44 = 21; + let x = Array(); + let k, AA, BB, CC, DD, a, b, c, d + let S11 = 7, S12 = 12, S13 = 17, S14 = 22; + let S21 = 5, S22 = 9 , S23 = 14, S24 = 20; + let S31 = 4, S32 = 11, S33 = 16, S34 = 23; + let S41 = 6, S42 = 10, S43 = 15, S44 = 21; // Steps 1 and 2. Append padding bits and length and convert to words x = ConvertToWordArray(sMessage); // Step 3. Initialise @@ -180,7 +180,7 @@ function MD5(sMessage, fullSize) { d = AddUnsigned(d, DD); } // Step 5. Output the 128 bit digest - var temp; + let temp; if (undefined != fullSize && null != fullSize) { temp = WordToHex(a) + WordToHex(b) + WordToHex(c) + WordToHex(d); } else { diff --git a/console/mini_poem/db/mysql/mysql_connection.js b/console/mini_poem/db/mysql/mysql_connection.js index 50c6817..cd17803 100644 --- a/console/mini_poem/db/mysql/mysql_connection.js +++ b/console/mini_poem/db/mysql/mysql_connection.js @@ -3,13 +3,13 @@ * 2014-09-22 */ -var orm = require('orm'); -var logger = require('../../logging/logger4js').helper; require('../../configuration/constants'); +let orm = require('orm'); +let logger = require('../../logging/logger4js').helper; -var ormOpt; +let ormOpt; -exports.setMySQLParameter = function(dbHost, dbName, dbUser, dbPassword) { +exports.setMySQLParameter = function (dbHost, dbName, dbUser, dbPassword) { logger.info("initialize mysql connection, user = " + dbUser); ormOpt = { protocol: "mysql", @@ -18,7 +18,7 @@ exports.setMySQLParameter = function(dbHost, dbName, dbUser, dbPassword) { user: dbUser, password: dbPassword, charset: 'utf8', - query: { pool: false } + query: {pool: false} }; exports.mysqlDB = orm.connect(ormOpt); }; \ No newline at end of file diff --git a/console/mini_poem/external/python_caller.js b/console/mini_poem/external/python_caller.js index 4f22c4d..47a098c 100644 --- a/console/mini_poem/external/python_caller.js +++ b/console/mini_poem/external/python_caller.js @@ -3,16 +3,16 @@ * 2016-12-03 */ -var pythonShell = require('python-shell'); +let pythonShell = require('python-shell'); -var constants = require('../configuration/constants.js'); -var logger = require('../logging/logger4js').helper; +let constants = require('../configuration/constants.js'); +let logger = require('../logging/logger4js').helper; -var ErrorCode = require('../configuration/error_code.js'); +let ErrorCode = require('../configuration/error_code.js'); -var errorCode = new ErrorCode(); +let errorCode = new ErrorCode(); -var PythonCaller = function() { +let PythonCaller = function() { }; @@ -27,12 +27,12 @@ var PythonCaller = function() { * return : Error code of python caller */ PythonCaller.prototype.call = function() { - var userArgIndex = 0; - var numArgs = arguments.length; - var callback = null; - var scriptPath = null; - var scriptName = null; - var userArguments = []; + let userArgIndex = 0; + let numArgs = arguments.length; + let callback = null; + let scriptPath = null; + let scriptName = null; + let userArguments = []; if(numArgs < 3) { logger.error("internal error while calling python script from application : no script specified"); // TODO: specify the error code for this type of error @@ -51,12 +51,12 @@ PythonCaller.prototype.call = function() { throw errorCode.PYTHON_SCRIPT_PATH_NOT_SPECIFIED; } else { // parse user arguments from python caller - var args = arguments[2]; + let args = arguments[2]; for(userArgIndex = 0; userArgIndex < args.length; userArgIndex++) { userArguments.push(args[userArgIndex]); } // logger.info("user arguments = " + userArguments); - var options = { + let options = { mode: 'text', pythonPath: PYTHON_PATH, pythonOptions: ['-u'], diff --git a/console/mini_poem/http/request.js b/console/mini_poem/http/request.js index 8a04bf9..639a7d8 100644 --- a/console/mini_poem/http/request.js +++ b/console/mini_poem/http/request.js @@ -4,17 +4,17 @@ */ // system inclusion -var queryString = require('querystring'); -var http = require('http'); -var request = require('request'); +let queryString = require('querystring'); +let http = require('http'); +let request = require('axios'); // local inclusion -var Map = require('../mem/map.js'); -var ErrorCode = require('../configuration/error_code.js'); +let Map = require('../mem/map.js'); +let ErrorCode = require('../configuration/error_code.js'); -var errorCode = new ErrorCode(); +let errorCode = new ErrorCode(); -var logger = require('../logging/logger4js').helper; +let logger = require('../logging/logger4js').helper; /** * @@ -24,7 +24,7 @@ var logger = require('../logging/logger4js').helper; * @param _queryParams : map of query parameters * @constructor */ -var Request = function(_host, _port, _service, _queryParams) { +let Request = function(_host, _port, _service, _queryParams) { this.host = _host; this.port = _port; this.service = _service; @@ -32,9 +32,9 @@ var Request = function(_host, _port, _service, _queryParams) { }; Request.prototype.urlizeQueryParams = function() { - var i = 0; - var urlParams = ''; - var paramElement = null; + let i = 0; + let urlParams = ''; + let paramElement = null; if(undefined == this.queryParams || null == this.queryParams) { return ''; } @@ -54,9 +54,9 @@ Request.prototype.urlizeQueryParams = function() { }; Request.prototype.sendGetRequest = function(options, callback) { - var data = ''; - var httpTag = options.https ? 'https://' : 'http://'; - var url = httpTag + this.host + ':' + this.port + this.service + + let data = ''; + let httpTag = options.https ? 'https://' : 'http://'; + let url = httpTag + this.host + ':' + this.port + this.service + this.urlizeQueryParams(); if(options.https) { @@ -94,10 +94,10 @@ Request.prototype.sendGetRequest = function(options, callback) { }; Request.prototype.sendPostRequest = function(bodyData, callback) { - var requestData = JSON.stringify(bodyData); - var url = this.service + + let requestData = JSON.stringify(bodyData); + let url = this.service + this.urlizeQueryParams(); - var options = { + let options = { host: this.host, port: this.port, path: url, @@ -107,8 +107,8 @@ Request.prototype.sendPostRequest = function(bodyData, callback) { } }; - var req = http.request(options, function(res) { - var data = ''; + let req = http.request(options, function(res) { + let data = ''; res.setEncoding('utf8'); res.on('data', function (chunk) { data += chunk; @@ -130,9 +130,9 @@ Request.prototype.sendPostRequest = function(bodyData, callback) { }; Request.prototype.postMultipartForm = function(formData, callback) { - var url = this.service + + let url = this.service + this.urlizeQueryParams(); - var req = request.post({url: url, formData: formData}, function optionalCallback(err, res, body) { + let req = request.post({url: url, formData: formData}, function optionalCallback(err, res, body) { if (err) { console.error('exception occured in http request : ' + e); callback(errorCode.FAILED, null); @@ -148,18 +148,18 @@ Request.prototype.postMultipartForm = function(formData, callback) { // post simple file to HTTP server Request.prototype.postSimpleFile = function(fileName, fileContent, contentType, options, callback) { - var httpTag = options.https ? 'https://' : 'http://'; - var url = httpTag + this.host + ':' + this.port + this.service + + let httpTag = options.https ? 'https://' : 'http://'; + let url = httpTag + this.host + ':' + this.port + this.service + this.urlizeQueryParams(); - var req = request.post(url, function (err, resp, body) { + let req = request.post(url, function (err, resp, body) { if (err) { callback(errorCode.FAILED, resp); } else { callback(errorCode.SUCCESS, resp); } }); - var form = req.form(); + let form = req.form(); form.append('file', fileContent, { filename: fileName, contentType: contentType diff --git a/console/mini_poem/logging/logger4js.js b/console/mini_poem/logging/logger4js.js index c3d2c16..ae04a69 100644 --- a/console/mini_poem/logging/logger4js.js +++ b/console/mini_poem/logging/logger4js.js @@ -3,21 +3,21 @@ * 2014-08-30 */ -var constants = require('../configuration/constants'); -var Enums = require('../configuration/enums'); -var log4js = require('log4js'); -var enums = new Enums(); -var dateUtils = require('../utils/date_utils'); +let constants = require('../configuration/constants'); +let Enums = require('../configuration/enums'); +let log4js = require('log4js'); +let enums = new Enums(); +let dateUtils = require('../utils/date_utils'); var helper = helper || {}; exports.helper = helper; -var logRoot = "./logs/"; -var userDebugLogFolder = "user_debug/"; -var devLogFolder = "dev/"; -var productionLogFolder = "production/"; +let logRoot = "./logs/"; +let userDebugLogFolder = "user_debug/"; +let devLogFolder = "dev/"; +let productionLogFolder = "production/"; -var logFile = "common.log"; +let logFile = "common.log"; log4js.configure({ appenders: { @@ -57,12 +57,12 @@ log4js.configure({ replaceConsole: true }); -var userProductionLog = log4js.getLogger('userProductionLog'); -var userDebugLog = log4js.getLogger('userDebugLog'); -var userDevelopmentLog = log4js.getLogger('userDevelopmentLog'); +let userProductionLog = log4js.getLogger('userProductionLog'); +let userDebugLog = log4js.getLogger('userDebugLog'); +let userDevelopmentLog = log4js.getLogger('userDevelopmentLog'); helper.info = function (msg) { - var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); + let date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); if (enums.APP_DEVELOPMENT_MODE === ENV) { console.log(date + ": " + msg); } else if (enums.APP_PRODUCTION_MODE === ENV) { @@ -74,7 +74,7 @@ helper.info = function (msg) { }; helper.error = function (msg) { - var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); + let date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); if (enums.APP_DEVELOPMENT_MODE === ENV) { console.log(date + ": " + msg); } else if (enums.APP_PRODUCTION_MODE === ENV) { @@ -85,7 +85,7 @@ helper.error = function (msg) { }; helper.warn = function (msg) { - var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); + let date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); if (enums.APP_DEVELOPMENT_MODE === ENV) { console.log(date + ": " + msg); } else if (enums.APP_PRODUCTION_MODE === ENV) { @@ -96,7 +96,7 @@ helper.warn = function (msg) { }; helper.debug = function (msg) { - var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); + let date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); if (enums.APP_DEVELOPMENT_MODE === ENV) { console.log(date + ": " + msg); } else if (enums.APP_PRODUCTION_MODE === ENV) { @@ -107,7 +107,7 @@ helper.debug = function (msg) { }; helper.trace = function (msg) { - var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); + let date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); if (enums.APP_DEVELOPMENT_MODE === ENV) { console.log(date + ": " + msg); } else if (enums.APP_PRODUCTION_MODE === ENV) { @@ -118,7 +118,7 @@ helper.trace = function (msg) { }; helper.fatal = function (msg) { - var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); + let date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss S"); if (enums.APP_DEVELOPMENT_MODE === ENV) { console.log(date + ": " + msg); } else if (enums.APP_PRODUCTION_MODE === ENV) { diff --git a/console/mini_poem/mem/map.js b/console/mini_poem/mem/map.js index cd4763d..e39ae29 100644 --- a/console/mini_poem/mem/map.js +++ b/console/mini_poem/mem/map.js @@ -26,7 +26,7 @@ function Map() { }; this.remove = function(_key) { - var bln = false; + let bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { @@ -73,7 +73,7 @@ function Map() { }; this.containsKey = function(_key) { - var bln = false; + let bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { @@ -87,7 +87,7 @@ function Map() { }; this.containsValue = function(_value) { - var bln = false; + let bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { @@ -101,7 +101,7 @@ function Map() { }; this.values = function() { - var arr = []; + let arr = []; for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].value); } @@ -109,7 +109,7 @@ function Map() { }; this.keys = function() { - var arr = []; + let arr = []; for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].key); } diff --git a/console/mini_poem/utils/date_utils.js b/console/mini_poem/utils/date_utils.js index dabc81d..8fc4c78 100644 --- a/console/mini_poem/utils/date_utils.js +++ b/console/mini_poem/utils/date_utils.js @@ -4,7 +4,7 @@ */ function formatDate(date, fmt) { - var o = { + let o = { "M+" : date.getMonth() + 1, "d+" : date.getDate(), "h+" : date.getHours(), @@ -15,25 +15,25 @@ function formatDate(date, fmt) { }; if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); - for(var k in o) + for(let k in o) if(new RegExp("("+ k +")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); return fmt; } function getNextDay(dateString) { - var nextDayStr; - var nextMonthStr; - var nextYearStr; - var currentDate = new Date(dateString); - var nextDate = new Date(currentDate.getTime() + 24 * 60 * 60 * 1000); - var nextDay = nextDate.getDate(); + let nextDayStr; + let nextMonthStr; + let nextYearStr; + let currentDate = new Date(dateString); + let nextDate = new Date(currentDate.getTime() + 24 * 60 * 60 * 1000); + let nextDay = nextDate.getDate(); if(nextDay < 10) { nextDayStr = "0" + nextDay; } else { nextDayStr = nextDay; } - var nextMonth = nextDate.getMonth() + 1; + let nextMonth = nextDate.getMonth() + 1; if(nextMonth < 10) { nextMonthStr = "0" + nextMonth; } else { @@ -44,18 +44,18 @@ function getNextDay(dateString) { } function getPreviousDay(dateString) { - var lastDayStr; - var lastMonthStr; - var lastYearStr; - var currentDate = new Date(dateString); - var lastDate = new Date(currentDate.getTime() - 24 * 60 * 60 * 1000); - var lastDay = lastDate.getDate(); + let lastDayStr; + let lastMonthStr; + let lastYearStr; + let currentDate = new Date(dateString); + let lastDate = new Date(currentDate.getTime() - 24 * 60 * 60 * 1000); + let lastDay = lastDate.getDate(); if(lastDay < 10) { lastDayStr = "0" + lastDay; } else { lastDayStr = lastDay; } - var lastMonth = lastDate.getMonth() + 1; + let lastMonth = lastDate.getMonth() + 1; if(lastMonth < 10) { lastMonthStr = "0" + lastMonth; } else { @@ -70,9 +70,9 @@ function getDateDiffer(startTime, endTime, diffType) { endTime = endTime.replace(/\-/g, "/"); diffType = diffType.toLowerCase(); - var sTime = new Date(startTime); - var eTime = new Date(endTime); - var divNum = 1; + let sTime = new Date(startTime); + let eTime = new Date(endTime); + let divNum = 1; switch (diffType) { case "second": divNum = 1000; @@ -94,7 +94,7 @@ function getDateDiffer(startTime, endTime, diffType) { function dateDiff(sDate1, sDate2) { - var aDate, oDate1, oDate2, iDays; + let aDate, oDate1, oDate2, iDays; aDate = sDate1.split("-"); oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]); //转换为yyyy-MM-dd格式 aDate = sDate2.split("-"); diff --git a/console/mini_poem/utils/map.js b/console/mini_poem/utils/map.js index 497c24b..dffb0a5 100644 --- a/console/mini_poem/utils/map.js +++ b/console/mini_poem/utils/map.js @@ -3,7 +3,7 @@ * 2014-03-14 */ -var Map = function() { +let Map = function() { this.elements = []; }; @@ -27,7 +27,7 @@ Map.prototype.put = function(_key, _value) { }; Map.prototype.remove = function(_key) { - var bln = false; + let bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { @@ -74,7 +74,7 @@ Map.prototype.element = function(_index) { }; Map.prototype.containsKey = function(_key) { - var bln = false; + let bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { @@ -88,7 +88,7 @@ Map.prototype.containsKey = function(_key) { }; Map.prototype.containsValue = function(_value) { - var bln = false; + let bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { @@ -102,7 +102,7 @@ Map.prototype.containsValue = function(_value) { }; Map.prototype.values = function() { - var arr = []; + let arr = []; for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].value); } @@ -110,7 +110,7 @@ Map.prototype.values = function() { }; Map.prototype.keys = function() { - var arr = []; + let arr = []; for (i = 0; i < this.elements.length; i++) { arr.push(this.elements[i].key); } diff --git a/console/mini_poem/utils/object_reflection.js b/console/mini_poem/utils/object_reflection.js index 01bde4e..9dcc523 100644 --- a/console/mini_poem/utils/object_reflection.js +++ b/console/mini_poem/utils/object_reflection.js @@ -4,13 +4,13 @@ */ function objectMemberCount(conditions) { - var memberCount = 0; - for(var f in conditions) { + let memberCount = 0; + for(let f in conditions) { memberCount++; } - var whereClause = ""; - var index = 0; - for(var field in conditions) { + let whereClause = ""; + let index = 0; + for(let field in conditions) { whereClause += field + " = '" + conditions[field] + "'"; if(index < memberCount - 1) { whereClause += " AND "; diff --git a/console/mini_poem/utils/string_utils.js b/console/mini_poem/utils/string_utils.js index 945a764..0b948cb 100644 --- a/console/mini_poem/utils/string_utils.js +++ b/console/mini_poem/utils/string_utils.js @@ -1,29 +1,29 @@ exports.randomChar = function(l) { - var x = "0123456789qwertyuioplkjhgfdsazxcvbnm"; - var tmp = ""; - for(var i = 0;i < l; i++) { + let x = "0123456789qwertyuioplkjhgfdsazxcvbnm"; + let tmp = ""; + for(let i = 0;i < l; i++) { tmp += x.charAt(Math.ceil(Math.random()*100000000)%x.length); } return tmp; }; exports.randomNumber = function(l) { - var x = "0123456789"; - var tmp = ""; - for(var i = 0;i < l; i++) { + let x = "0123456789"; + let tmp = ""; + for(let i = 0;i < l; i++) { tmp += x.charAt(Math.ceil(Math.random()*100000000)%x.length); } return tmp; }; exports.validateEmail = function (email) { - var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + let re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; return re.test(email); }; function rnd() { - var today = new Date(); - var seed = today.getTime(); + let today = new Date(); + let seed = today.getTime(); seed = (seed * 9301 + 49297) % 233280; return seed / (233280.0); } @@ -33,6 +33,6 @@ function cr(number) { } function isNumber() { - var r = /^[0-9]*[1-9][0-9]*$/; + let r = /^[0-9]*[1-9][0-9]*$/; return r.test(str); } \ No newline at end of file diff --git a/console/mini_poem/utils/system_utils.js b/console/mini_poem/utils/system_utils.js index be758bc..49d3254 100644 --- a/console/mini_poem/utils/system_utils.js +++ b/console/mini_poem/utils/system_utils.js @@ -3,9 +3,9 @@ * 2016-12-02 */ -var dateUtils = require('./date_utils'); -var platform = require('platform'); -var UAParser = require('ua-parser-js'); +let dateUtils = require('./date_utils'); +let platform = require('platform'); +let UAParser = require('ua-parser-js'); function startup(expressApp, port, serverName) { if(expressApp && expressApp.listen && typeof(expressApp.listen) == "function") { @@ -32,8 +32,8 @@ function getOS() { } function getUAInfo(ua) { - var parser = new UAParser(); - var result = parser.setUA(ua).getResult(); + let parser = new UAParser(); + let result = parser.setUA(ua).getResult(); return result; } diff --git a/console/package.json b/console/package.json index 2b52abe..e6f80be 100644 --- a/console/package.json +++ b/console/package.json @@ -1,6 +1,6 @@ { "name": "irext", - "version": "0.0.1", + "version": "1.5.0", "description": "console of irext", "scripts": { "dev": "supervisor -w . -i ./web irext_console.js", @@ -22,15 +22,15 @@ "express": "^4.14.0", "form-data": "^2.1.2", "formidable": "^1.0.17", - "log4js": "^3.0.6", + "log4js": "6.4.0", "method-override": "^2.3.7", "mysql": "^2.12.0", "orm": "^5.0.2", "platform": "^1.3.3", "python-shell": "^0.4.0", - "redis": "^2.8.0", - "request": "^2.79.0", - "ua-parser-js": "^0.7.12" + "redis": "3.1.1", + "ua-parser-js": "^0.7.12", + "axios": "^1.6.2" }, "devDependencies": { "supervisor": "^0.12.0" diff --git a/console/services/authentication_service.js b/console/services/authentication_service.js index be705d2..a865ca4 100644 --- a/console/services/authentication_service.js +++ b/console/services/authentication_service.js @@ -29,7 +29,6 @@ exports.adminLogin = function (req, res) { let loginResponse = new LoginResponse(); authenticationLogic.adminLoginWorkUnit(userName, password, function (adminLoginErr, admin) { - logger.info("admin login successfully, entity = " + JSON.stringify(admin)); loginResponse.status = adminLoginErr; loginResponse.entity = admin; res.send(loginResponse); diff --git a/console/web/index.html b/console/web/index.html index 061b257..6cee1a8 100644 --- a/console/web/index.html +++ b/console/web/index.html @@ -15,20 +15,20 @@
diff --git a/console/web/js/index.js b/console/web/js/index.js index a9e669a..fd4a013 100644 --- a/console/web/js/index.js +++ b/console/web/js/index.js @@ -117,6 +117,7 @@ function doSignIn(userName, password) { contentType: "application/json; charset=utf-8", timeout: 20000, success: function(response) { + console.log(JSON.stringify(response)) if(response.status.code === 0) { token = response.entity.token; adminID = response.entity.id; diff --git a/console/web/locales/dev/translation.json b/console/web/locales/dev/translation.json index d6d771a..f254377 100644 --- a/console/web/locales/dev/translation.json +++ b/console/web/locales/dev/translation.json @@ -3,18 +3,18 @@ "name": "IRext" }, "page_index": { - "title": "IRext 本地控制台 - 1.2.7", - "d_signin_title": "登入", + "title": "IRext 本地控制台 - 1.5.0", + "d_signin_title": "登录", "d_signin_email": "邮箱地址", "d_signin_password": "密码", - "d_signin_signin": "登入", + "d_signin_signin": "登录", "d_changepw_title": "重置密码", "d_changepw_hint": "系统会自动为你挑选一个6位随机数的新密码,并发送到你的邮件,确认更改密码?", "d_changepw_confirm": "确定", "d_changepw_cancel": "取消", "common_signout": "注销", - "d_signin_success": "登入成功,3秒后自动进入控制台", - "d_signin_failed": "登入失败,请确认邮件地址和密码正确", + "d_signin_success": "登录成功,3秒后自动进入控制台", + "d_signin_failed": "登录失败,请确认邮件地址和密码正确", "d_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收", "d_signup_email_occupied": "这个邮件地址已经被使用", "d_signin_fill_email_pw": "请填写邮件地址和密码", diff --git a/console/web/locales/en-US/translation.json b/console/web/locales/en-US/translation.json index ab518ee..d33912e 100644 --- a/console/web/locales/en-US/translation.json +++ b/console/web/locales/en-US/translation.json @@ -3,7 +3,7 @@ "name": "IRext" }, "page_index": { - "title": "IRext Local Console - 1.2.7", + "title": "IRext Local Console - 1.5.0", "d_signin_title": "Sign in", "d_signin_email": "Email", "d_signin_password": "Password", diff --git a/console/web/locales/en/translation.json b/console/web/locales/en/translation.json index ab518ee..d33912e 100644 --- a/console/web/locales/en/translation.json +++ b/console/web/locales/en/translation.json @@ -3,7 +3,7 @@ "name": "IRext" }, "page_index": { - "title": "IRext Local Console - 1.2.7", + "title": "IRext Local Console - 1.5.0", "d_signin_title": "Sign in", "d_signin_email": "Email", "d_signin_password": "Password", diff --git a/console/web/locales/zh-CN/translation.json b/console/web/locales/zh-CN/translation.json index d6d771a..f254377 100644 --- a/console/web/locales/zh-CN/translation.json +++ b/console/web/locales/zh-CN/translation.json @@ -3,18 +3,18 @@ "name": "IRext" }, "page_index": { - "title": "IRext 本地控制台 - 1.2.7", - "d_signin_title": "登入", + "title": "IRext 本地控制台 - 1.5.0", + "d_signin_title": "登录", "d_signin_email": "邮箱地址", "d_signin_password": "密码", - "d_signin_signin": "登入", + "d_signin_signin": "登录", "d_changepw_title": "重置密码", "d_changepw_hint": "系统会自动为你挑选一个6位随机数的新密码,并发送到你的邮件,确认更改密码?", "d_changepw_confirm": "确定", "d_changepw_cancel": "取消", "common_signout": "注销", - "d_signin_success": "登入成功,3秒后自动进入控制台", - "d_signin_failed": "登入失败,请确认邮件地址和密码正确", + "d_signin_success": "登录成功,3秒后自动进入控制台", + "d_signin_failed": "登录失败,请确认邮件地址和密码正确", "d_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收", "d_signup_email_occupied": "这个邮件地址已经被使用", "d_signin_fill_email_pw": "请填写邮件地址和密码", diff --git a/console/web/locales/zh/translation.json b/console/web/locales/zh/translation.json index d6d771a..f254377 100644 --- a/console/web/locales/zh/translation.json +++ b/console/web/locales/zh/translation.json @@ -3,18 +3,18 @@ "name": "IRext" }, "page_index": { - "title": "IRext 本地控制台 - 1.2.7", - "d_signin_title": "登入", + "title": "IRext 本地控制台 - 1.5.0", + "d_signin_title": "登录", "d_signin_email": "邮箱地址", "d_signin_password": "密码", - "d_signin_signin": "登入", + "d_signin_signin": "登录", "d_changepw_title": "重置密码", "d_changepw_hint": "系统会自动为你挑选一个6位随机数的新密码,并发送到你的邮件,确认更改密码?", "d_changepw_confirm": "确定", "d_changepw_cancel": "取消", "common_signout": "注销", - "d_signin_success": "登入成功,3秒后自动进入控制台", - "d_signin_failed": "登入失败,请确认邮件地址和密码正确", + "d_signin_success": "登录成功,3秒后自动进入控制台", + "d_signin_failed": "登录失败,请确认邮件地址和密码正确", "d_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收", "d_signup_email_occupied": "这个邮件地址已经被使用", "d_signin_fill_email_pw": "请填写邮件地址和密码", diff --git a/console/work_unit/authentication_logic.js b/console/work_unit/authentication_logic.js index 91eb72a..ef9957a 100644 --- a/console/work_unit/authentication_logic.js +++ b/console/work_unit/authentication_logic.js @@ -9,6 +9,7 @@ let AdminAuth = require('../authentication/admin_auth.js'); let RequestSender = require('../mini_poem/http/request.js'); let ErrorCode = require('../constants/error_code.js'); +const {set} = require("express/lib/application"); let logger = require('../mini_poem/logging/logger4js').helper; let errorCode = new ErrorCode(); @@ -18,6 +19,7 @@ let adminAuth = new AdminAuth(REDIS_HOST, REDIS_PORT, null, REDIS_PASSWORD); let SIGN_IN_SERVICE = "/irext-server/app/admin_login"; exports.adminLoginWorkUnit = function (userName, password, callback) { + let queryParams = new Map(); let requestSender = @@ -47,20 +49,21 @@ exports.adminLoginWorkUnit = function (userName, password, callback) { adminAuth.setAuthInfo(key, token, ttl, function(setAdminAuthErr) { if (errorCode.SUCCESS.code === setAdminAuthErr.code) { key = "admin_name_" + admin.id; - name = admin.user_name; + name = admin.userName; adminAuth.setAuthInfo(key, name, ttl, function(setAdminNameErr) { if (errorCode.SUCCESS.code === setAdminNameErr.code) { admin.token = token; } callback(setAdminNameErr, admin); }); + } else { + callback(errorCode.FAILED, null); } }); } else { callback(errorCode.FAILED, null); } } else { - logger.error("admin sign in failed"); callback(errorCode.FAILED, null); } }); diff --git a/server/.gitignore b/server/.gitignore index bc530cf..bcd3dc2 100644 --- a/server/.gitignore +++ b/server/.gitignore @@ -43,11 +43,15 @@ hs_err_pid* .idea/**/dynamic.xml .idea/**/uiDesigner.xml .idea/**/dbnavigator.xml +.idea/* # Gradle .idea/**/gradle.xml .idea/**/libraries +# User log +logs/ + # Gradle and Maven with auto-import # When using Gradle or Maven with auto-import, you should exclude module files, # since they will be recreated, and may cause churn. Uncomment if using diff --git a/server/pom.xml b/server/pom.xml index ce3fc35..f371e6b 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -5,7 +5,7 @@ net.irext.server private-server - 1.2.7 + 1.5.0 jar IRext Private Server @@ -14,27 +14,20 @@ org.springframework.boot spring-boot-starter-parent - 2.1.1.RELEASE + 3.5.6 UTF-8 UTF-8 - 1.8 - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 1.3.2 - org.springframework.boot spring-boot-starter-web - 2.1.1.RELEASE + 3.5.6 org.springframework.boot @@ -44,33 +37,39 @@ org.springframework.boot - spring-boot-starter-data-redis - 2.1.1.RELEASE + spring-boot-autoconfigure + 3.5.6 + + org.springframework.boot + spring-boot-starter-data-redis + 3.5.6 + + + org.springframework.boot + spring-boot-starter-log4j2 + 3.5.6 + + mysql mysql-connector-java 8.0.16 + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.5 + commons-io commons-io 2.6 - - org.springframework.boot - spring-boot-autoconfigure - 2.1.1.RELEASE - redis.clients jedis - - org.springframework.boot - spring-boot-starter-log4j2 - 2.1.1.RELEASE - com.squareup.okhttp okhttp diff --git a/server/src/main/java/net/irext/server/service/businesslogic/OperationLogic.java b/server/src/main/java/net/irext/server/service/businesslogic/OperationLogic.java index 408870b..34dc3db 100644 --- a/server/src/main/java/net/irext/server/service/businesslogic/OperationLogic.java +++ b/server/src/main/java/net/irext/server/service/businesslogic/OperationLogic.java @@ -1,6 +1,7 @@ package net.irext.server.service.businesslogic; import com.squareup.okhttp.*; +import jakarta.servlet.ServletContext; import net.irext.decode.sdk.bean.TemperatureRange; import net.irext.server.service.mapper.CollectKeyMapper; import net.irext.server.service.mapper.DecodeRemoteMapper; @@ -18,7 +19,6 @@ import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import javax.servlet.ServletContext; import java.io.File; import java.io.FileInputStream; import java.io.IOException; diff --git a/server/src/main/java/net/irext/server/service/cache/impl/DecodeSessionRepositoryImpl.java b/server/src/main/java/net/irext/server/service/cache/impl/DecodeSessionRepositoryImpl.java index aeccb7a..fa16f48 100644 --- a/server/src/main/java/net/irext/server/service/cache/impl/DecodeSessionRepositoryImpl.java +++ b/server/src/main/java/net/irext/server/service/cache/impl/DecodeSessionRepositoryImpl.java @@ -1,12 +1,12 @@ package net.irext.server.service.cache.impl; +import jakarta.annotation.PostConstruct; import net.irext.server.service.cache.IDecodeSessionRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Repository; -import javax.annotation.PostConstruct; import java.util.Map; import java.util.concurrent.TimeUnit; diff --git a/server/src/main/java/net/irext/server/service/cache/impl/IRBinaryRepositoryImpl.java b/server/src/main/java/net/irext/server/service/cache/impl/IRBinaryRepositoryImpl.java index bc587b0..86ffedd 100644 --- a/server/src/main/java/net/irext/server/service/cache/impl/IRBinaryRepositoryImpl.java +++ b/server/src/main/java/net/irext/server/service/cache/impl/IRBinaryRepositoryImpl.java @@ -1,5 +1,7 @@ package net.irext.server.service.cache.impl; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.Resource; import net.irext.server.service.cache.IIRBinaryRepository; import net.irext.server.service.model.RemoteIndex; import org.springframework.beans.factory.annotation.Autowired; @@ -7,8 +9,6 @@ import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Repository; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; import java.util.Map; import java.util.concurrent.TimeUnit; diff --git a/server/src/main/java/net/irext/server/service/cache/impl/UserAppRepositoryImpl.java b/server/src/main/java/net/irext/server/service/cache/impl/UserAppRepositoryImpl.java index e0bb2e4..2743ab8 100644 --- a/server/src/main/java/net/irext/server/service/cache/impl/UserAppRepositoryImpl.java +++ b/server/src/main/java/net/irext/server/service/cache/impl/UserAppRepositoryImpl.java @@ -1,13 +1,13 @@ package net.irext.server.service.cache.impl; +import jakarta.annotation.PostConstruct; +import jakarta.annotation.Resource; import net.irext.server.service.cache.IUserAppRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Repository; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; import java.util.concurrent.TimeUnit; /** diff --git a/server/src/main/java/net/irext/server/service/restapi/IRIndexingService.java b/server/src/main/java/net/irext/server/service/restapi/IRIndexingService.java index 71fa46a..9bfc787 100644 --- a/server/src/main/java/net/irext/server/service/restapi/IRIndexingService.java +++ b/server/src/main/java/net/irext/server/service/restapi/IRIndexingService.java @@ -1,5 +1,7 @@ package net.irext.server.service.restapi; +import jakarta.servlet.ServletContext; +import jakarta.servlet.http.HttpServletRequest; import net.irext.server.service.Constants; import net.irext.server.service.businesslogic.IndexingLogic; import net.irext.server.service.model.*; @@ -13,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; import javax.ws.rs.HeaderParam; import java.util.List; diff --git a/server/src/main/java/net/irext/server/service/restapi/IROperationService.java b/server/src/main/java/net/irext/server/service/restapi/IROperationService.java index 8d310b4..5b534ce 100644 --- a/server/src/main/java/net/irext/server/service/restapi/IROperationService.java +++ b/server/src/main/java/net/irext/server/service/restapi/IROperationService.java @@ -1,6 +1,7 @@ package net.irext.server.service.restapi; import com.google.gson.Gson; +import jakarta.servlet.ServletContext; import net.irext.server.service.businesslogic.OperationLogic; import net.irext.server.service.cache.IDecodeSessionRepository; import net.irext.server.service.cache.IIRBinaryRepository; @@ -22,7 +23,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.ServletContext; import javax.ws.rs.core.HttpHeaders; import java.io.File; import java.io.FileInputStream; diff --git a/server/src/main/java/net/irext/server/service/restapi/SignInService.java b/server/src/main/java/net/irext/server/service/restapi/SignInService.java index 604f0d0..835721e 100644 --- a/server/src/main/java/net/irext/server/service/restapi/SignInService.java +++ b/server/src/main/java/net/irext/server/service/restapi/SignInService.java @@ -1,5 +1,6 @@ package net.irext.server.service.restapi; +import jakarta.servlet.http.HttpServletRequest; import net.irext.server.service.Constants; import net.irext.server.service.businesslogic.UserLoginLogic; import net.irext.server.service.cache.IUserAppRepository; @@ -18,8 +19,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; - /** * Filename: SignInServiceImpl.java * Revised: Date: 2017-04-27