completed foreground i18n for private console

This commit is contained in:
strawmanbobi
2020-06-13 21:32:37 +08:00
parent 59153238f2
commit 7fc902a540
19 changed files with 1167 additions and 458 deletions

View File

@@ -170,38 +170,12 @@ RemoteIndex.updateRemoteIndex = function(remoteIndexID, newRemoteIndex, callback
} else {
var date = dateUtils.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss");
logger.info("get remoteIndex by ID successfully in update remote index");
/*
remoteIndex.name = newRemoteIndex.name;
remoteIndex.category_id = newRemoteIndex.category_id;
remoteIndex.category_name = newRemoteIndex.category_name;
remoteIndex.brand_id = newRemoteIndex.brand_id;
remoteIndex.brand_name = newRemoteIndex.brand_name;
remoteIndex.city_code = newRemoteIndex.city_code;
remoteIndex.city_name = newRemoteIndex.city_name;
remoteIndex.operator_id = newRemoteIndex.operator_id;
remoteIndex.operator_name = newRemoteIndex.operator_name;
remoteIndex.protocol = newRemoteIndex.protocol;
remoteIndex.remote = newRemoteIndex.remote;
remoteIndex.remote_map = newRemoteIndex.remote_map;
remoteIndex.priority = newRemoteIndex.priority;
remoteIndex.status = enums.ITEM_VERIFY;
remoteIndex.sub_cate = newRemoteIndex.sub_cate;
remoteIndex.remote_number = newRemoteIndex.remote_number;
remoteIndex.operator_name_tw = newRemoteIndex.operator_name_tw;
remoteIndex.category_name_tw = newRemoteIndex.category_name_tw;
remoteIndex.brand_name_tw = newRemoteIndex.brand_name_tw;
remoteIndex.city_name_tw = newRemoteIndex.city_name_tw;
remoteIndex.binary_md5 = newRemoteIndex.binary_md5;
remoteIndex.contributor = newRemoteIndex.contributor;
remoteIndex.update_time = date;
*/
for (var prop in remoteIndex) {
if (undefined != newRemoteIndex[prop] && null != newRemoteIndex[prop]) {
remoteIndex[prop] = newRemoteIndex[prop];
}
}
remoteIndex.update_time = data;
remoteIndex.update_time = date;
remoteIndex.save(function(error, updatedRemoteIndex) {
if(error) {

View File

@@ -8,7 +8,7 @@
<meta name="screen-orientation" content="portrait">
<meta name="description" content="irext application">
<meta name="author" content="strawmanbobi">
<title>IRext 本地控制台</title>
<title data-i18n="page_code.title">控制台</title>
<link rel="stylesheet" href="../public_js/bower_components/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="../public_js/bower_components/toastr/toastr.min.css">
@@ -17,15 +17,15 @@
<link rel="stylesheet" href="../public_js/bower_components/bootstrap-multiselect/dist/css/bootstrap-multiselect.css">
<link rel="stylesheet" href="css/code_index.css">
</head>
<body>
<body class="page_code">
<div class="navbar container">
<div class="header clearfix">
<nav>
<ul class="nav nav-pills pull-right">
<li role="presentation"><a href="#" onclick="gotoIndex();">退出</a></li>
<li role="presentation"><a href="#" data-i18n="page_code.d_try_index_quit" onclick="gotoIndex();">退出</a></li>
</ul>
</nav>
<h3>IRext 本地控制台</h3>
<h3 data-i18n="page_code.title">控制台</h3>
</div>
</div>
<div class="container">
@@ -33,27 +33,27 @@
<div class="row">
<div class="col-lg-6">
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">类型</span>
<span class="input-group-addon" data-i18n="page_code.panel_category">类型</span>
<select id="filter_category_id" name="filter_category_id" class="input-group-addon" onchange="onFilterCategoryChange();" style="width: 100%;">
</select>
</div>
<br>
<div class="input-group" id="filter_brand_panel" style="max-height: 25px;">
<span class="input-group-addon">品牌</span>
<span class="input-group-addon" data-i18n="page_code.panel_brand">品牌</span>
<select id="filter_brand_id" name="filter_brand_id" class="input-group-addon" onchange="onFilterBrandChange();" style="width: 100%;">
</select>
</div>
</div>
<div class="col-lg-6">
<div class="input-group" id="filter_province_panel" style="max-height: 25px; display: none;">
<span class="input-group-addon">选择省份</span>
<span class="input-group-addon" data-i18n="page_code.panel_select_province">选择省份</span>
<select id="filter_province_id" name="filter_province_id" onchange="onFilterProvinceChange();" style="width: 100%;">
</select>
<!-- <span class="input-group-addon pointer">+</span> -->
</div>
<br>
<div class="input-group" id="filter_city_panel" style="max-height: 25px; display: none;">
<span class="input-group-addon">选择城市</span>
<span class="input-group-addon" data-i18n="page_code.panel_select_city">选择城市</span>
<select id="filter_city_code" name="filter_city_code" onchange="onFilterCityChange();" style="width: 100%;">
</select>
<!-- <span class="input-group-addon pointer">+</span> -->
@@ -101,7 +101,7 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">新建编码</h4>
<h4 class="modal-title" data-i18n="page_code.d_create_index_title">新建编码</h4>
</div>
<div class="modal-body">
<div class="row marketing">
@@ -109,7 +109,7 @@
action="/irext/int/create_remote_index" target="post_iframe">
<div class="col-lg-6">
<div class="input-group">
<span class="input-group-addon">优先排序</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_priority">优先排序</span>
<input type="text" data-ride="spinner" id="spinner" name="priority"
class="form-control input-number" value="1" data-min="1" data-max="999">
<span class="input-group-btn" style="border-radius: 0;">
@@ -127,7 +127,7 @@
</div>
<br>
<div class="input-group">
<span class="input-group-addon">家电类型</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_category">家电类型</span>
<select id="category_id" name="category_id" class="input-group-addon" onchange="onCategoryChange();" style="width: 100%;">
</select>
<input type="hidden" id="category_name" name="category_name">
@@ -136,7 +136,7 @@
</div>
<br>
<div class="input-group" id="brand_panel">
<span class="input-group-addon">家电品牌</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_brand">家电品牌</span>
<select id="brand_id" name="brand_id" class="input-group-addon" onchange="onBrandChange();" style="width: 100%; border-radius: 0;">
</select>
<input type="hidden" id="brand_name" name="brand_name">
@@ -144,7 +144,7 @@
<span class="input-group-addon pointer glyphicon-plus" onclick="onCreateBrand();"></span>
</div>
<div class="input-group" id="province_panel" style="display: none;">
<span class="input-group-addon">选择省份</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_province">选择省份</span>
<select id="province_id" name="province_id" onchange="onProvinceChange();" style="width: 100%;">
</select>
<!-- <span class="input-group-addon pointer">+</span> -->
@@ -152,7 +152,8 @@
<br>
<div id="city_panel" style="display: none;">
<div class="input-group">
<span class="input-group-addon" style="cursor: pointer;" onclick="discoverCityCode();">选择城市</span>
<span class="input-group-addon" style="cursor: pointer;" data-i18n="page_code.d_create_index_city"
onclick="discoverCityCode();">选择城市</span>
<select id="city_code" name="city_code" onchange="onCityChange();" style="width: 100%;">
</select>
<input type="hidden" id="city_name" name="city_name">
@@ -163,7 +164,7 @@
</div>
<div id="operator_panel" style="display: none;">
<div class="input-group">
<span class="input-group-addon">选择SP&nbsp;&nbsp;</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_sp">选择SP&nbsp;&nbsp;</span>
<select id="operator_id" name="operator_id" onchange="onOperatorChange();" style="width: 100%;">
</select>
<input type="hidden" id="operator_name" name="operator_name">
@@ -177,7 +178,7 @@
<div class="col-lg-6">
<div class="protocol_panel" style="display: none;">
<div class="input-group protocol_panel" style="display:none;">
<span class="input-group-addon">编码协议</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_protocol">编码协议</span>
<select id="protocol_id" name="protocol_id" onchange="onProtocolChange();" style="width: 100%;">
</select>
<input type="hidden" id="protocol_name" name="protocol_name">
@@ -186,22 +187,22 @@
<br>
</div>
<div class="input-group">
<span class="input-group-addon">编码类型</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_subcate">编码类型</span>
<select id="sub_cate" name="sub_cate" class="input-group-addon" onchange="onSubCateChange();" style="width: 100%;">
<option value="0" disabled>2进制码</option>
<option value="1" selected>2/4进制码</option>
<option value="2">8/16进制码</option>
<option value="0" disabled data-i18n="page_code.d_create_index_subcate_binary">Binary</option>
<option value="1" data-i18n="page_code.d_create_index_subcate_quaternary" selected>Quaternary</option>
<option value="2" data-i18n="page_code.d_create_index_subcate_hexdecimal">Hexadecimal</option>
</select>
<!-- <span class="input-group-addon pointer">+</span> -->
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">源码名称</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_code_name">源码名称</span>
<input type="text" class="form-control" placeholder="Remote Name" id="remote_name" name="remote_name">
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">源码文件</span>
<span class="input-group-addon" data-i18n="page_code.d_create_index_code_file">源码文件</span>
<input type="file" class="form-control" name="remote_file" placeholder="Remote File" id="remote_file">
</div>
</div>
@@ -210,8 +211,8 @@
</div>
</div>
<div class="modal-footer">
<a class="btn btn-normal btn-success" href="#" onclick="createRemote();">提交</a>
<button type="button" class="btn btn-warning" data-dismiss="modal">关闭</button>
<a class="btn btn-normal btn-success" href="#" onclick="createRemote();" data-i18n="page_code.d_create_index_submit">提交</a>
<button type="button" class="btn btn-warning" data-dismiss="modal" data-i18n="page_code.d_create_index_cancel">关闭</button>
</div>
</div>
</div>
@@ -224,18 +225,18 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">搜索编码</h4>
<h4 class="modal-title" data-i18n="page_code.d_search_index_title">搜索编码</h4>
</div>
<div class="modal-body">
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">编码映射</span>
<span class="input-group-addon" data-i18n="page_code.d_search_index_map">编码映射</span>
<input type="text" class="form-control" placeholder="eg. upd6121g_box_041 or new_ac_11737" id="remote_map">
</div>
<br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" onclick="searchRemote();">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-danger" onclick="searchRemote();" data-i18n="page_code.d_search_index_search">搜索</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_search_index_cancel">取消</button>
</div>
</div>
</div>
@@ -248,14 +249,14 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">删除编码</h4>
<h4 class="modal-title" data-i18n="page_code.d_delete_index_title">删除编码</h4>
</div>
<div class="modal-body">
<div id="delete_hint"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" onclick="deleteRemote();">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-danger" onclick="deleteRemote();" data-i18n="page_code.d_delete_index_delete">删除</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_delete_index_cancel">取消</button>
</div>
</div>
</div>
@@ -268,14 +269,14 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">回退编码</h4>
<h4 class="modal-title" data-i18n="page_code.d_fallback_index_title">回退编码</h4>
</div>
<div class="modal-body">
<div id="fallback_hint">确认要回退编码到待验证状态吗?</div>
<div id="fallback_hint" data-i18n="page_code.d_fallback_index_tip">确认要回退编码到待验证状态吗?</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" onclick="fallbackRemote();">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-danger" onclick="fallbackRemote();" data-i18n="page_code.d_fallback_index_fallback">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_fallback_index_cancel">取消</button>
</div>
</div>
</div>
@@ -288,14 +289,14 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">验证编码</h4>
<h4 class="modal-title" data-i18n="page_code.d_verify_index_title">验证编码</h4>
</div>
<div class="modal-body">
<div id="verify_hint"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info" onclick="verifyRemote();">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-info" onclick="verifyRemote();" data-i18n="page_code.d_verify_index_verify">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_verify_index_cancel">取消</button>
</div>
</div>
</div>
@@ -308,15 +309,15 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">发布编码</h4>
<h4 class="modal-title" data-i18n="page_code.d_publish_index_title">发布编码</h4>
</div>
<div class="modal-body">
<div id="publish_hint"></div>
</div>
<div class="modal-footer">
<!-- <button type="button" class="btn btn-info" onclick="publishUnpublished();">报表</button> -->
<button type="button" class="btn btn-success" onclick="publishBrands();">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">取消</button>
<button type="button" class="btn btn-success" onclick="publishBrands();" data-i18n="page_code.d_publish_index_publish">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_publish_index_cancel">取消</button>
</div>
</div>
</div>
@@ -329,19 +330,19 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">提交编码文件</h4>
<h4 class="modal-title" data-i18n="page_code.d_submit_index_title">提交编码文件</h4>
</div>
<div class="modal-body">
<iframe name="post_iframe" id="post_iframe" style="border: none; width: 100%; height: 50px;">
<html>
<body>
<div style="width: 100%; text-align: center; font-family: serif,serif">正在提交</div>
<div style="width: 100%; text-align: center; font-family: serif,serif" data-i18n="page_code.d_submit_index_progress">正在提交</div>
</body>
</html>
</iframe>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_submit_index_ok">确定</button>
</div>
</div>
</div>
@@ -354,19 +355,19 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">提交协议</h4>
<h4 class="modal-title" data-i18n="page_code.d_submit_protocol_title">提交协议文件</h4>
</div>
<div class="modal-body">
<iframe name="post_protocol_iframe" id="post_protocol_iframe" style="border: none; width: 100%; height: 50px;">
<html>
<body>
<div style="width: 100%; text-align: center; font-family: '微软雅黑'">正在提交</div>
<div style="width: 100%; text-align: center; font-family: '微软雅黑'" data-i18n="page_code.d_submit_protocol_progress">正在提交</div>
</body>
</html>
</iframe>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">确定</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" data-i18n="page_code.d_submit_protocol_ok">确定</button>
</div>
</div>
</div>
@@ -379,39 +380,39 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">添加品牌</h4>
<h4 class="modal-title" data-i18n="page_code.d_create_brand_title">创建品牌</h4>
</div>
<div class="modal-body">
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">电器类型</span>
<span class="input-group-addon" data-i18n="page_code.d_create_category">电器类型</span>
<input type="text" class="form-control" id="category_name_b" value="" readonly>
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">品牌名称</span>
<span class="input-group-addon" data-i18n="page_code.d_create_brand_name">品牌名称</span>
<input type="text" class="form-control" id="brand_name_b" value=""
onchange="translateToTC('brand_name_b', 'brand_name_tw_b');">
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">英文名称</span>
<span class="input-group-addon" data-i18n="page_code.d_create_brand_name_en">英文名称</span>
<input type="text" class="form-control" id="brand_name_en_b" value="">
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">繁中名称</span>
<span class="input-group-addon" data-i18n="page_code.d_create_brand_name_tw">繁中名称</span>
<input type="text" class="form-control" id="brand_name_tw_b" value="">
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">优先排序</span>
<span class="input-group-addon" data-i18n="page_code.d_create_brand_priority">优先排序</span>
<input type="text" data-ride="brand_priority" id="brand_priority" name="brand_priority"
class="form-control input-number" value="1" data-min="1" data-max="999">
</div>
<br>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="createBrand();">确定添加</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="createBrand();" data-i18n="page_code.d_create_brand_ok">确定创建</button>
</div>
</div>
</div>
@@ -426,30 +427,30 @@
action="/irext/int/create_protocol" target="post_protocol_iframe">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">添加协议</h4>
<h4 class="modal-title" data-i18n="page_code.d_create_protocol_title">创建协议</h4>
</div>
<div class="modal-body">
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">协议名称</span>
<span class="input-group-addon" data-i18n="page_code.d_create_protocol_name">协议名称</span>
<input type="text" class="form-control" id="protocol_name_b" name="protocol_name_b" value="">
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">协议文件</span>
<span class="input-group-addon" data-i18n="page_code.d_create_protocol_file">协议文件</span>
<input type="file" class="form-control" id="protocol_file" name="protocol_file" value="">
</div>
<br>
<div class="input-group" style="max-height: 25px;">
<span class="input-group-addon">协议类型</span>
<span class="input-group-addon" data-i18n="page_code.d_create_protocol_type">协议类型</span>
<select id="protocol_type" name="protocol_type" class="input-group-addon" onchange="onProtocolTypeChange();" style="width: 100%;">
<option value="0" disabled>2进制码</option>
<option value="1" selected>2/4进制码</option>
<option value="2">8/16进制码</option>
<option value="0" disabled data-i18n="page_code.d_create_protocol_binary">Binary</option>
<option value="1" selected data-i18n="page_code.d_create_protocol_quaternary">Quaternary</option>
<option value="2" data-i18n="page_code.d_create_protocol_hexadecimal">Hexadecimal</option>
</select>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="createProtocol();">确定添加</button>
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="createProtocol();" data-i18n="page_code.d_create_protocol_ok">确定创建</button>
</div>
<input type="hidden" id="protocol_admin_id" name="admin_id">
</form>
@@ -464,13 +465,13 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-hidden="true" data-dismiss="modal">&times;</button>
<h4 class="modal-title">提示</h4>
<h4 class="modal-title" data-i18n="page_code.d_hint_title">提示</h4>
</div>
<div class="modal-body">
<div id="text_hint"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">确定</button>
<button type="button" class="btn btn-danger" data-dismiss="modal" data-i18n="page_code.d_hint_ok">确定</button>
</div>
</div>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +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": "选择品牌"
}
}

View File

@@ -0,0 +1,119 @@
{
"app": {
"name": "IRext"
},
"page_code": {
"title": "Console",
"d_try_index_quit": "Quit",
"panel_category": "Cates",
"panel_brand": "Brand",
"panel_select_province": "State",
"panel_select_city": "Cities",
"d_create_index_title": "Create Index",
"d_create_index_priority": "Priority",
"d_create_index_category": "Cates ",
"d_create_index_brand": "Brand",
"d_create_index_province": "State",
"d_create_index_city": "Cities",
"d_create_index_protocol": "Protocol",
"d_create_index_sp": "Operator",
"d_create_index_subcate": "Cate2",
"d_create_index_subcate_binary": "Binary",
"d_create_index_subcate_quaternary": "Quaternary",
"d_create_index_subcate_hexdecimal": "Hexadecimal",
"d_create_index_code_name": "Name ",
"d_create_index_code_file": "File ",
"d_create_index_submit": "Submit",
"d_create_index_cancel": "Cancel",
"d_search_index_title": "Search Index",
"d_search_index_map": "Mapping",
"d_search_index_search": "Search",
"d_search_index_cancel": "Cancel",
"d_delete_index_title": "Delete Index",
"d_delete_index_delete": "Delete",
"d_delete_index_cancel": "Cancel",
"d_fallback_index_title": "Fallback Index",
"d_fallback_index_tip": "Confirm to fallback index ?",
"d_fallback_index_fallback": "Fallback",
"d_fallback_index_cancel": "Cancel",
"d_verify_index_title": "Verify Index",
"d_verify_index_verify": "Verify",
"d_verify_index_cancel": "Cancel",
"d_publish_index_title": "Publish Index",
"d_publish_index_publish": "Publish",
"d_publish_index_cancel": "Cancel",
"d_submit_index_title": "Submit Index File",
"d_submit_index_progress": "Submitting",
"d_submit_index_ok": "OK",
"d_submit_protocol_title": "Submit Protocol File",
"d_submit_protocol_progress": "Submitting",
"d_submit_protocol_ok": "OK",
"d_create_brand_title": "Add Brand",
"d_create_category": "Category",
"d_create_brand_name": "Name(CN)",
"d_create_brand_name_en": "Name(EN)",
"d_create_brand_name_tw": "Name(TW)",
"d_create_brand_priority": "Priority",
"d_create_brand_ok": "OK",
"d_create_protocol_title": "Add Protocol",
"d_create_protocol_name": "Name",
"d_create_protocol_file": "File",
"d_create_protocol_type": "Type",
"d_create_protocol_binary": "Binary",
"d_create_protocol_quaternary": "Quaternary",
"d_create_protocol_hexadecimal": "Hexadecimal",
"d_create_protocol_ok": "OK",
"d_hint_title": "Info",
"d_hint_ok": "OK",
"d_panel_category_init": "AC",
"d_panel_city_init": "北京市",
"d_table_category_cn": "Category",
"d_table_brand_cn": "Brand",
"d_table_city_cn": "City",
"d_table_operator_cn": "Operator",
"d_table_priority_cn": "Priority",
"d_table_protocol_cn": "Protocol",
"d_table_remote_cn": "Control code",
"d_table_status_cn": "Status",
"d_table_contributor_cn": "Contributor",
"d_status_published": "Published",
"d_status_to_verify": "To Verify",
"d_status_passed": "Passed",
"d_status_failed": "Failed",
"d_status_duplicated": "Duplicated",
"d_hint_common_select_index": "Please select an index",
"d_hint_input_index_name": "Please fill name of index",
"d_hint_input_index_file": "Please upload code file",
"d_hint_delete_success": "Index deleted",
"d_hint_delete_failed": "Failed to delete index",
"d_hint_fallback_success": "Index fallback done",
"d_hint_fallback_failed": "Failed to fallback index",
"d_hint_update_success": "Index updated",
"d_hint_update_failed": "Failed to update index",
"d_hint_publishing_brand": "Publish new brands in progress...",
"d_hint_publishing_index": "Publish new indexes in progress...",
"d_hint_publish_success": "Indexes published",
"d_hint_publish_failed": "Failed to publish indexes",
"d_hint_create_brand_fill_name": "Please fill brand name",
"d_hint_create_brand_existed": "This brand already existed",
"d_hint_create_brand_success": "Brand added",
"d_hint_create_brand_failed": "Failed to add brand",
"d_hint_create_protocol_fill_name": "Please fill protocol name",
"d_hint_create_protocol_upload_file": "Please upload XML file for protocol",
"d_hint_init_all_cities": "All cities",
"d_hint_fallback_confirm": "Confirm to fallback ",
"d_hint_delete_confirm": "Confirm to delete ",
"d_pass": " pass ",
"d_not_pass": " not to pass ",
"d_hint_confirm_to": "Confirm to ",
"d_hint_confirm_q": " ?",
"d_hint_publish_totally": "Totally ",
"d_hint_publish_brands_and": " brands and ",
"d_hint_publish_indexes_to_publish_confirm": " indexes to be published, please confirm",
"d_hint_category_placeholder": "Select cate",
"d_hint_province_placeholder": "Select states",
"d_hint_city_placeholder": "Select city",
"d_hint_sp_placeholder": "Select SP",
"d_hint_brand_placeholder": "Select brand"
}
}

View File

@@ -0,0 +1,119 @@
{
"app": {
"name": "IRext"
},
"page_code": {
"title": "Console",
"d_try_index_quit": "Quit",
"panel_category": "Cates",
"panel_brand": "Brand",
"panel_select_province": "State",
"panel_select_city": "Cities",
"d_create_index_title": "Create Index",
"d_create_index_priority": "Priority",
"d_create_index_category": "Cates ",
"d_create_index_brand": "Brand",
"d_create_index_province": "State",
"d_create_index_city": "Cities",
"d_create_index_protocol": "Protocol",
"d_create_index_sp": "Operator",
"d_create_index_subcate": "Cate2",
"d_create_index_subcate_binary": "Binary",
"d_create_index_subcate_quaternary": "Quaternary",
"d_create_index_subcate_hexdecimal": "Hexadecimal",
"d_create_index_code_name": "Name ",
"d_create_index_code_file": "File ",
"d_create_index_submit": "Submit",
"d_create_index_cancel": "Cancel",
"d_search_index_title": "Search Index",
"d_search_index_map": "Mapping",
"d_search_index_search": "Search",
"d_search_index_cancel": "Cancel",
"d_delete_index_title": "Delete Index",
"d_delete_index_delete": "Delete",
"d_delete_index_cancel": "Cancel",
"d_fallback_index_title": "Fallback Index",
"d_fallback_index_tip": "Confirm to fallback index ?",
"d_fallback_index_fallback": "Fallback",
"d_fallback_index_cancel": "Cancel",
"d_verify_index_title": "Verify Index",
"d_verify_index_verify": "Verify",
"d_verify_index_cancel": "Cancel",
"d_publish_index_title": "Publish Index",
"d_publish_index_publish": "Publish",
"d_publish_index_cancel": "Cancel",
"d_submit_index_title": "Submit Index File",
"d_submit_index_progress": "Submitting",
"d_submit_index_ok": "OK",
"d_submit_protocol_title": "Submit Protocol File",
"d_submit_protocol_progress": "Submitting",
"d_submit_protocol_ok": "OK",
"d_create_brand_title": "Add Brand",
"d_create_category": "Category",
"d_create_brand_name": "Name(CN)",
"d_create_brand_name_en": "Name(EN)",
"d_create_brand_name_tw": "Name(TW)",
"d_create_brand_priority": "Priority",
"d_create_brand_ok": "OK",
"d_create_protocol_title": "Add Protocol",
"d_create_protocol_name": "Name",
"d_create_protocol_file": "File",
"d_create_protocol_type": "Type",
"d_create_protocol_binary": "Binary",
"d_create_protocol_quaternary": "Quaternary",
"d_create_protocol_hexadecimal": "Hexadecimal",
"d_create_protocol_ok": "OK",
"d_hint_title": "Info",
"d_hint_ok": "OK",
"d_panel_category_init": "AC",
"d_panel_city_init": "北京市",
"d_table_category_cn": "Category",
"d_table_brand_cn": "Brand",
"d_table_city_cn": "City",
"d_table_operator_cn": "Operator",
"d_table_priority_cn": "Priority",
"d_table_protocol_cn": "Protocol",
"d_table_remote_cn": "Control code",
"d_table_status_cn": "Status",
"d_table_contributor_cn": "Contributor",
"d_status_published": "Published",
"d_status_to_verify": "To Verify",
"d_status_passed": "Passed",
"d_status_failed": "Failed",
"d_status_duplicated": "Duplicated",
"d_hint_common_select_index": "Please select an index",
"d_hint_input_index_name": "Please fill name of index",
"d_hint_input_index_file": "Please upload code file",
"d_hint_delete_success": "Index deleted",
"d_hint_delete_failed": "Failed to delete index",
"d_hint_fallback_success": "Index fallback done",
"d_hint_fallback_failed": "Failed to fallback index",
"d_hint_update_success": "Index updated",
"d_hint_update_failed": "Failed to update index",
"d_hint_publishing_brand": "Publish new brands in progress...",
"d_hint_publishing_index": "Publish new indexes in progress...",
"d_hint_publish_success": "Indexes published",
"d_hint_publish_failed": "Failed to publish indexes",
"d_hint_create_brand_fill_name": "Please fill brand name",
"d_hint_create_brand_existed": "This brand already existed",
"d_hint_create_brand_success": "Brand added",
"d_hint_create_brand_failed": "Failed to add brand",
"d_hint_create_protocol_fill_name": "Please fill protocol name",
"d_hint_create_protocol_upload_file": "Please upload XML file for protocol",
"d_hint_init_all_cities": "All cities",
"d_hint_fallback_confirm": "Confirm to fallback ",
"d_hint_delete_confirm": "Confirm to delete ",
"d_pass": " pass ",
"d_not_pass": " not to pass ",
"d_hint_confirm_to": "Confirm to ",
"d_hint_confirm_q": " ?",
"d_hint_publish_totally": "Totally ",
"d_hint_publish_brands_and": " brands and ",
"d_hint_publish_indexes_to_publish_confirm": " indexes to be published, please confirm",
"d_hint_category_placeholder": "Select cate",
"d_hint_province_placeholder": "Select states",
"d_hint_city_placeholder": "Select city",
"d_hint_sp_placeholder": "Select SP",
"d_hint_brand_placeholder": "Select brand"
}
}

View File

@@ -0,0 +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": "选择品牌"
}
}

