updated unix format ending
This commit is contained in:
@@ -1,120 +1,120 @@
|
||||
/**
|
||||
* Created by Strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
// 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');
|
||||
|
||||
// global inclusion
|
||||
require('./mini_poem/configuration/constants');
|
||||
var System = require('./mini_poem/utils/system_utils');
|
||||
var 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();
|
||||
|
||||
SERVER = enums.SERVER_MAIN;
|
||||
|
||||
console.log('Configuring Infrastructure...');
|
||||
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
app.use(bodyParser.json());
|
||||
app.use(methodOverride());
|
||||
// authentication middleware
|
||||
app.use(tokenValidation);
|
||||
app.use("/", express.static(__dirname + '/web/'));
|
||||
systemConfig.setupEnvironment();
|
||||
var 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');
|
||||
|
||||
// kick start the engine
|
||||
System.startupHttp(http, serverListenPort, "irext Console V1.2.7");
|
||||
|
||||
////////////////// authentication middleware //////////////////
|
||||
function tokenValidation (req, res, next) {
|
||||
var bodyParam;
|
||||
var adminID = null;
|
||||
var token = null;
|
||||
bodyParam = req.body;
|
||||
|
||||
if (null != bodyParam) {
|
||||
adminID = bodyParam.admin_id;
|
||||
token = bodyParam.token;
|
||||
}
|
||||
|
||||
if (req.url.indexOf("/irext/int/list_remote_indexes") !== -1) {
|
||||
// override for get method
|
||||
adminID = req.query.admin_id;
|
||||
token = req.query.token;
|
||||
}
|
||||
if (req.url.indexOf("/irext/int/search_remote_indexes") !== -1) {
|
||||
// override for get method
|
||||
adminID = req.query.admin_id;
|
||||
token = req.query.token;
|
||||
}
|
||||
if (req.url.indexOf("/irext/int/download_remote_index") !== -1) {
|
||||
// override for get method
|
||||
adminID = req.query.admin_id;
|
||||
token = req.query.token;
|
||||
}
|
||||
if (req.url.indexOf("/irext/int") !== -1) {
|
||||
var 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 = {
|
||||
status: validateTokenErr,
|
||||
entity: null
|
||||
};
|
||||
res.send(fakeResponse);
|
||||
res.end();
|
||||
} else {
|
||||
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");
|
||||
|
||||
var permissions = "";
|
||||
|
||||
if (-1 !== pageCode) {
|
||||
permissions = ",0";
|
||||
} else if (-1 !== pageDoc) {
|
||||
permissions = ",1";
|
||||
} else if (-1 !== pageStat) {
|
||||
permissions = ",2";
|
||||
}
|
||||
|
||||
certificateLogic.verifyTokenWithPermissionWorkUnit(adminID, token, permissions, function(validateTokenErr) {
|
||||
if(errorCode.SUCCESS.code !== validateTokenErr.code) {
|
||||
res.redirect("/error/auth_error.html");
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Created by Strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
// 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');
|
||||
|
||||
// global inclusion
|
||||
require('./mini_poem/configuration/constants');
|
||||
var System = require('./mini_poem/utils/system_utils');
|
||||
var 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();
|
||||
|
||||
SERVER = enums.SERVER_MAIN;
|
||||
|
||||
console.log('Configuring Infrastructure...');
|
||||
|
||||
app.use(bodyParser.urlencoded({ extended: false }));
|
||||
app.use(bodyParser.json());
|
||||
app.use(methodOverride());
|
||||
// authentication middleware
|
||||
app.use(tokenValidation);
|
||||
app.use("/", express.static(__dirname + '/web/'));
|
||||
systemConfig.setupEnvironment();
|
||||
var 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');
|
||||
|
||||
// kick start the engine
|
||||
System.startupHttp(http, serverListenPort, "irext Console V1.2.7");
|
||||
|
||||
////////////////// authentication middleware //////////////////
|
||||
function tokenValidation (req, res, next) {
|
||||
var bodyParam;
|
||||
var adminID = null;
|
||||
var token = null;
|
||||
bodyParam = req.body;
|
||||
|
||||
if (null != bodyParam) {
|
||||
adminID = bodyParam.admin_id;
|
||||
token = bodyParam.token;
|
||||
}
|
||||
|
||||
if (req.url.indexOf("/irext/int/list_remote_indexes") !== -1) {
|
||||
// override for get method
|
||||
adminID = req.query.admin_id;
|
||||
token = req.query.token;
|
||||
}
|
||||
if (req.url.indexOf("/irext/int/search_remote_indexes") !== -1) {
|
||||
// override for get method
|
||||
adminID = req.query.admin_id;
|
||||
token = req.query.token;
|
||||
}
|
||||
if (req.url.indexOf("/irext/int/download_remote_index") !== -1) {
|
||||
// override for get method
|
||||
adminID = req.query.admin_id;
|
||||
token = req.query.token;
|
||||
}
|
||||
if (req.url.indexOf("/irext/int") !== -1) {
|
||||
var 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 = {
|
||||
status: validateTokenErr,
|
||||
entity: null
|
||||
};
|
||||
res.send(fakeResponse);
|
||||
res.end();
|
||||
} else {
|
||||
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");
|
||||
|
||||
var permissions = "";
|
||||
|
||||
if (-1 !== pageCode) {
|
||||
permissions = ",0";
|
||||
} else if (-1 !== pageDoc) {
|
||||
permissions = ",1";
|
||||
} else if (-1 !== pageStat) {
|
||||
permissions = ",2";
|
||||
}
|
||||
|
||||
certificateLogic.verifyTokenWithPermissionWorkUnit(adminID, token, permissions, function(validateTokenErr) {
|
||||
if(errorCode.SUCCESS.code !== validateTokenErr.code) {
|
||||
res.redirect("/error/auth_error.html");
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
/**
|
||||
* Created by strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
let app = require('../irext_console.js');
|
||||
let authenticationService = require('../services/authentication_service.js');
|
||||
|
||||
app.post('/irext/certificate/admin_login', authenticationService.adminLogin);
|
||||
/**
|
||||
* Created by strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
let app = require('../irext_console.js');
|
||||
let authenticationService = require('../services/authentication_service.js');
|
||||
|
||||
app.post('/irext/certificate/admin_login', authenticationService.adminLogin);
|
||||
app.post('/irext/certificate/token_verify', authenticationService.verifyToken);
|
||||
@@ -1,11 +1,11 @@
|
||||
/**
|
||||
* Created by strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
let server = require('../irext_console.js');
|
||||
|
||||
require('./navigation_routes.js');
|
||||
require('./authentication_routes.js');
|
||||
require('./code_manage_routes.js');
|
||||
/**
|
||||
* Created by strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
let server = require('../irext_console.js');
|
||||
|
||||
require('./navigation_routes.js');
|
||||
require('./authentication_routes.js');
|
||||
require('./code_manage_routes.js');
|
||||
require('./stat_routes.js');
|
||||
@@ -1,57 +1,57 @@
|
||||
/**
|
||||
* Created by strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
// system inclusion
|
||||
let logger = require('../mini_poem/logging/logger4js').helper;
|
||||
|
||||
// local inclusion
|
||||
let ServiceResponse = require('../response/service_response.js');
|
||||
let LoginResponse = require('../response/login_response.js');
|
||||
|
||||
let authenticationLogic = require('../work_unit/authentication_logic.js');
|
||||
|
||||
let Enums = require('../constants/enums');
|
||||
let ErrorCode = require('../constants/error_code');
|
||||
|
||||
|
||||
/*
|
||||
* function : Admin Login
|
||||
* parameter : user_name in request body
|
||||
* password in request body
|
||||
* return : ServiceResponse
|
||||
*/
|
||||
exports.adminLogin = function (req, res) {
|
||||
let admin = req.body;
|
||||
let userName = admin.user_name;
|
||||
let password = admin.password;
|
||||
|
||||
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);
|
||||
res.end();
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
* function : Verify Token
|
||||
* parameter : id parameter of token KV
|
||||
* token parameter of token KV
|
||||
* return : ServiceResponse
|
||||
*/
|
||||
exports.verifyToken = function (req, res) {
|
||||
let bodyParam = req.body;
|
||||
let id = bodyParam.id;
|
||||
let token = bodyParam.token;
|
||||
|
||||
let serviceResponse = new ServiceResponse();
|
||||
authenticationLogic.verifyTokenWorkUnit(id, token, function (verifyTokenErr) {
|
||||
serviceResponse.status = verifyTokenErr;
|
||||
res.send(serviceResponse);
|
||||
res.end();
|
||||
});
|
||||
/**
|
||||
* Created by strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
// system inclusion
|
||||
let logger = require('../mini_poem/logging/logger4js').helper;
|
||||
|
||||
// local inclusion
|
||||
let ServiceResponse = require('../response/service_response.js');
|
||||
let LoginResponse = require('../response/login_response.js');
|
||||
|
||||
let authenticationLogic = require('../work_unit/authentication_logic.js');
|
||||
|
||||
let Enums = require('../constants/enums');
|
||||
let ErrorCode = require('../constants/error_code');
|
||||
|
||||
|
||||
/*
|
||||
* function : Admin Login
|
||||
* parameter : user_name in request body
|
||||
* password in request body
|
||||
* return : ServiceResponse
|
||||
*/
|
||||
exports.adminLogin = function (req, res) {
|
||||
let admin = req.body;
|
||||
let userName = admin.user_name;
|
||||
let password = admin.password;
|
||||
|
||||
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);
|
||||
res.end();
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
* function : Verify Token
|
||||
* parameter : id parameter of token KV
|
||||
* token parameter of token KV
|
||||
* return : ServiceResponse
|
||||
*/
|
||||
exports.verifyToken = function (req, res) {
|
||||
let bodyParam = req.body;
|
||||
let id = bodyParam.id;
|
||||
let token = bodyParam.token;
|
||||
|
||||
let serviceResponse = new ServiceResponse();
|
||||
authenticationLogic.verifyTokenWorkUnit(id, token, function (verifyTokenErr) {
|
||||
serviceResponse.status = verifyTokenErr;
|
||||
res.send(serviceResponse);
|
||||
res.end();
|
||||
});
|
||||
};
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_code": {
|
||||
"title": "控制台",
|
||||
"d_try_index_quit": "退出",
|
||||
"panel_category": "类型",
|
||||
"panel_brand": "品牌",
|
||||
"panel_select_province": "选择省份",
|
||||
"panel_select_city": "选择城市",
|
||||
"d_create_index_title": "新建编码",
|
||||
"d_create_index_priority": "优先排序",
|
||||
"d_create_index_category": "家电类型",
|
||||
"d_create_index_brand": "家电品牌",
|
||||
"d_create_index_province": "选择省份",
|
||||
"d_create_index_city": "选择城市",
|
||||
"d_create_index_sp": "选择SP",
|
||||
"d_create_index_protocol": "编码协议",
|
||||
"d_create_index_subcate": "编码类型",
|
||||
"d_create_index_subcate_binary": "Binary",
|
||||
"d_create_index_subcate_quaternary": "Quaternary",
|
||||
"d_create_index_subcate_hexdecimal": "Hexadecimal",
|
||||
"d_create_index_code_name": "码源名称",
|
||||
"d_create_index_code_file": "码源文件 ",
|
||||
"d_create_index_submit": "提交",
|
||||
"d_create_index_cancel": "取消",
|
||||
"d_search_index_title": "搜索编码",
|
||||
"d_search_index_map": "编码映射",
|
||||
"d_search_index_search": "搜索",
|
||||
"d_search_index_cancel": "取消",
|
||||
"d_delete_index_title": "删除编码",
|
||||
"d_delete_index_delete": "删除",
|
||||
"d_delete_index_cancel": "取消",
|
||||
"d_fallback_index_title": "回退编码",
|
||||
"d_fallback_index_tip": "确认要回退编码到待验证状态吗?",
|
||||
"d_fallback_index_fallback": "确定",
|
||||
"d_fallback_index_cancel": "取消",
|
||||
"d_verify_index_title": "验证编码",
|
||||
"d_verify_index_verify": "确定",
|
||||
"d_verify_index_cancel": "取消",
|
||||
"d_publish_index_title": "发布编码",
|
||||
"d_publish_index_publish": "发布",
|
||||
"d_publish_index_cancel": "取消",
|
||||
"d_submit_index_title": "提交编码文件",
|
||||
"d_submit_index_progress": "正在提交",
|
||||
"d_submit_index_ok": "确定",
|
||||
"d_submit_protocol_title": "提交协议文件",
|
||||
"d_submit_protocol_progress": "正在提交",
|
||||
"d_submit_protocol_ok": "确定",
|
||||
"d_create_brand_title": "创建品牌",
|
||||
"d_create_category": "电器类型",
|
||||
"d_create_brand_name": "品牌名称",
|
||||
"d_create_brand_name_en": "英文名称",
|
||||
"d_create_brand_name_tw": "繁中名称",
|
||||
"d_create_brand_priority": "优先排序",
|
||||
"d_create_brand_ok": "确定创建",
|
||||
"d_create_protocol_title": "创建协议",
|
||||
"d_create_protocol_name": "协议名称",
|
||||
"d_create_protocol_file": "协议文件",
|
||||
"d_create_protocol_type": "协议类型",
|
||||
"d_create_protocol_binary": "Binary",
|
||||
"d_create_protocol_quaternary": "Quaternary",
|
||||
"d_create_protocol_hexadecimal": "Hexadecimal",
|
||||
"d_create_protocol_ok": "确定创建",
|
||||
"d_hint_title": "提示",
|
||||
"d_hint_ok": "确定",
|
||||
"d_panel_category_init": "空调",
|
||||
"d_panel_city_init": "北京市",
|
||||
"d_table_category_cn": "种类",
|
||||
"d_table_brand_cn": "品牌",
|
||||
"d_table_city_cn": "城市",
|
||||
"d_table_operator_cn": "运营商",
|
||||
"d_table_priority_cn": "优先级",
|
||||
"d_table_protocol_cn": "协议",
|
||||
"d_table_remote_cn": "控制码",
|
||||
"d_table_status_cn": "状态",
|
||||
"d_table_contributor_cn": "贡献者",
|
||||
"d_status_published": "已发布",
|
||||
"d_status_to_verify": "待验证",
|
||||
"d_status_passed": "通过",
|
||||
"d_status_failed": "未通过",
|
||||
"d_status_duplicated": "重复",
|
||||
"d_hint_common_select_index": "请先选中一个索引",
|
||||
"d_hint_input_index_name": "请输入编码名称",
|
||||
"d_hint_input_index_file": "请上传编码文件",
|
||||
"d_hint_delete_success": "成功删除索引",
|
||||
"d_hint_delete_failed": "删除索引失败",
|
||||
"d_hint_fallback_success": "成功回退索引",
|
||||
"d_hint_fallback_failed": "回退索引失败",
|
||||
"d_hint_update_success": "成功更新索引",
|
||||
"d_hint_update_failed": "更新索引失败",
|
||||
"d_hint_publishing_brand": "正在发布新增品牌,请稍候...",
|
||||
"d_hint_publishing_index": "正在发布新增编码,请稍候...",
|
||||
"d_hint_publish_success": "编码发布成功",
|
||||
"d_hint_publish_failed": "编码发布失败",
|
||||
"d_hint_create_brand_fill_name": "请填写名称",
|
||||
"d_hint_create_brand_existed": "此项目已存在",
|
||||
"d_hint_create_brand_success": "创建品牌成功",
|
||||
"d_hint_create_brand_failed": "创建品牌失败",
|
||||
"d_hint_create_protocol_fill_name": "请输入协议名称",
|
||||
"d_hint_create_protocol_upload_file": "请上传协议XML文件",
|
||||
"d_hint_init_all_cities": "所有城市",
|
||||
"d_hint_fallback_confirm": "确认要回退",
|
||||
"d_hint_delete_confirm": "确认要删除",
|
||||
"d_pass": "通过",
|
||||
"d_not_pass": "不通过",
|
||||
"d_hint_confirm_to": "确认要",
|
||||
"d_hint_confirm_q": "吗?",
|
||||
"d_hint_publish_totally": "共有",
|
||||
"d_hint_publish_brands_and": " 个品牌,和 ",
|
||||
"d_hint_publish_indexes_to_publish_confirm": " 编码索引待发布,请确认",
|
||||
"d_hint_category_placeholder": "选择类型",
|
||||
"d_hint_province_placeholder": "选择省份",
|
||||
"d_hint_city_placeholder": "选择城市",
|
||||
"d_hint_sp_placeholder": "选择SP",
|
||||
"d_hint_brand_placeholder": "选择品牌"
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_code": {
|
||||
"title": "控制台",
|
||||
"d_try_index_quit": "退出",
|
||||
"panel_category": "类型",
|
||||
"panel_brand": "品牌",
|
||||
"panel_select_province": "选择省份",
|
||||
"panel_select_city": "选择城市",
|
||||
"d_create_index_title": "新建编码",
|
||||
"d_create_index_priority": "优先排序",
|
||||
"d_create_index_category": "家电类型",
|
||||
"d_create_index_brand": "家电品牌",
|
||||
"d_create_index_province": "选择省份",
|
||||
"d_create_index_city": "选择城市",
|
||||
"d_create_index_sp": "选择SP",
|
||||
"d_create_index_protocol": "编码协议",
|
||||
"d_create_index_subcate": "编码类型",
|
||||
"d_create_index_subcate_binary": "Binary",
|
||||
"d_create_index_subcate_quaternary": "Quaternary",
|
||||
"d_create_index_subcate_hexdecimal": "Hexadecimal",
|
||||
"d_create_index_code_name": "码源名称",
|
||||
"d_create_index_code_file": "码源文件 ",
|
||||
"d_create_index_submit": "提交",
|
||||
"d_create_index_cancel": "取消",
|
||||
"d_search_index_title": "搜索编码",
|
||||
"d_search_index_map": "编码映射",
|
||||
"d_search_index_search": "搜索",
|
||||
"d_search_index_cancel": "取消",
|
||||
"d_delete_index_title": "删除编码",
|
||||
"d_delete_index_delete": "删除",
|
||||
"d_delete_index_cancel": "取消",
|
||||
"d_fallback_index_title": "回退编码",
|
||||
"d_fallback_index_tip": "确认要回退编码到待验证状态吗?",
|
||||
"d_fallback_index_fallback": "确定",
|
||||
"d_fallback_index_cancel": "取消",
|
||||
"d_verify_index_title": "验证编码",
|
||||
"d_verify_index_verify": "确定",
|
||||
"d_verify_index_cancel": "取消",
|
||||
"d_publish_index_title": "发布编码",
|
||||
"d_publish_index_publish": "发布",
|
||||
"d_publish_index_cancel": "取消",
|
||||
"d_submit_index_title": "提交编码文件",
|
||||
"d_submit_index_progress": "正在提交",
|
||||
"d_submit_index_ok": "确定",
|
||||
"d_submit_protocol_title": "提交协议文件",
|
||||
"d_submit_protocol_progress": "正在提交",
|
||||
"d_submit_protocol_ok": "确定",
|
||||
"d_create_brand_title": "创建品牌",
|
||||
"d_create_category": "电器类型",
|
||||
"d_create_brand_name": "品牌名称",
|
||||
"d_create_brand_name_en": "英文名称",
|
||||
"d_create_brand_name_tw": "繁中名称",
|
||||
"d_create_brand_priority": "优先排序",
|
||||
"d_create_brand_ok": "确定创建",
|
||||
"d_create_protocol_title": "创建协议",
|
||||
"d_create_protocol_name": "协议名称",
|
||||
"d_create_protocol_file": "协议文件",
|
||||
"d_create_protocol_type": "协议类型",
|
||||
"d_create_protocol_binary": "Binary",
|
||||
"d_create_protocol_quaternary": "Quaternary",
|
||||
"d_create_protocol_hexadecimal": "Hexadecimal",
|
||||
"d_create_protocol_ok": "确定创建",
|
||||
"d_hint_title": "提示",
|
||||
"d_hint_ok": "确定",
|
||||
"d_panel_category_init": "空调",
|
||||
"d_panel_city_init": "北京市",
|
||||
"d_table_category_cn": "种类",
|
||||
"d_table_brand_cn": "品牌",
|
||||
"d_table_city_cn": "城市",
|
||||
"d_table_operator_cn": "运营商",
|
||||
"d_table_priority_cn": "优先级",
|
||||
"d_table_protocol_cn": "协议",
|
||||
"d_table_remote_cn": "控制码",
|
||||
"d_table_status_cn": "状态",
|
||||
"d_table_contributor_cn": "贡献者",
|
||||
"d_status_published": "已发布",
|
||||
"d_status_to_verify": "待验证",
|
||||
"d_status_passed": "通过",
|
||||
"d_status_failed": "未通过",
|
||||
"d_status_duplicated": "重复",
|
||||
"d_hint_common_select_index": "请先选中一个索引",
|
||||
"d_hint_input_index_name": "请输入编码名称",
|
||||
"d_hint_input_index_file": "请上传编码文件",
|
||||
"d_hint_delete_success": "成功删除索引",
|
||||
"d_hint_delete_failed": "删除索引失败",
|
||||
"d_hint_fallback_success": "成功回退索引",
|
||||
"d_hint_fallback_failed": "回退索引失败",
|
||||
"d_hint_update_success": "成功更新索引",
|
||||
"d_hint_update_failed": "更新索引失败",
|
||||
"d_hint_publishing_brand": "正在发布新增品牌,请稍候...",
|
||||
"d_hint_publishing_index": "正在发布新增编码,请稍候...",
|
||||
"d_hint_publish_success": "编码发布成功",
|
||||
"d_hint_publish_failed": "编码发布失败",
|
||||
"d_hint_create_brand_fill_name": "请填写名称",
|
||||
"d_hint_create_brand_existed": "此项目已存在",
|
||||
"d_hint_create_brand_success": "创建品牌成功",
|
||||
"d_hint_create_brand_failed": "创建品牌失败",
|
||||
"d_hint_create_protocol_fill_name": "请输入协议名称",
|
||||
"d_hint_create_protocol_upload_file": "请上传协议XML文件",
|
||||
"d_hint_init_all_cities": "所有城市",
|
||||
"d_hint_fallback_confirm": "确认要回退",
|
||||
"d_hint_delete_confirm": "确认要删除",
|
||||
"d_pass": "通过",
|
||||
"d_not_pass": "不通过",
|
||||
"d_hint_confirm_to": "确认要",
|
||||
"d_hint_confirm_q": "吗?",
|
||||
"d_hint_publish_totally": "共有",
|
||||
"d_hint_publish_brands_and": " 个品牌,和 ",
|
||||
"d_hint_publish_indexes_to_publish_confirm": " 编码索引待发布,请确认",
|
||||
"d_hint_category_placeholder": "选择类型",
|
||||
"d_hint_province_placeholder": "选择省份",
|
||||
"d_hint_city_placeholder": "选择城市",
|
||||
"d_hint_sp_placeholder": "选择SP",
|
||||
"d_hint_brand_placeholder": "选择品牌"
|
||||
}
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_code": {
|
||||
"title": "控制台",
|
||||
"d_try_index_quit": "退出",
|
||||
"panel_category": "类型",
|
||||
"panel_brand": "品牌",
|
||||
"panel_select_province": "选择省份",
|
||||
"panel_select_city": "选择城市",
|
||||
"d_create_index_title": "新建编码",
|
||||
"d_create_index_priority": "优先排序",
|
||||
"d_create_index_category": "家电类型",
|
||||
"d_create_index_brand": "家电品牌",
|
||||
"d_create_index_province": "选择省份",
|
||||
"d_create_index_city": "选择城市",
|
||||
"d_create_index_sp": "选择SP",
|
||||
"d_create_index_protocol": "编码协议",
|
||||
"d_create_index_subcate": "编码类型",
|
||||
"d_create_index_subcate_binary": "Binary",
|
||||
"d_create_index_subcate_quaternary": "Quaternary",
|
||||
"d_create_index_subcate_hexdecimal": "Hexadecimal",
|
||||
"d_create_index_code_name": "码源名称",
|
||||
"d_create_index_code_file": "码源文件 ",
|
||||
"d_create_index_submit": "提交",
|
||||
"d_create_index_cancel": "取消",
|
||||
"d_search_index_title": "搜索编码",
|
||||
"d_search_index_map": "编码映射",
|
||||
"d_search_index_search": "搜索",
|
||||
"d_search_index_cancel": "取消",
|
||||
"d_delete_index_title": "删除编码",
|
||||
"d_delete_index_delete": "删除",
|
||||
"d_delete_index_cancel": "取消",
|
||||
"d_fallback_index_title": "回退编码",
|
||||
"d_fallback_index_tip": "确认要回退编码到待验证状态吗?",
|
||||
"d_fallback_index_fallback": "确定",
|
||||
"d_fallback_index_cancel": "取消",
|
||||
"d_verify_index_title": "验证编码",
|
||||
"d_verify_index_verify": "确定",
|
||||
"d_verify_index_cancel": "取消",
|
||||
"d_publish_index_title": "发布编码",
|
||||
"d_publish_index_publish": "发布",
|
||||
"d_publish_index_cancel": "取消",
|
||||
"d_submit_index_title": "提交编码文件",
|
||||
"d_submit_index_progress": "正在提交",
|
||||
"d_submit_index_ok": "确定",
|
||||
"d_submit_protocol_title": "提交协议文件",
|
||||
"d_submit_protocol_progress": "正在提交",
|
||||
"d_submit_protocol_ok": "确定",
|
||||
"d_create_brand_title": "创建品牌",
|
||||
"d_create_category": "电器类型",
|
||||
"d_create_brand_name": "品牌名称",
|
||||
"d_create_brand_name_en": "英文名称",
|
||||
"d_create_brand_name_tw": "繁中名称",
|
||||
"d_create_brand_priority": "优先排序",
|
||||
"d_create_brand_ok": "确定创建",
|
||||
"d_create_protocol_title": "创建协议",
|
||||
"d_create_protocol_name": "协议名称",
|
||||
"d_create_protocol_file": "协议文件",
|
||||
"d_create_protocol_type": "协议类型",
|
||||
"d_create_protocol_binary": "Binary",
|
||||
"d_create_protocol_quaternary": "Quaternary",
|
||||
"d_create_protocol_hexadecimal": "Hexadecimal",
|
||||
"d_create_protocol_ok": "确定创建",
|
||||
"d_hint_title": "提示",
|
||||
"d_hint_ok": "确定",
|
||||
"d_panel_category_init": "空调",
|
||||
"d_panel_city_init": "北京市",
|
||||
"d_table_category_cn": "种类",
|
||||
"d_table_brand_cn": "品牌",
|
||||
"d_table_city_cn": "城市",
|
||||
"d_table_operator_cn": "运营商",
|
||||
"d_table_priority_cn": "优先级",
|
||||
"d_table_protocol_cn": "协议",
|
||||
"d_table_remote_cn": "控制码",
|
||||
"d_table_status_cn": "状态",
|
||||
"d_table_contributor_cn": "贡献者",
|
||||
"d_status_published": "已发布",
|
||||
"d_status_to_verify": "待验证",
|
||||
"d_status_passed": "通过",
|
||||
"d_status_failed": "未通过",
|
||||
"d_status_duplicated": "重复",
|
||||
"d_hint_common_select_index": "请先选中一个索引",
|
||||
"d_hint_input_index_name": "请输入编码名称",
|
||||
"d_hint_input_index_file": "请上传编码文件",
|
||||
"d_hint_delete_success": "成功删除索引",
|
||||
"d_hint_delete_failed": "删除索引失败",
|
||||
"d_hint_fallback_success": "成功回退索引",
|
||||
"d_hint_fallback_failed": "回退索引失败",
|
||||
"d_hint_update_success": "成功更新索引",
|
||||
"d_hint_update_failed": "更新索引失败",
|
||||
"d_hint_publishing_brand": "正在发布新增品牌,请稍候...",
|
||||
"d_hint_publishing_index": "正在发布新增编码,请稍候...",
|
||||
"d_hint_publish_success": "编码发布成功",
|
||||
"d_hint_publish_failed": "编码发布失败",
|
||||
"d_hint_create_brand_fill_name": "请填写名称",
|
||||
"d_hint_create_brand_existed": "此项目已存在",
|
||||
"d_hint_create_brand_success": "创建品牌成功",
|
||||
"d_hint_create_brand_failed": "创建品牌失败",
|
||||
"d_hint_create_protocol_fill_name": "请输入协议名称",
|
||||
"d_hint_create_protocol_upload_file": "请上传协议XML文件",
|
||||
"d_hint_init_all_cities": "所有城市",
|
||||
"d_hint_fallback_confirm": "确认要回退",
|
||||
"d_hint_delete_confirm": "确认要删除",
|
||||
"d_pass": "通过",
|
||||
"d_not_pass": "不通过",
|
||||
"d_hint_confirm_to": "确认要",
|
||||
"d_hint_confirm_q": "吗?",
|
||||
"d_hint_publish_totally": "共有",
|
||||
"d_hint_publish_brands_and": " 个品牌,和 ",
|
||||
"d_hint_publish_indexes_to_publish_confirm": " 编码索引待发布,请确认",
|
||||
"d_hint_category_placeholder": "选择类型",
|
||||
"d_hint_province_placeholder": "选择省份",
|
||||
"d_hint_city_placeholder": "选择城市",
|
||||
"d_hint_sp_placeholder": "选择SP",
|
||||
"d_hint_brand_placeholder": "选择品牌"
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_code": {
|
||||
"title": "控制台",
|
||||
"d_try_index_quit": "退出",
|
||||
"panel_category": "类型",
|
||||
"panel_brand": "品牌",
|
||||
"panel_select_province": "选择省份",
|
||||
"panel_select_city": "选择城市",
|
||||
"d_create_index_title": "新建编码",
|
||||
"d_create_index_priority": "优先排序",
|
||||
"d_create_index_category": "家电类型",
|
||||
"d_create_index_brand": "家电品牌",
|
||||
"d_create_index_province": "选择省份",
|
||||
"d_create_index_city": "选择城市",
|
||||
"d_create_index_sp": "选择SP",
|
||||
"d_create_index_protocol": "编码协议",
|
||||
"d_create_index_subcate": "编码类型",
|
||||
"d_create_index_subcate_binary": "Binary",
|
||||
"d_create_index_subcate_quaternary": "Quaternary",
|
||||
"d_create_index_subcate_hexdecimal": "Hexadecimal",
|
||||
"d_create_index_code_name": "码源名称",
|
||||
"d_create_index_code_file": "码源文件 ",
|
||||
"d_create_index_submit": "提交",
|
||||
"d_create_index_cancel": "取消",
|
||||
"d_search_index_title": "搜索编码",
|
||||
"d_search_index_map": "编码映射",
|
||||
"d_search_index_search": "搜索",
|
||||
"d_search_index_cancel": "取消",
|
||||
"d_delete_index_title": "删除编码",
|
||||
"d_delete_index_delete": "删除",
|
||||
"d_delete_index_cancel": "取消",
|
||||
"d_fallback_index_title": "回退编码",
|
||||
"d_fallback_index_tip": "确认要回退编码到待验证状态吗?",
|
||||
"d_fallback_index_fallback": "确定",
|
||||
"d_fallback_index_cancel": "取消",
|
||||
"d_verify_index_title": "验证编码",
|
||||
"d_verify_index_verify": "确定",
|
||||
"d_verify_index_cancel": "取消",
|
||||
"d_publish_index_title": "发布编码",
|
||||
"d_publish_index_publish": "发布",
|
||||
"d_publish_index_cancel": "取消",
|
||||
"d_submit_index_title": "提交编码文件",
|
||||
"d_submit_index_progress": "正在提交",
|
||||
"d_submit_index_ok": "确定",
|
||||
"d_submit_protocol_title": "提交协议文件",
|
||||
"d_submit_protocol_progress": "正在提交",
|
||||
"d_submit_protocol_ok": "确定",
|
||||
"d_create_brand_title": "创建品牌",
|
||||
"d_create_category": "电器类型",
|
||||
"d_create_brand_name": "品牌名称",
|
||||
"d_create_brand_name_en": "英文名称",
|
||||
"d_create_brand_name_tw": "繁中名称",
|
||||
"d_create_brand_priority": "优先排序",
|
||||
"d_create_brand_ok": "确定创建",
|
||||
"d_create_protocol_title": "创建协议",
|
||||
"d_create_protocol_name": "协议名称",
|
||||
"d_create_protocol_file": "协议文件",
|
||||
"d_create_protocol_type": "协议类型",
|
||||
"d_create_protocol_binary": "Binary",
|
||||
"d_create_protocol_quaternary": "Quaternary",
|
||||
"d_create_protocol_hexadecimal": "Hexadecimal",
|
||||
"d_create_protocol_ok": "确定创建",
|
||||
"d_hint_title": "提示",
|
||||
"d_hint_ok": "确定",
|
||||
"d_panel_category_init": "空调",
|
||||
"d_panel_city_init": "北京市",
|
||||
"d_table_category_cn": "种类",
|
||||
"d_table_brand_cn": "品牌",
|
||||
"d_table_city_cn": "城市",
|
||||
"d_table_operator_cn": "运营商",
|
||||
"d_table_priority_cn": "优先级",
|
||||
"d_table_protocol_cn": "协议",
|
||||
"d_table_remote_cn": "控制码",
|
||||
"d_table_status_cn": "状态",
|
||||
"d_table_contributor_cn": "贡献者",
|
||||
"d_status_published": "已发布",
|
||||
"d_status_to_verify": "待验证",
|
||||
"d_status_passed": "通过",
|
||||
"d_status_failed": "未通过",
|
||||
"d_status_duplicated": "重复",
|
||||
"d_hint_common_select_index": "请先选中一个索引",
|
||||
"d_hint_input_index_name": "请输入编码名称",
|
||||
"d_hint_input_index_file": "请上传编码文件",
|
||||
"d_hint_delete_success": "成功删除索引",
|
||||
"d_hint_delete_failed": "删除索引失败",
|
||||
"d_hint_fallback_success": "成功回退索引",
|
||||
"d_hint_fallback_failed": "回退索引失败",
|
||||
"d_hint_update_success": "成功更新索引",
|
||||
"d_hint_update_failed": "更新索引失败",
|
||||
"d_hint_publishing_brand": "正在发布新增品牌,请稍候...",
|
||||
"d_hint_publishing_index": "正在发布新增编码,请稍候...",
|
||||
"d_hint_publish_success": "编码发布成功",
|
||||
"d_hint_publish_failed": "编码发布失败",
|
||||
"d_hint_create_brand_fill_name": "请填写名称",
|
||||
"d_hint_create_brand_existed": "此项目已存在",
|
||||
"d_hint_create_brand_success": "创建品牌成功",
|
||||
"d_hint_create_brand_failed": "创建品牌失败",
|
||||
"d_hint_create_protocol_fill_name": "请输入协议名称",
|
||||
"d_hint_create_protocol_upload_file": "请上传协议XML文件",
|
||||
"d_hint_init_all_cities": "所有城市",
|
||||
"d_hint_fallback_confirm": "确认要回退",
|
||||
"d_hint_delete_confirm": "确认要删除",
|
||||
"d_pass": "通过",
|
||||
"d_not_pass": "不通过",
|
||||
"d_hint_confirm_to": "确认要",
|
||||
"d_hint_confirm_q": "吗?",
|
||||
"d_hint_publish_totally": "共有",
|
||||
"d_hint_publish_brands_and": " 个品牌,和 ",
|
||||
"d_hint_publish_indexes_to_publish_confirm": " 编码索引待发布,请确认",
|
||||
"d_hint_category_placeholder": "选择类型",
|
||||
"d_hint_province_placeholder": "选择省份",
|
||||
"d_hint_city_placeholder": "选择城市",
|
||||
"d_hint_sp_placeholder": "选择SP",
|
||||
"d_hint_brand_placeholder": "选择品牌"
|
||||
}
|
||||
}
|
||||
@@ -1,119 +1,119 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_code": {
|
||||
"title": "控制台",
|
||||
"d_try_index_quit": "退出",
|
||||
"panel_category": "类型",
|
||||
"panel_brand": "品牌",
|
||||
"panel_select_province": "选择省份",
|
||||
"panel_select_city": "选择城市",
|
||||
"d_create_index_title": "新建编码",
|
||||
"d_create_index_priority": "优先排序",
|
||||
"d_create_index_category": "家电类型",
|
||||
"d_create_index_brand": "家电品牌",
|
||||
"d_create_index_province": "选择省份",
|
||||
"d_create_index_city": "选择城市",
|
||||
"d_create_index_sp": "选择SP",
|
||||
"d_create_index_protocol": "编码协议",
|
||||
"d_create_index_subcate": "编码类型",
|
||||
"d_create_index_subcate_binary": "Binary",
|
||||
"d_create_index_subcate_quaternary": "Quaternary",
|
||||
"d_create_index_subcate_hexdecimal": "Hexadecimal",
|
||||
"d_create_index_code_name": "码源名称",
|
||||
"d_create_index_code_file": "码源文件 ",
|
||||
"d_create_index_submit": "提交",
|
||||
"d_create_index_cancel": "取消",
|
||||
"d_search_index_title": "搜索编码",
|
||||
"d_search_index_map": "编码映射",
|
||||
"d_search_index_search": "搜索",
|
||||
"d_search_index_cancel": "取消",
|
||||
"d_delete_index_title": "删除编码",
|
||||
"d_delete_index_delete": "删除",
|
||||
"d_delete_index_cancel": "取消",
|
||||
"d_fallback_index_title": "回退编码",
|
||||
"d_fallback_index_tip": "确认要回退编码到待验证状态吗?",
|
||||
"d_fallback_index_fallback": "确定",
|
||||
"d_fallback_index_cancel": "取消",
|
||||
"d_verify_index_title": "验证编码",
|
||||
"d_verify_index_verify": "确定",
|
||||
"d_verify_index_cancel": "取消",
|
||||
"d_publish_index_title": "发布编码",
|
||||
"d_publish_index_publish": "发布",
|
||||
"d_publish_index_cancel": "取消",
|
||||
"d_submit_index_title": "提交编码文件",
|
||||
"d_submit_index_progress": "正在提交",
|
||||
"d_submit_index_ok": "确定",
|
||||
"d_submit_protocol_title": "提交协议文件",
|
||||
"d_submit_protocol_progress": "正在提交",
|
||||
"d_submit_protocol_ok": "确定",
|
||||
"d_create_brand_title": "创建品牌",
|
||||
"d_create_category": "电器类型",
|
||||
"d_create_brand_name": "品牌名称",
|
||||
"d_create_brand_name_en": "英文名称",
|
||||
"d_create_brand_name_tw": "繁中名称",
|
||||
"d_create_brand_priority": "优先排序",
|
||||
"d_create_brand_ok": "确定创建",
|
||||
"d_create_protocol_title": "创建协议",
|
||||
"d_create_protocol_name": "协议名称",
|
||||
"d_create_protocol_file": "协议文件",
|
||||
"d_create_protocol_type": "协议类型",
|
||||
"d_create_protocol_binary": "Binary",
|
||||
"d_create_protocol_quaternary": "Quaternary",
|
||||
"d_create_protocol_hexadecimal": "Hexadecimal",
|
||||
"d_create_protocol_ok": "确定创建",
|
||||
"d_hint_title": "提示",
|
||||
"d_hint_ok": "确定",
|
||||
"d_panel_category_init": "空调",
|
||||
"d_panel_city_init": "北京市",
|
||||
"d_table_category_cn": "种类",
|
||||
"d_table_brand_cn": "品牌",
|
||||
"d_table_city_cn": "城市",
|
||||
"d_table_operator_cn": "运营商",
|
||||
"d_table_priority_cn": "优先级",
|
||||
"d_table_protocol_cn": "协议",
|
||||
"d_table_remote_cn": "控制码",
|
||||
"d_table_status_cn": "状态",
|
||||
"d_table_contributor_cn": "贡献者",
|
||||
"d_status_published": "已发布",
|
||||
"d_status_to_verify": "待验证",
|
||||
"d_status_passed": "通过",
|
||||
"d_status_failed": "未通过",
|
||||
"d_status_duplicated": "重复",
|
||||
"d_hint_common_select_index": "请先选中一个索引",
|
||||
"d_hint_input_index_name": "请输入编码名称",
|
||||
"d_hint_input_index_file": "请上传编码文件",
|
||||
"d_hint_delete_success": "成功删除索引",
|
||||
"d_hint_delete_failed": "删除索引失败",
|
||||
"d_hint_fallback_success": "成功回退索引",
|
||||
"d_hint_fallback_failed": "回退索引失败",
|
||||
"d_hint_update_success": "成功更新索引",
|
||||
"d_hint_update_failed": "更新索引失败",
|
||||
"d_hint_publishing_brand": "正在发布新增品牌,请稍候...",
|
||||
"d_hint_publishing_index": "正在发布新增编码,请稍候...",
|
||||
"d_hint_publish_success": "编码发布成功",
|
||||
"d_hint_publish_failed": "编码发布失败",
|
||||
"d_hint_create_brand_fill_name": "请填写名称",
|
||||
"d_hint_create_brand_existed": "此项目已存在",
|
||||
"d_hint_create_brand_success": "创建品牌成功",
|
||||
"d_hint_create_brand_failed": "创建品牌失败",
|
||||
"d_hint_create_protocol_fill_name": "请输入协议名称",
|
||||
"d_hint_create_protocol_upload_file": "请上传协议XML文件",
|
||||
"d_hint_init_all_cities": "所有城市",
|
||||
"d_hint_fallback_confirm": "确认要回退",
|
||||
"d_hint_delete_confirm": "确认要删除",
|
||||
"d_pass": "通过",
|
||||
"d_not_pass": "不通过",
|
||||
"d_hint_confirm_to": "确认要",
|
||||
"d_hint_confirm_q": "吗?",
|
||||
"d_hint_publish_totally": "共有",
|
||||
"d_hint_publish_brands_and": " 个品牌,和 ",
|
||||
"d_hint_publish_indexes_to_publish_confirm": " 编码索引待发布,请确认",
|
||||
"d_hint_category_placeholder": "选择类型",
|
||||
"d_hint_province_placeholder": "选择省份",
|
||||
"d_hint_city_placeholder": "选择城市",
|
||||
"d_hint_sp_placeholder": "选择SP",
|
||||
"d_hint_brand_placeholder": "选择品牌"
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_code": {
|
||||
"title": "控制台",
|
||||
"d_try_index_quit": "退出",
|
||||
"panel_category": "类型",
|
||||
"panel_brand": "品牌",
|
||||
"panel_select_province": "选择省份",
|
||||
"panel_select_city": "选择城市",
|
||||
"d_create_index_title": "新建编码",
|
||||
"d_create_index_priority": "优先排序",
|
||||
"d_create_index_category": "家电类型",
|
||||
"d_create_index_brand": "家电品牌",
|
||||
"d_create_index_province": "选择省份",
|
||||
"d_create_index_city": "选择城市",
|
||||
"d_create_index_sp": "选择SP",
|
||||
"d_create_index_protocol": "编码协议",
|
||||
"d_create_index_subcate": "编码类型",
|
||||
"d_create_index_subcate_binary": "Binary",
|
||||
"d_create_index_subcate_quaternary": "Quaternary",
|
||||
"d_create_index_subcate_hexdecimal": "Hexadecimal",
|
||||
"d_create_index_code_name": "码源名称",
|
||||
"d_create_index_code_file": "码源文件 ",
|
||||
"d_create_index_submit": "提交",
|
||||
"d_create_index_cancel": "取消",
|
||||
"d_search_index_title": "搜索编码",
|
||||
"d_search_index_map": "编码映射",
|
||||
"d_search_index_search": "搜索",
|
||||
"d_search_index_cancel": "取消",
|
||||
"d_delete_index_title": "删除编码",
|
||||
"d_delete_index_delete": "删除",
|
||||
"d_delete_index_cancel": "取消",
|
||||
"d_fallback_index_title": "回退编码",
|
||||
"d_fallback_index_tip": "确认要回退编码到待验证状态吗?",
|
||||
"d_fallback_index_fallback": "确定",
|
||||
"d_fallback_index_cancel": "取消",
|
||||
"d_verify_index_title": "验证编码",
|
||||
"d_verify_index_verify": "确定",
|
||||
"d_verify_index_cancel": "取消",
|
||||
"d_publish_index_title": "发布编码",
|
||||
"d_publish_index_publish": "发布",
|
||||
"d_publish_index_cancel": "取消",
|
||||
"d_submit_index_title": "提交编码文件",
|
||||
"d_submit_index_progress": "正在提交",
|
||||
"d_submit_index_ok": "确定",
|
||||
"d_submit_protocol_title": "提交协议文件",
|
||||
"d_submit_protocol_progress": "正在提交",
|
||||
"d_submit_protocol_ok": "确定",
|
||||
"d_create_brand_title": "创建品牌",
|
||||
"d_create_category": "电器类型",
|
||||
"d_create_brand_name": "品牌名称",
|
||||
"d_create_brand_name_en": "英文名称",
|
||||
"d_create_brand_name_tw": "繁中名称",
|
||||
"d_create_brand_priority": "优先排序",
|
||||
"d_create_brand_ok": "确定创建",
|
||||
"d_create_protocol_title": "创建协议",
|
||||
"d_create_protocol_name": "协议名称",
|
||||
"d_create_protocol_file": "协议文件",
|
||||
"d_create_protocol_type": "协议类型",
|
||||
"d_create_protocol_binary": "Binary",
|
||||
"d_create_protocol_quaternary": "Quaternary",
|
||||
"d_create_protocol_hexadecimal": "Hexadecimal",
|
||||
"d_create_protocol_ok": "确定创建",
|
||||
"d_hint_title": "提示",
|
||||
"d_hint_ok": "确定",
|
||||
"d_panel_category_init": "空调",
|
||||
"d_panel_city_init": "北京市",
|
||||
"d_table_category_cn": "种类",
|
||||
"d_table_brand_cn": "品牌",
|
||||
"d_table_city_cn": "城市",
|
||||
"d_table_operator_cn": "运营商",
|
||||
"d_table_priority_cn": "优先级",
|
||||
"d_table_protocol_cn": "协议",
|
||||
"d_table_remote_cn": "控制码",
|
||||
"d_table_status_cn": "状态",
|
||||
"d_table_contributor_cn": "贡献者",
|
||||
"d_status_published": "已发布",
|
||||
"d_status_to_verify": "待验证",
|
||||
"d_status_passed": "通过",
|
||||
"d_status_failed": "未通过",
|
||||
"d_status_duplicated": "重复",
|
||||
"d_hint_common_select_index": "请先选中一个索引",
|
||||
"d_hint_input_index_name": "请输入编码名称",
|
||||
"d_hint_input_index_file": "请上传编码文件",
|
||||
"d_hint_delete_success": "成功删除索引",
|
||||
"d_hint_delete_failed": "删除索引失败",
|
||||
"d_hint_fallback_success": "成功回退索引",
|
||||
"d_hint_fallback_failed": "回退索引失败",
|
||||
"d_hint_update_success": "成功更新索引",
|
||||
"d_hint_update_failed": "更新索引失败",
|
||||
"d_hint_publishing_brand": "正在发布新增品牌,请稍候...",
|
||||
"d_hint_publishing_index": "正在发布新增编码,请稍候...",
|
||||
"d_hint_publish_success": "编码发布成功",
|
||||
"d_hint_publish_failed": "编码发布失败",
|
||||
"d_hint_create_brand_fill_name": "请填写名称",
|
||||
"d_hint_create_brand_existed": "此项目已存在",
|
||||
"d_hint_create_brand_success": "创建品牌成功",
|
||||
"d_hint_create_brand_failed": "创建品牌失败",
|
||||
"d_hint_create_protocol_fill_name": "请输入协议名称",
|
||||
"d_hint_create_protocol_upload_file": "请上传协议XML文件",
|
||||
"d_hint_init_all_cities": "所有城市",
|
||||
"d_hint_fallback_confirm": "确认要回退",
|
||||
"d_hint_delete_confirm": "确认要删除",
|
||||
"d_pass": "通过",
|
||||
"d_not_pass": "不通过",
|
||||
"d_hint_confirm_to": "确认要",
|
||||
"d_hint_confirm_q": "吗?",
|
||||
"d_hint_publish_totally": "共有",
|
||||
"d_hint_publish_brands_and": " 个品牌,和 ",
|
||||
"d_hint_publish_indexes_to_publish_confirm": " 编码索引待发布,请确认",
|
||||
"d_hint_category_placeholder": "选择类型",
|
||||
"d_hint_province_placeholder": "选择省份",
|
||||
"d_hint_city_placeholder": "选择城市",
|
||||
"d_hint_sp_placeholder": "选择SP",
|
||||
"d_hint_brand_placeholder": "选择品牌"
|
||||
}
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "控制台错误",
|
||||
"title_confirm_pw": "确认密码",
|
||||
"auth_error": "认证错误",
|
||||
"access_after_login": "请在登录之后访问",
|
||||
"access_to_console": "访问控制台",
|
||||
"change_pw": "修改密码",
|
||||
"register": "用户注册",
|
||||
"change_pw_success": "修改密码成功,请牢记您的新密码:",
|
||||
"change_pw_fail": "未能成功修改密码",
|
||||
"register_success": "注册用户成功,请牢记您的新密码:",
|
||||
"register_fail": "未能成功注册用户"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "控制台错误",
|
||||
"title_confirm_pw": "确认密码",
|
||||
"auth_error": "认证错误",
|
||||
"access_after_login": "请在登录之后访问",
|
||||
"access_to_console": "访问控制台",
|
||||
"change_pw": "修改密码",
|
||||
"register": "用户注册",
|
||||
"change_pw_success": "修改密码成功,请牢记您的新密码:",
|
||||
"change_pw_fail": "未能成功修改密码",
|
||||
"register_success": "注册用户成功,请牢记您的新密码:",
|
||||
"register_fail": "未能成功注册用户"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "Console Error",
|
||||
"title_confirm_pw": "Confirm Password",
|
||||
"auth_error": "Authentication Error",
|
||||
"access_after_login": "Please access to console after sign in",
|
||||
"access_to_console": "Access to console",
|
||||
"change_pw": "Change password",
|
||||
"register": "Register",
|
||||
"change_pw_success": "Password has been changed, please keep it firmly : ",
|
||||
"change_pw_fail": "Failed to change password",
|
||||
"register_success": "User has been registered, please keep the password firmly : ",
|
||||
"register_fail": "Failed to register user"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "Console Error",
|
||||
"title_confirm_pw": "Confirm Password",
|
||||
"auth_error": "Authentication Error",
|
||||
"access_after_login": "Please access to console after sign in",
|
||||
"access_to_console": "Access to console",
|
||||
"change_pw": "Change password",
|
||||
"register": "Register",
|
||||
"change_pw_success": "Password has been changed, please keep it firmly : ",
|
||||
"change_pw_fail": "Failed to change password",
|
||||
"register_success": "User has been registered, please keep the password firmly : ",
|
||||
"register_fail": "Failed to register user"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "Console Error",
|
||||
"title_confirm_pw": "Confirm Password",
|
||||
"auth_error": "Authentication Error",
|
||||
"access_after_login": "Please access to console after sign in",
|
||||
"access_to_console": "Access to console",
|
||||
"change_pw": "Change password",
|
||||
"register": "Register",
|
||||
"change_pw_success": "Password has been changed, please keep it firmly : ",
|
||||
"change_pw_fail": "Failed to change password",
|
||||
"register_success": "User has been registered, please keep the password firmly : ",
|
||||
"register_fail": "Failed to register user"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "Console Error",
|
||||
"title_confirm_pw": "Confirm Password",
|
||||
"auth_error": "Authentication Error",
|
||||
"access_after_login": "Please access to console after sign in",
|
||||
"access_to_console": "Access to console",
|
||||
"change_pw": "Change password",
|
||||
"register": "Register",
|
||||
"change_pw_success": "Password has been changed, please keep it firmly : ",
|
||||
"change_pw_fail": "Failed to change password",
|
||||
"register_success": "User has been registered, please keep the password firmly : ",
|
||||
"register_fail": "Failed to register user"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "控制台错误",
|
||||
"title_confirm_pw": "确认密码",
|
||||
"auth_error": "认证错误",
|
||||
"access_after_login": "请在登录之后访问",
|
||||
"access_to_console": "访问控制台",
|
||||
"change_pw": "修改密码",
|
||||
"register": "用户注册",
|
||||
"change_pw_success": "修改密码成功,请牢记您的新密码:",
|
||||
"change_pw_fail": "未能成功修改密码",
|
||||
"register_success": "注册用户成功,请牢记您的新密码:",
|
||||
"register_fail": "未能成功注册用户"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "控制台错误",
|
||||
"title_confirm_pw": "确认密码",
|
||||
"auth_error": "认证错误",
|
||||
"access_after_login": "请在登录之后访问",
|
||||
"access_to_console": "访问控制台",
|
||||
"change_pw": "修改密码",
|
||||
"register": "用户注册",
|
||||
"change_pw_success": "修改密码成功,请牢记您的新密码:",
|
||||
"change_pw_fail": "未能成功修改密码",
|
||||
"register_success": "注册用户成功,请牢记您的新密码:",
|
||||
"register_fail": "未能成功注册用户"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "控制台错误",
|
||||
"title_confirm_pw": "确认密码",
|
||||
"auth_error": "认证错误",
|
||||
"access_after_login": "请在登录之后访问",
|
||||
"access_to_console": "访问控制台",
|
||||
"change_pw": "修改密码",
|
||||
"register": "用户注册",
|
||||
"change_pw_success": "修改密码成功,请牢记您的新密码:",
|
||||
"change_pw_fail": "未能成功修改密码",
|
||||
"register_success": "注册用户成功,请牢记您的新密码:",
|
||||
"register_fail": "未能成功注册用户"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_error": {
|
||||
"title_error": "控制台错误",
|
||||
"title_confirm_pw": "确认密码",
|
||||
"auth_error": "认证错误",
|
||||
"access_after_login": "请在登录之后访问",
|
||||
"access_to_console": "访问控制台",
|
||||
"change_pw": "修改密码",
|
||||
"register": "用户注册",
|
||||
"change_pw_success": "修改密码成功,请牢记您的新密码:",
|
||||
"change_pw_fail": "未能成功修改密码",
|
||||
"register_success": "注册用户成功,请牢记您的新密码:",
|
||||
"register_fail": "未能成功注册用户"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext 本地控制台 - 1.2.7",
|
||||
"d_signin_title": "登入",
|
||||
"d_signin_email": "邮箱地址",
|
||||
"d_signin_password": "密码",
|
||||
"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_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收",
|
||||
"d_signup_email_occupied": "这个邮件地址已经被使用",
|
||||
"d_signin_fill_email_pw": "请填写邮件地址和密码",
|
||||
"d_signin_fill_email": "请填写邮件地址",
|
||||
"d_signup_email_failed": "申请密码修改失败,请确认您是合法人员,且邮箱地址无误"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext 本地控制台 - 1.2.7",
|
||||
"d_signin_title": "登入",
|
||||
"d_signin_email": "邮箱地址",
|
||||
"d_signin_password": "密码",
|
||||
"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_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收",
|
||||
"d_signup_email_occupied": "这个邮件地址已经被使用",
|
||||
"d_signin_fill_email_pw": "请填写邮件地址和密码",
|
||||
"d_signin_fill_email": "请填写邮件地址",
|
||||
"d_signup_email_failed": "申请密码修改失败,请确认您是合法人员,且邮箱地址无误"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext Local Console - 1.2.7",
|
||||
"d_signin_title": "Sign in",
|
||||
"d_signin_email": "Email",
|
||||
"d_signin_password": "Password",
|
||||
"d_signin_signin": "Sign in",
|
||||
"d_changepw_title": "Reset PW",
|
||||
"d_changepw_hint": "A new password will be generated and an email will be sent to your mail box, confirm it ?",
|
||||
"d_changepw_confirm": "OK",
|
||||
"d_changepw_cancel": "Cancel",
|
||||
"common_signout": "Sign out",
|
||||
"d_signin_success": "Sign in successfully, redirecting to console in 3 seconds",
|
||||
"d_signin_failed": "Failed to sign in, please check your email and password",
|
||||
"d_signup_email_sent": "New password is sent to your email, please check",
|
||||
"d_signup_email_occupied": "This email address is already in use",
|
||||
"d_signin_fill_email_pw": "Please fill email and password",
|
||||
"d_signin_fill_email": "Please fill email",
|
||||
"d_signup_email_failed": "Failed to reset password, please check your email address"
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext Local Console - 1.2.7",
|
||||
"d_signin_title": "Sign in",
|
||||
"d_signin_email": "Email",
|
||||
"d_signin_password": "Password",
|
||||
"d_signin_signin": "Sign in",
|
||||
"d_changepw_title": "Reset PW",
|
||||
"d_changepw_hint": "A new password will be generated and an email will be sent to your mail box, confirm it ?",
|
||||
"d_changepw_confirm": "OK",
|
||||
"d_changepw_cancel": "Cancel",
|
||||
"common_signout": "Sign out",
|
||||
"d_signin_success": "Sign in successfully, redirecting to console in 3 seconds",
|
||||
"d_signin_failed": "Failed to sign in, please check your email and password",
|
||||
"d_signup_email_sent": "New password is sent to your email, please check",
|
||||
"d_signup_email_occupied": "This email address is already in use",
|
||||
"d_signin_fill_email_pw": "Please fill email and password",
|
||||
"d_signin_fill_email": "Please fill email",
|
||||
"d_signup_email_failed": "Failed to reset password, please check your email address"
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext Local Console - 1.2.7",
|
||||
"d_signin_title": "Sign in",
|
||||
"d_signin_email": "Email",
|
||||
"d_signin_password": "Password",
|
||||
"d_signin_signin": "Sign in",
|
||||
"d_changepw_title": "Reset PW",
|
||||
"d_changepw_hint": "A new password will be generated and an email will be sent to your mail box, confirm it ?",
|
||||
"d_changepw_confirm": "OK",
|
||||
"d_changepw_cancel": "Cancel",
|
||||
"common_signout": "Sign out",
|
||||
"d_signin_success": "Sign in successfully, redirecting to console in 3 seconds",
|
||||
"d_signin_failed": "Failed to sign in, please check your email and password",
|
||||
"d_signup_email_sent": "New password is sent to your email, please check",
|
||||
"d_signup_email_occupied": "This email address is already in use",
|
||||
"d_signin_fill_email_pw": "Please fill email and password",
|
||||
"d_signin_fill_email": "Please fill email",
|
||||
"d_signup_email_failed": "Failed to reset password, please check your email address"
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext Local Console - 1.2.7",
|
||||
"d_signin_title": "Sign in",
|
||||
"d_signin_email": "Email",
|
||||
"d_signin_password": "Password",
|
||||
"d_signin_signin": "Sign in",
|
||||
"d_changepw_title": "Reset PW",
|
||||
"d_changepw_hint": "A new password will be generated and an email will be sent to your mail box, confirm it ?",
|
||||
"d_changepw_confirm": "OK",
|
||||
"d_changepw_cancel": "Cancel",
|
||||
"common_signout": "Sign out",
|
||||
"d_signin_success": "Sign in successfully, redirecting to console in 3 seconds",
|
||||
"d_signin_failed": "Failed to sign in, please check your email and password",
|
||||
"d_signup_email_sent": "New password is sent to your email, please check",
|
||||
"d_signup_email_occupied": "This email address is already in use",
|
||||
"d_signin_fill_email_pw": "Please fill email and password",
|
||||
"d_signin_fill_email": "Please fill email",
|
||||
"d_signup_email_failed": "Failed to reset password, please check your email address"
|
||||
}
|
||||
}
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext 本地控制台 - 1.2.7",
|
||||
"d_signin_title": "登入",
|
||||
"d_signin_email": "邮箱地址",
|
||||
"d_signin_password": "密码",
|
||||
"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_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收",
|
||||
"d_signup_email_occupied": "这个邮件地址已经被使用",
|
||||
"d_signin_fill_email_pw": "请填写邮件地址和密码",
|
||||
"d_signin_fill_email": "请填写邮件地址",
|
||||
"d_signup_email_failed": "申请密码修改失败,请确认您是合法人员,且邮箱地址无误"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext 本地控制台 - 1.2.7",
|
||||
"d_signin_title": "登入",
|
||||
"d_signin_email": "邮箱地址",
|
||||
"d_signin_password": "密码",
|
||||
"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_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收",
|
||||
"d_signup_email_occupied": "这个邮件地址已经被使用",
|
||||
"d_signin_fill_email_pw": "请填写邮件地址和密码",
|
||||
"d_signin_fill_email": "请填写邮件地址",
|
||||
"d_signup_email_failed": "申请密码修改失败,请确认您是合法人员,且邮箱地址无误"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext 本地控制台 - 1.2.7",
|
||||
"d_signin_title": "登入",
|
||||
"d_signin_email": "邮箱地址",
|
||||
"d_signin_password": "密码",
|
||||
"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_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收",
|
||||
"d_signup_email_occupied": "这个邮件地址已经被使用",
|
||||
"d_signin_fill_email_pw": "请填写邮件地址和密码",
|
||||
"d_signin_fill_email": "请填写邮件地址",
|
||||
"d_signup_email_failed": "申请密码修改失败,请确认您是合法人员,且邮箱地址无误"
|
||||
}
|
||||
}
|
||||
{
|
||||
"app": {
|
||||
"name": "IRext"
|
||||
},
|
||||
"page_index": {
|
||||
"title": "IRext 本地控制台 - 1.2.7",
|
||||
"d_signin_title": "登入",
|
||||
"d_signin_email": "邮箱地址",
|
||||
"d_signin_password": "密码",
|
||||
"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_signup_email_sent": "带有新密码的邮件已经发送到您的邮箱,请注意查收",
|
||||
"d_signup_email_occupied": "这个邮件地址已经被使用",
|
||||
"d_signin_fill_email_pw": "请填写邮件地址和密码",
|
||||
"d_signin_fill_email": "请填写邮件地址",
|
||||
"d_signup_email_failed": "申请密码修改失败,请确认您是合法人员,且邮箱地址无误"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,97 +1,97 @@
|
||||
/**
|
||||
* Created by Strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
require('../mini_poem/configuration/constants');
|
||||
|
||||
let AdminAuth = require('../authentication/admin_auth.js');
|
||||
let RequestSender = require('../mini_poem/http/request.js');
|
||||
|
||||
let ErrorCode = require('../constants/error_code.js');
|
||||
let logger = require('../mini_poem/logging/logger4js').helper;
|
||||
|
||||
let errorCode = new ErrorCode();
|
||||
|
||||
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 =
|
||||
new RequestSender(EXTERNAL_SERVER_ADDRESS,
|
||||
EXTERNAL_SERVER_PORT,
|
||||
SIGN_IN_SERVICE,
|
||||
queryParams);
|
||||
|
||||
let signinInfo = {
|
||||
userName : userName,
|
||||
password : password
|
||||
};
|
||||
requestSender.sendPostRequest(signinInfo,
|
||||
function(signInRequestErr, signInResponse) {
|
||||
if (signInRequestErr === errorCode.SUCCESS.code && null != signInResponse) {
|
||||
let resp = JSON.parse(signInResponse);
|
||||
if (undefined !== resp.entity) {
|
||||
let admin = resp.entity;
|
||||
let token,
|
||||
key,
|
||||
ttl = 24 * 60 * 60 * 14,
|
||||
timeStamp,
|
||||
name;
|
||||
timeStamp = new Date().getTime();
|
||||
token = admin.token;
|
||||
key = "admin_" + admin.id;
|
||||
adminAuth.setAuthInfo(key, token, ttl, function(setAdminAuthErr) {
|
||||
if (errorCode.SUCCESS.code === setAdminAuthErr.code) {
|
||||
key = "admin_name_" + admin.id;
|
||||
name = admin.user_name;
|
||||
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 {
|
||||
logger.error("admin sign in failed");
|
||||
callback(errorCode.FAILED, null);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
exports.verifyTokenWorkUnit = function (id, token, callback) {
|
||||
let key = "admin_" + id;
|
||||
adminAuth.validateAuthInfo(key, token, function(validateAdminAuthErr, result) {
|
||||
if (validateAdminAuthErr.code !== errorCode.SUCCESS.code) {
|
||||
logger.info("token validation failed");
|
||||
}
|
||||
callback(validateAdminAuthErr);
|
||||
});
|
||||
};
|
||||
|
||||
exports.verifyTokenWithPermissionWorkUnit = function (id, token, permissions, callback) {
|
||||
let key = "admin_" + id;
|
||||
adminAuth.validateAuthInfo(key, token, function(validateAdminAuthErr, result) {
|
||||
if (validateAdminAuthErr.code === errorCode.SUCCESS.code) {
|
||||
logger.info("token validation successfully");
|
||||
if (undefined !== result && null !== result && "" !== result) {
|
||||
if (result.indexOf(permissions) !== -1) {
|
||||
callback(errorCode.SUCCESS);
|
||||
} else {
|
||||
logger.info("permission do not match");
|
||||
callback(errorCode.AUTHENTICATION_FAILURE);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logger.info("token validation failed");
|
||||
callback(validateAdminAuthErr);
|
||||
}
|
||||
});
|
||||
/**
|
||||
* Created by Strawmanbobi
|
||||
* 2016-11-27
|
||||
*/
|
||||
|
||||
require('../mini_poem/configuration/constants');
|
||||
|
||||
let AdminAuth = require('../authentication/admin_auth.js');
|
||||
let RequestSender = require('../mini_poem/http/request.js');
|
||||
|
||||
let ErrorCode = require('../constants/error_code.js');
|
||||
let logger = require('../mini_poem/logging/logger4js').helper;
|
||||
|
||||
let errorCode = new ErrorCode();
|
||||
|
||||
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 =
|
||||
new RequestSender(EXTERNAL_SERVER_ADDRESS,
|
||||
EXTERNAL_SERVER_PORT,
|
||||
SIGN_IN_SERVICE,
|
||||
queryParams);
|
||||
|
||||
let signinInfo = {
|
||||
userName : userName,
|
||||
password : password
|
||||
};
|
||||
requestSender.sendPostRequest(signinInfo,
|
||||
function(signInRequestErr, signInResponse) {
|
||||
if (signInRequestErr === errorCode.SUCCESS.code && null != signInResponse) {
|
||||
let resp = JSON.parse(signInResponse);
|
||||
if (undefined !== resp.entity) {
|
||||
let admin = resp.entity;
|
||||
let token,
|
||||
key,
|
||||
ttl = 24 * 60 * 60 * 14,
|
||||
timeStamp,
|
||||
name;
|
||||
timeStamp = new Date().getTime();
|
||||
token = admin.token;
|
||||
key = "admin_" + admin.id;
|
||||
adminAuth.setAuthInfo(key, token, ttl, function(setAdminAuthErr) {
|
||||
if (errorCode.SUCCESS.code === setAdminAuthErr.code) {
|
||||
key = "admin_name_" + admin.id;
|
||||
name = admin.user_name;
|
||||
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 {
|
||||
logger.error("admin sign in failed");
|
||||
callback(errorCode.FAILED, null);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
exports.verifyTokenWorkUnit = function (id, token, callback) {
|
||||
let key = "admin_" + id;
|
||||
adminAuth.validateAuthInfo(key, token, function(validateAdminAuthErr, result) {
|
||||
if (validateAdminAuthErr.code !== errorCode.SUCCESS.code) {
|
||||
logger.info("token validation failed");
|
||||
}
|
||||
callback(validateAdminAuthErr);
|
||||
});
|
||||
};
|
||||
|
||||
exports.verifyTokenWithPermissionWorkUnit = function (id, token, permissions, callback) {
|
||||
let key = "admin_" + id;
|
||||
adminAuth.validateAuthInfo(key, token, function(validateAdminAuthErr, result) {
|
||||
if (validateAdminAuthErr.code === errorCode.SUCCESS.code) {
|
||||
logger.info("token validation successfully");
|
||||
if (undefined !== result && null !== result && "" !== result) {
|
||||
if (result.indexOf(permissions) !== -1) {
|
||||
callback(errorCode.SUCCESS);
|
||||
} else {
|
||||
logger.info("permission do not match");
|
||||
callback(errorCode.AUTHENTICATION_FAILURE);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
logger.info("token validation failed");
|
||||
callback(validateAdminAuthErr);
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user