View File

@@ -0,0 +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": "选择品牌"
}
}

View File

@@ -8,21 +8,21 @@
<meta name="screen-orientation" content="portrait"/>
<meta name="description" content="irext application">
<meta name="author" content="strawmanbobi">
<title>irext 控制台</title>
<title data-i18n="page_error.title_error">控制台错误</title>
<link href="../public_js/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="./css/error.css" rel="stylesheet">
</head>
<body>
<body class="page_error">
<div class="site-wrapper">
<div class="site-wrapper-inner">
<div class="cover-container">
<div class="inner cover">
<h1 class="cover-heading">认证错误</h1>
<p class="lead">请在登录之后访问</p>
<h1 class="cover-heading" data-i18n="page_error.auth_error">认证错误</h1>
<p class="lead" data-i18n="page_error.access_after_login">请在登录之后访问</p>
<p class="lead">
<a href="../" class="btn btn-lg btn-default">访问控制台</a>
<a href="../" class="btn btn-lg btn-default" data-i18n="page_error.access_to_console">访问控制台</a>
</p>
</div>
<div class="mastfoot">
@@ -33,4 +33,7 @@
</div>
</div>
</div>
</body>
</body>
<script src="../public_js/bower_components/jquery/dist/jquery.min.js"></script>
<script src="./js/error.js"></script>
</html>

View File

@@ -8,7 +8,7 @@
<meta name="screen-orientation" content="portrait"/>
<meta name="description" content="irext application">
<meta name="author" content="strawmanbobi">
<title>irext 控制台</title>
<title data-i18n="page_error.title_confirm_pw">确认密码</title>
<link href="../public_js/bower_components/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="./css/password.css" rel="stylesheet">
@@ -18,15 +18,15 @@
<script type="text/javascript" src="../public_js/utils/url_parser.js"></script>
<script type="text/javascript" src="./js/password.js"></script>
</head>
<body>
<body class="page_error">
<div class="site-wrapper">
<div class="site-wrapper-inner">
<div class="cover-container">
<div class="inner cover">
<h1 class="cover-heading">修改密码</h1>
<h1 class="cover-heading" data-i18n="page_error.change_pw">修改密码</h1>
<p class="lead" id="plain_password"></p>
<p class="lead">
<a href="../" class="btn btn-lg btn-default">回到控制台</a>
<a href="../" class="btn btn-lg btn-default" data-i18n="page_error.access_to_console">访问控制台</a>
</p>
</div>
<div class="mastfoot">
@@ -37,4 +37,4 @@
</div>
</div>
</div>
</body>
</body>

View File

@@ -0,0 +1,28 @@
/**
* Created by Strawmanbobi
* 2017-05-24
*/
let LS_KEY_ID = "user_name";
let LS_KEY_TOKEN = "token";
let userLang = "en-US";
let paramLang = getParameter('lang') || localStorage.getItem(LS_KEY_LANG);
if (paramLang) {
localStorage.setItem(LS_KEY_LANG, paramLang);
} else {
// set LANG default to simplified Chinese
localStorage.setItem(LS_KEY_LANG, "zh-CN");
}
userLang = navigator.language || paramLang;
i18n.init(function(err, t) {
$(".page_error").i18n({ lng: userLang });
});
$(document).ready(function() {
localStorage.removeItem(LS_KEY_ID);
localStorage.removeItem(LS_KEY_TOKEN);
});

View File

@@ -3,24 +3,40 @@
* 2016-12-02
*/
var LS_KEY_ID = "user_name";
var LS_KEY_TOKEN = "token";
let LS_KEY_ID = "user_name";
let LS_KEY_TOKEN = "token";
let userLang = "en-US";
let paramLang = getParameter('lang') || localStorage.getItem(LS_KEY_LANG);
if (paramLang) {
localStorage.setItem(LS_KEY_LANG, paramLang);
} else {
// set LANG default to simplified Chinese
localStorage.setItem(LS_KEY_LANG, "zh-CN");
}
userLang = navigator.language || paramLang;
i18n.init(function(err, t) {
$(".page_error").i18n({ lng: userLang });
});
$(document).ready(function() {
var password = getParameter('password');
var result = getParameter('result');
var indFrame = $("#plain_password");
var indContent = "";
let password = getParameter('password');
let result = getParameter('result');
let indFrame = $("#plain_password");
let indContent = "";
if (result == 1) {
indContent = "修改密码成功,请牢记您的新密码:" + password;
if (result === 1) {
indContent = i18n.t("page_error.change_pw_success", { lng: userLang }) + password;
} else {
indContent = "未能成功修改密码";
indContent = i18n.t("page_error.change_pw_fail", { lng: userLang });
}
indFrame.empty();
indFrame.html(indContent);
localstorage.removeItem(LS_KEY_ID);
localstorage.removeItem(LS_KEY_TOKEN);
});
localStorage.removeItem(LS_KEY_ID);
localStorage.removeItem(LS_KEY_TOKEN);
});

View File

@@ -0,0 +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": "未能成功注册用户"
}
}

View File

@@ -0,0 +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"
}
}

View File

@@ -0,0 +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"
}
}

View File

@@ -0,0 +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": "未能成功注册用户"
}
}

View File

@@ -0,0 +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": "未能成功注册用户"
}
}

View File

@@ -3,12 +3,12 @@
* 2016-11-13
*/
var LS_KEY_ID = "user_name";
var LS_KEY_TOKEN = "token";
var LS_KEY_LANG = "lang";
let LS_KEY_ID = "user_name";
let LS_KEY_TOKEN = "token";
let LS_KEY_LANG = "lang";
var userLang = "en-US";
var paramLang = getParameter('lang');
let userLang = "en-US";
let paramLang = getParameter('lang');
if (paramLang) {
localStorage.setItem(LS_KEY_LANG, paramLang);
@@ -28,18 +28,18 @@ $("#document").ready(function() {
});
function signIn() {
var userName = $("#user_name").val();
var password = $("#password").val();
let userName = $("#user_name").val();
let password = $("#password").val();
if (null == userName || "" === userName || null == password || "" === password) {
toastr.error(i18n.t('page_index.d_signin_fill_email_pw', { lng: userLang }));
return;
}
var pwHash = MD5(password);
let pwHash = MD5(password);
doSignIn(userName, pwHash);
}
function onChangePassword() {
var userName = $("#user_name").val();
let userName = $("#user_name").val();
if (null == userName || "" === userName) {
toastr.error(i18n.t('page_index.d_signin_fill_email', { lng: userLang }));
return;
@@ -48,14 +48,14 @@ function onChangePassword() {
}
function popUpHintDialog(hint) {
var textHint = $("#text_hint");
let textHint = $("#text_hint");
textHint.empty();
textHint.append(hint);
$("#hint_dialog").modal();
}
function navigateToPage(page, id, token) {
var form = $("<form method='post'></form>"),
let form = $("<form method='post'></form>"),
input;
form.attr({"action" : "/irext/nav/nav_to_url"});
@@ -78,7 +78,7 @@ function navigateToPage(page, id, token) {
}
function changePassword() {
var userName = $("#user_name").val();
let userName = $("#user_name").val();
if (null == userName || "" === userName) {
popUpHintDialog(i18n.t('page_index.d_signin_fill_email', { lng: userLang }));
return;
@@ -108,8 +108,8 @@ function changePassword() {
}
function doSignIn(userName, password) {
var token = "";
var adminID = "";
let token = "";
let adminID = "";
$.ajax({
url: "/irext/certificate/admin_login",
type: "POST",
@@ -121,9 +121,9 @@ function doSignIn(userName, password) {
token = response.entity.token;
adminID = response.entity.id;
toastr.success(i18n.t('page_index.d_signin_success', { lng: userLang }));
var permission = token.substring(token.indexOf(",") + 1);
var index = null;
var page = "";
let permission = token.substring(token.indexOf(",") + 1);
let index = null;
let page = "";
if (null != permission && permission !== "") {
index = permission.substring(0, 1);
}

View File

@@ -597,16 +597,13 @@ exports.deleteRemoteIndexWorkUnit = function (remoteIndex, adminID, callback) {
if(remoteIndex.contributor.indexOf(result) == -1) {
logger.info("the admin " + result + " could not change this remote index");
callback(errorCode.FAILED);
return;
} else {
remoteIndex.status = enums.ITEM_INVALID;
RemoteIndex.updateRemoteIndex(remoteIndex.id, remoteIndex,
function(deleteRemoteIndexErr, updatedRemoteIndex) {
callback(deleteRemoteIndexErr);
});
}
key = "admin_" + adminID;
adminAuth.getAuthInfo(key, function(getAdminAuthErr, result) {
if (errorCode.SUCCESS.code == getAdminAuthErr.code && null != result) {
callback(errorCode.SUCCESS);
} else {
callback(errorCode.FAILED);
}
});
} else {
callback(errorCode.FAILED);
}