Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
DoorLock
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
朱建香
DoorLock
Commits
8637eb82
Commit
8637eb82
authored
Jan 05, 2018
by
朱建香
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2018/01/05 20:50
1.检验是否开启通知
parent
a5c4372f
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
622 additions
and
133 deletions
+622
-133
.project
+9
-0
dev/src/lang/en.json
+29
-9
dev/src/lang/zh.json
+26
-2
dev/src/public/defaultConfig.js
+2
-1
dev/src/public/public.js
+1
-1
dev/src/view/addDevice/v_wifiAdd.js
+102
-33
dev/src/view/device/v_alarmInfo.js
+23
-1
dev/src/view/device/v_hijackRecord.js
+23
-1
dev/src/view/device/v_index.js
+4
-0
dev/src/view/device/v_opendoorRecord.js
+23
-1
dev/src/view/login/v_index.js
+9
-1
web/lib/less/addDevice/addDevice.less
+61
-2
web/lib/less/device/recordList.less
+12
-0
web/lib/less/public/core.less
+28
-0
web/lib/less/public/public.less
+140
-0
web/resources/font/iconfont.ttf
+0
-0
web/resources/lang/en.json
+2
-2
web/resources/lang/zh.json
+2
-2
web/view/addDevice/addDevice.css
+80
-75
web/view/addDevice/wifiAdd.html
+10
-2
web/view/device/alarmInfo.html
+7
-0
web/view/device/hijackRecord.html
+7
-0
web/view/device/opendoorRecord.html
+7
-0
web/view/device/recordList.css
+15
-0
No files found.
.project
View file @
8637eb82
...
...
@@ -24,5 +24,14 @@
<arguments>
1.0-name-matches-false-false-node_modules
</arguments>
</matcher>
</filter>
<filter>
<id>
1514974720847
</id>
<name></name>
<type>
26
</type>
<matcher>
<id>
org.eclipse.ui.ide.multiFilter
</id>
<arguments>
1.0-name-matches-false-false-node_modules
</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
dev/src/lang/en.json
View file @
8637eb82
{
"loading"
:
"loading..."
,
"scroll"
:
{
"clickToLoadMore"
:
"
点击
加载更多"
,
"loading"
:
"loading
...
"
"clickToLoadMore"
:
"
上拉
加载更多"
,
"loading"
:
"loading"
},
"btn"
:
{
"confirm"
:
"确定"
,
...
...
@@ -25,7 +25,8 @@
"add"
:
"添加"
,
"next"
:
"下一步"
,
"iSee"
:
"我知道了"
,
"unbindDoorlock"
:
"解绑门锁"
"unbindDoorlock"
:
"解绑门锁"
,
"finish"
:
"完成"
},
"dialog"
:{
"confirm"
:
"确认"
,
...
...
@@ -190,8 +191,8 @@
"wifiAdd"
:
{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"配网中"
,
"wifiBindSuccess"
:
"
配网成功,请
激活设备"
,
"deviceActivating"
:
"
设备激活中
"
,
"wifiBindSuccess"
:
"
Wi-Fi连接成功,正在
激活设备"
,
"deviceActivating"
:
"
Wi-Fi连接成功,正在激活设备
"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
...
...
@@ -271,10 +272,10 @@
},
"inviteBind"
:{
"qrcodeExpireTip"
:
"二维码已过期,请重新生成"
,
"title"
:
"
注意事项
:"
,
"cont1"
:
"1.
被邀请的用户选择添加设备页面中的扫二维码方式进行添加门锁
"
,
"cont2"
:
"2.
长按二维码保存为图片,发送给被邀请用户,用户通过长按识别二维码
"
,
"cont3"
:
"3.
有效时间10分钟,失效后请点击“重新生成二维码
"
"title"
:
"
绑定方法
:"
,
"cont1"
:
"1.
受邀用户登录“U智锁”APP
"
,
"cont2"
:
"2.
选择“扫描绑定设备”
"
,
"cont3"
:
"3.
扫描上方二维码完成绑定
"
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
...
...
@@ -337,5 +338,23 @@
"deviceList"
:{
"model"
:
"型号:"
,
"noDeviceTip"
:
"暂无产品型号"
},
"notice"
:{
"tip"
:
"您还未开启通知,将无法及时接受安全推送!"
,
"button"
:
"去开启"
},
"help"
:
{
"title"
:
"如何解决安卓手机收不到消息提醒?"
,
"contTip"
:
"因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。"
,
"contTitle"
:
"如何设置:"
,
"contSubtitle1"
:
"1.设置自启动"
,
"contText1-1"
:
"安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。"
,
"contText1-2"
:
"在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。"
,
"step"
:
"操作步骤:"
,
"contSubtitle2"
:
"2.设置后台保活"
,
"contText2-1"
:
"安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。"
,
"contText2-2"
:
"在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。"
,
"contText3-1"
:
"安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。"
,
"contText3-2"
:
"启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
}
}
\ No newline at end of file
dev/src/lang/zh.json
View file @
8637eb82
...
...
@@ -17,7 +17,10 @@
"connect"
:
"连接"
,
"bindUser"
:
"绑定姓名"
,
"bind"
:
"我要绑定"
,
"reBound"
:
"请重新绑定"
,
"startNow"
:
"立即体验"
,
"ignore"
:
"暂不开启"
,
"openNotify"
:
"开启推送通知"
,
"reBound"
:
"重新绑定"
,
"saveQRcode"
:
"保存二维码到相册"
,
"unbind"
:
"解绑"
,
"deleteUser"
:
"删除该用户"
,
...
...
@@ -25,7 +28,8 @@
"add"
:
"添加"
,
"next"
:
"下一步"
,
"iSee"
:
"我知道了"
,
"unbindDoorlock"
:
"解绑门锁"
"unbindDoorlock"
:
"解绑门锁"
,
"finish"
:
"完成"
},
"dialog"
:{
"confirm"
:
"确认"
,
...
...
@@ -199,6 +203,7 @@
"remindTitle"
:
"配置Wi-Fi提醒:"
,
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"noticeTip"
:
"检测到您还未开启通知,将无法及时<br>接受安全推送"
,
"error"
:
{
}
...
...
@@ -337,5 +342,23 @@
"deviceList"
:{
"model"
:
"型号:"
,
"noDeviceTip"
:
"暂无产品型号"
},
"notice"
:{
"tip"
:
"您还未开启通知,将无法及时接受安全推送!"
,
"button"
:
"去开启"
},
"help"
:
{
"title"
:
"如何解决安卓手机收不到消息提醒?"
,
"contTip"
:
"因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。"
,
"contTitle"
:
"如何设置:"
,
"contSubtitle1"
:
"1.设置自启动"
,
"contText1-1"
:
"安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。"
,
"contText1-2"
:
"在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。"
,
"step"
:
"操作步骤:"
,
"contSubtitle2"
:
"2.设置后台保活"
,
"contText2-1"
:
"安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。"
,
"contText2-2"
:
"在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。"
,
"contText3-1"
:
"安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。"
,
"contText3-2"
:
"启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
}
}
\ No newline at end of file
dev/src/public/defaultConfig.js
View file @
8637eb82
export
default
{
"url"
:
"http
s://cloud.iot.u-gen.net/
"
"url"
:
"http
://192.168.2.96:20000
"
}
\ No newline at end of file
dev/src/public/public.js
View file @
8637eb82
...
...
@@ -46,7 +46,7 @@ uPublic.recalc = function () {
recalc
=
function
()
{
var
clientWidth
=
docEl
.
clientWidth
;
if
(
!
clientWidth
)
return
;
docEl
.
style
.
fontSize
=
clientWidth
/
10
+
'px'
;
docEl
.
style
.
fontSize
=
parseInt
(
clientWidth
/
10
,
10
)
+
'px'
;
};
window
.
addEventListener
(
resizeEvt
,
recalc
,
false
);
recalc
();
...
...
dev/src/view/addDevice/v_wifiAdd.js
View file @
8637eb82
...
...
@@ -13,7 +13,7 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot
.
ready
(
init
);
function
init
()
{
//通用 input、按钮、dialog、loading组件
uPublic
.
componentsInit
([
'u-text'
,
'u-button'
,
'u-
comm-loading
'
,
'u-dialog'
,
'u-loading'
]);
uPublic
.
componentsInit
([
'u-text'
,
'u-button'
,
'u-
process
'
,
'u-dialog'
,
'u-loading'
]);
uPublic
.
closeSlideBack
();
const
app
=
new
Vue
({
data
:{
...
...
@@ -22,7 +22,8 @@ function init() {
textErrorTip
:
null
,
//配置组件
componentsConfig
:
initComponentsConfig
(),
status
:
0
status
:
0
,
noticeTipShowFlag
:
false
},
mounted
(){
resolve
(
this
);
...
...
@@ -64,9 +65,9 @@ function init() {
connectButtonTap
(
this
);
},
//tap loading button
onCommLoadingButtonTap
(){
commLoadingButtonTap
(
this
);
}
//
onCommLoadingButtonTap(){
//
commLoadingButtonTap(this);
//
}
}
}).
$mount
(
'#app'
);
}
...
...
@@ -99,11 +100,9 @@ function initComponentsConfig() {
class
:
'custom-loading'
}
},
ucomml
oading
:
{
processL
oading
:
{
initParam
:
{
class
:
'custom-comm-loading'
,
buttonText
:
Vue
.
t
(
'btn.confirm'
),
text
:
Vue
.
t
(
'addDevice.loading'
),
class
:
'custom-process'
,
status
:
0
}
}
...
...
@@ -154,7 +153,8 @@ function connectButtonTap(self){
}
else
if
(
self
.
getTextPassword
()
==
null
||
self
.
getTextPassword
().
trim
()
==
''
){
self
.
setTextErrorTip
(
Vue
.
t
(
'wifiAdd.passwordInputTip'
));
}
else
{
uComponents
.
showCommLoading
(
self
);
// uComponents.showCommLoading(self);
uComponents
.
showProcess
(
self
,
0
,
Vue
.
t
(
'addDevice.loading'
));
iot
.
business
.
sds
.
findWifi
({
data
:
{
model
:
config
.
model
,
...
...
@@ -179,7 +179,8 @@ function connectButtonTap(self){
if
(
window
.
iotDebug
)
{
iotDebug
.
upload
(
iot
,
'配网中'
);
}
uComponents
.
changeCommLoadingStatusAndText
(
self
,
0
,
Vue
.
t
(
'wifiAdd.wifiBinding'
));
// uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.wifiBinding'));
uComponents
.
showProcess
(
self
,
0
,
Vue
.
t
(
'wifiAdd.wifiBinding'
));
}
else
if
(
response
.
data
==
'provisioned success'
){
if
(
window
.
iotDebug
){
iotDebug
.
push
(
'end: 配网成功'
+
JSON
.
stringify
(
response
));
...
...
@@ -188,7 +189,8 @@ function connectButtonTap(self){
iotDebug
.
upload
(
iot
,
'配网成功'
);
}
//wifi连接成功,停止连接wifi
uComponents
.
changeCommLoadingStatusAndText
(
self
,
0
,
Vue
.
t
(
'wifiAdd.wifiBindSuccess'
));
// uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.wifiBindSuccess'));
uComponents
.
showProcess
(
self
,
0
,
Vue
.
t
(
'wifiAdd.wifiBindSuccess'
));
}
},
error
:
(
error
)
=>
{
...
...
@@ -219,7 +221,8 @@ function connectButtonTap(self){
if
(
window
.
iotDebug
)
{
iotDebug
.
upload
(
iot
,
'激活中'
);
}
uComponents
.
changeCommLoadingStatusAndText
(
self
,
0
,
Vue
.
t
(
'wifiAdd.deviceActivating'
));
// uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.deviceActivating'));
uComponents
.
showProcess
(
self
,
0
,
Vue
.
t
(
'wifiAdd.deviceActivating'
));
}
else
if
(
response
.
data
==
"joined success"
){
if
(
window
.
iotDebug
){
iotDebug
.
push
(
'end: 激活成功'
+
JSON
.
stringify
(
response
));
...
...
@@ -237,9 +240,10 @@ function connectButtonTap(self){
if
(
window
.
iotDebug
)
{
iotDebug
.
upload
(
iot
,
'激活失败'
);
}
uComponents
.
changeCommLoadingStatusAndText
(
self
,
2
,
Vue
.
t
(
'wifiAdd.deviceActivateFailure'
));
// uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure'));
addFailue
(
self
);
self
.
setStatus
(
2
);
uComponents
.
changeCommButtonText
(
self
,
Vue
.
t
(
'addDevice.reBindDevice'
));
//
uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));
//停止查找设备
iot
.
business
.
sds
.
stopFindDevices
({
success
:
(
response
)
=>
{},
...
...
@@ -263,9 +267,10 @@ function connectButtonTap(self){
if
(
self
.
getStatus
()
==
0
){
console
.
log
(
"timeout"
);
//连接失败
uComponents
.
changeCommLoadingStatusAndText
(
self
,
2
,
Vue
.
t
(
'wifiAdd.bindTimeout'
));
//
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.bindTimeout'));
self
.
setStatus
(
2
);
uComponents
.
changeCommButtonText
(
self
,
Vue
.
t
(
'addDevice.reBindDevice'
));
// uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));
addFailue
(
self
);
//停止查找设备
iot
.
business
.
sds
.
stopFindDevices
({
success
:
(
response
)
=>
{},
...
...
@@ -300,8 +305,9 @@ function unbind(self, deviceId, productId){
if
(
window
.
iotDebug
)
{
iotDebug
.
upload
(
iot
,
'解绑失败'
);
}
uComponents
.
changeCommLoadingStatusAndText
(
self
,
2
,
Vue
.
t
(
'wifiAdd.deviceActivateFailure'
));
uComponents
.
changeCommButtonText
(
self
,
Vue
.
t
(
'addDevice.reBindDevice'
));
// uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure'));
// uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));
addFailue
(
self
);
self
.
setStatus
(
2
);
},
complete
:
()
=>
{
...
...
@@ -322,9 +328,10 @@ function bind(self, deviceId, productId){
console
.
log
(
response
);
let
data
=
response
.
data
;
if
(
data
.
success
){
uComponents
.
changeCommLoadingStatusAndText
(
self
,
1
,
Vue
.
t
(
'wifiAdd.deviceActivateSuccess'
));
uComponents
.
changeCommButtonText
(
self
,
Vue
.
t
(
'btn.confirm'
));
//
uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('wifiAdd.deviceActivateSuccess'));
//
uComponents.changeCommButtonText(self, Vue.t('btn.confirm'));
self
.
setStatus
(
1
);
addSuccess
(
self
);
}
if
(
window
.
iotDebug
){
iotDebug
.
push
(
'end: 绑定成功'
+
JSON
.
stringify
(
response
));
...
...
@@ -341,19 +348,49 @@ function bind(self, deviceId, productId){
if
(
window
.
iotDebug
)
{
iotDebug
.
upload
(
iot
,
'绑定失败'
);
}
uComponents
.
changeCommLoadingStatusAndText
(
self
,
2
,
Vue
.
t
(
'wifiAdd.deviceActivateFailure'
));
uComponents
.
changeCommButtonText
(
self
,
Vue
.
t
(
'addDevice.reBindDevice'
));
// uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure'));
// uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));、
addFailue
(
self
);
self
.
setStatus
(
2
);
},
complete
:
()
=>
{}
});
}
//tap loading button
function
commLoadingButtonTap
(
self
)
{
if
(
self
.
getStatus
()
==
1
){
//绑定成功
uComponents
.
hideCommLoading
(
self
);
function
addFailue
(
self
){
uComponents
.
showProcess
(
self
,
2
,
Vue
.
t
(
'wifiAdd.deviceActivateFailure'
),
[{
"class"
:
'custom-process-button'
,
'text'
:
Vue
.
t
(
'addDevice.reBindDevice'
),
'callback'
:
()
=>
{
//激活失败
uComponents
.
hideProcess
(
self
);
self
.
setStatus
(
0
);
uComponents
.
changeCommLoadingStatusAndText
(
self
,
0
,
Vue
.
t
(
'addDevice.loading'
));
}
}]);
}
function
addSuccess
(
self
){
if
(
!
iot
.
native
.
isNotifycationOpen
()){
self
.
noticeTipShowFlag
=
true
;
uComponents
.
showProcess
(
self
,
1
,
Vue
.
t
(
'wifiAdd.deviceActivateSuccess'
),
[{
"class"
:
'custom-process-button'
,
'text'
:
Vue
.
t
(
'btn.openNotify'
),
'callback'
:
()
=>
{
//开启推送通知
if
(
plus
.
os
.
name
==
'Android'
){
alert
(
"打开通知页面"
);
// iot.navigator.openWindow({
// url: './notify.html',
// id: 'notify',
// styles: {
// popGesture: 'none'
// }
// });
}
else
{
iot
.
native
.
toNotifycationSetting
();
}
}
},{
"class"
:
'custom-process-button custom-process-cancelButton'
,
'text'
:
Vue
.
t
(
'btn.ignore'
),
'callback'
:
()
=>
{
//暂不开启
uComponents
.
hideProcess
(
self
);
iot
.
navigator
.
fire
(
plus
.
webview
.
getWebviewById
(
'device'
),
'returnPage'
,{
needClose
:
true
});
...
...
@@ -361,10 +398,41 @@ function commLoadingButtonTap(self) {
url
:
'../device/index.html'
,
id
:
'device'
});
}
else
if
(
self
.
getStatus
()
==
2
){
//绑定失败
uComponents
.
hideCommLoading
(
self
);
self
.
setStatus
(
0
);
uComponents
.
changeCommLoadingStatusAndText
(
self
,
0
,
Vue
.
t
(
'addDevice.loading'
));
}
}]);
}
else
{
uComponents
.
showProcess
(
self
,
1
,
Vue
.
t
(
'wifiAdd.deviceActivateSuccess'
),
[{
"class"
:
'custom-process-button'
,
'text'
:
Vue
.
t
(
'btn.startNow'
),
'callback'
:
()
=>
{
//立即体验
uComponents
.
hideProcess
(
self
);
iot
.
navigator
.
fire
(
plus
.
webview
.
getWebviewById
(
'device'
),
'returnPage'
,{
needClose
:
true
});
iot
.
navigator
.
openWindow
({
url
:
'../device/index.html'
,
id
:
'device'
});
}
}]);
}
}
//tap loading button
//function commLoadingButtonTap(self) {
// if(self.getStatus() == 1){
// //绑定成功
// uComponents.hideCommLoading(self);
// iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{
// needClose: true
// });
// iot.navigator.openWindow({
// url: '../device/index.html',
// id: 'device'
// });
// }else if(self.getStatus() == 2){
// //绑定失败
// uComponents.hideCommLoading(self);
// self.setStatus(0);
// uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('addDevice.loading'));
// }
//}
\ No newline at end of file
dev/src/view/device/v_alarmInfo.js
View file @
8637eb82
...
...
@@ -23,10 +23,12 @@ function init() {
list
:[],
startId
:
0
,
deviceId
:
null
,
flag
:
true
flag
:
true
,
noticeTipShowFlag
:
false
},
mounted
(){
uComponents
.
showLoading
(
this
);
this
.
noticeTipShowFlag
=
!
iot
.
native
.
isNotifycationOpen
();
resolve
(
this
);
},
methods
:{
...
...
@@ -55,6 +57,9 @@ function init() {
onRefreshFresh
(){
refreshFresh
(
this
);
},
onNotifycationSetting
(){
notifycationSetting
();
},
//tap <
onBackTap
(){
backTap
();
...
...
@@ -158,3 +163,20 @@ mui.back = function(){
function
listLoad
(
self
)
{
resolve
(
self
);
}
//ios跳转到系统设置页面
//android跳转到通知页面
function
notifycationSetting
(){
if
(
plus
.
os
.
name
==
'Android'
){
alert
(
"打开通知页面"
);
// iot.navigator.openWindow({
// url: './notify.html',
// id: 'notify',
// styles: {
// popGesture: 'none'
// }
// });
}
else
{
iot
.
native
.
toNotifycationSetting
();
}
}
dev/src/view/device/v_hijackRecord.js
View file @
8637eb82
...
...
@@ -25,10 +25,12 @@ function init() {
startId
:
0
,
deviceId
:
null
,
userInfo
:
[],
flag
:
true
flag
:
true
,
noticeTipShowFlag
:
false
},
mounted
(){
uComponents
.
showLoading
(
this
);
this
.
noticeTipShowFlag
=
!
iot
.
native
.
isNotifycationOpen
();
resolve
(
this
);
},
methods
:{
...
...
@@ -62,6 +64,9 @@ function init() {
onRefreshFresh
(){
refreshFresh
(
this
);
},
onNotifycationSetting
(){
notifycationSetting
();
},
//tap <
onBackTap
(){
backTap
();
...
...
@@ -180,3 +185,20 @@ function listLoad(self) {
function
refreshFresh
(
self
){
resolve
(
self
);
}
//ios跳转到系统设置页面
//android跳转到通知页面
function
notifycationSetting
(){
if
(
plus
.
os
.
name
==
'Android'
){
alert
(
"打开通知页面"
);
// iot.navigator.openWindow({
// url: './notify.html',
// id: 'notify',
// styles: {
// popGesture: 'none'
// }
// });
}
else
{
iot
.
native
.
toNotifycationSetting
();
}
}
dev/src/view/device/v_index.js
View file @
8637eb82
...
...
@@ -23,6 +23,10 @@ function init() {
if
(
iot
.
navigator
.
getExtras
().
needClose
){
iot
.
navigator
.
closeAllBesidesItself
();
}
// console.log(iot.native.isNotifycationOpen());
// iot.native.toNotifycationSetting();
const
app
=
new
Vue
({
data
:{
//开门记录
...
...
dev/src/view/device/v_opendoorRecord.js
View file @
8637eb82
...
...
@@ -24,10 +24,12 @@ function init() {
startId
:
0
,
deviceId
:
null
,
userInfo
:
[],
flag
:
true
flag
:
true
,
noticeTipShowFlag
:
false
},
mounted
(){
uComponents
.
showLoading
(
this
);
this
.
noticeTipShowFlag
=
!
iot
.
native
.
isNotifycationOpen
();
resolve
(
this
);
},
methods
:{
...
...
@@ -61,6 +63,9 @@ function init() {
onRefreshFresh
(){
refreshFresh
(
this
);
},
onNotifycationSetting
(){
notifycationSetting
();
},
//tap <
onBackTap
(){
backTap
();
...
...
@@ -214,3 +219,20 @@ function setListData(self, response){
}
else
{
}
}
//ios跳转到系统设置页面
//android跳转到通知页面
function
notifycationSetting
(){
if
(
plus
.
os
.
name
==
'Android'
){
alert
(
"打开通知页面"
);
// iot.navigator.openWindow({
// url: './notify.html',
// id: 'notify',
// styles: {
// popGesture: 'none'
// }
// });
}
else
{
iot
.
native
.
toNotifycationSetting
();
}
}
dev/src/view/login/v_index.js
View file @
8637eb82
...
...
@@ -9,7 +9,6 @@
import
{
iot
,
uPublic
,
uComponents
}
from
'../../public/public.js'
;
iot
.
ready
(
init
);
function
init
()
{
//通用 dialog、loading组件
...
...
@@ -19,6 +18,14 @@ function init() {
if
(
iot
.
navigator
.
getExtras
().
needClose
){
iot
.
navigator
.
closeAllBesidesItself
();
}
var
isSdsBack
=
false
;
console
.
log
(
isSdsBack
);
if
(
!
isSdsBack
){
document
.
addEventListener
(
"resume"
,
()
=>
{
loginButtonTap
(
this
);
},
false
);
}
const
app
=
new
Vue
({
data
:{
//配置组件
...
...
@@ -113,6 +120,7 @@ function loginButtonTap(self){
}
},
error
:
(
error
)
=>
{
isSdsBack
=
true
;
self
.
setShowLoginButtonFlag
(
true
);
console
.
log
(
error
);
if
(
window
.
iotDebug
){
...
...
web/lib/less/addDevice/addDevice.less
View file @
8637eb82
...
...
@@ -183,9 +183,10 @@
.mediaPosition();
.u-comm-loading();
//.u-comm-loading();
.u-process();
.custom-comm-loading();
//
.custom-comm-loading();
//
.scanContent {
...
...
@@ -195,3 +196,61 @@
left: 0;
width: 100%;
}
.noticeContent{
color: #FF0000;
line-height: 1.5;
text-align: center;
width: 100%;
display: inline-block;
position: absolute;
bottom: -100%;
span{
&:first-child{
.iconfont(20px);
}
}
}
.custom-process-button{
position: absolute;
bottom: inherit;
left: 0;
right: 0;
width: 7.333rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.custom-process-cancelButton{
bottom: 0;
width: 100px;
color: #00ffff;
font-size: 12px;
background-color: transparent;
padding: 18px 0 5px;
border: none;
&:after{
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;/*no*/
.blue_gradient_border();
}
.tap_row(transparent);
&.disabled{
background-color: transparent;
}
}
web/lib/less/device/recordList.less
View file @
8637eb82
...
...
@@ -49,6 +49,18 @@
}
}
.notice{
span{
&:first-child{
.iconfont(24px);
}
}
height: 20px;
~.custom-list{
top: 64px;
}
}
@-webkit-keyframes refresh {
0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
...
...
web/lib/less/public/core.less
View file @
8637eb82
...
...
@@ -368,6 +368,34 @@ p{
}
}
.custom-process(){
.custom-process{
background-color: @CUSTOM-BACKDROP-BG;
.u-process-button{
bottom: 134px;
width: 100px;
color: #00ffff;
font-size: 12px;
background-color: transparent;
padding: 18px 0 5px;
&:after{
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;/*no*/
.blue_gradient_border();
}
.tap_row(transparent);
&.disabled{
background-color: transparent;
}
}
}
}
//自定义弹出框组件
.custom-dialog(){
.custom-dialog{
...
...
web/lib/less/public/public.less
View file @
8637eb82
...
...
@@ -894,6 +894,146 @@
});
}
.u-process(){
.u-process{
.mask(1050);
.u-process-content{
.transformV_center(left,0);
width: 100%;
.loader{
font-size: 16px;
width: 3.750em;
height: 3.750em;
margin: 0 auto;
position: relative;
&:before{
content: '';
.margin_center(0.500em,0.500em);
border-radius: 50%;
.transform(translateZ(0) scale(0.55));
}
}
.icon{
font-size: 16px;
width: 3.750em;
height: 3.750em;
margin: 0 auto;
position: relative;
&:before{
.transform_center();
.iconfont(4.125em);
}
}
.u-process-text{
margin-top: 20px;
text-align: center;
}
}
.u-process-button{
position: absolute;
bottom: 65px;
left: 0;
width: 100%;
display: table;
table-layout: fixed;
border-collapse: separate;
border-spacing: 25px 0;
li{
// display: table-cell;
// color: @BUTTON-COMPONENT-COLOR;
// font-size: inherit;
// background-color: @BUTTON-COMPONENT-BG;
// border-radius: 5px;
// text-align: center;
// line-height: 1;
// padding: 10px 0;
// .transition(all 0.2s linear);
// background-clip: padding-box;
// //按钮 active
// .tap_row(@BUTTON-COMPONENT-ACTIVE-BG);
// //按钮 不可控
// &.disabled{
// background-color: @BUTTON-COMPONENT-DISABLED-BG;
// }
}
}
//loading
&.u-process-status-0{
.u-process-content{
color: #00ffff;
.loader{
display: block;
&:before{
.animation(commLoading 1.3s linear infinite);
}
}
.icon{
display: none;
}
}
}
//成功 state
&.u-process-status-1{
.u-process-content{
color: #00ffff;
.loader{
display: none;
}
.icon{
display: block;
&:before{
content: '\e800';
}
}
}
}
//失败 state
&.u-process-status-2{
.u-process-content{
color: #fff;
.loader{
display: none;
}
.icon{
display: block;
&:before{
content: '\e646';
}
}
}
}
}
.keyframes(commLoading,{
0%,
100% {
.box-shadow(0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0);
}
12.5% {
.box-shadow(0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em);
}
25% {
.box-shadow(0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em);
}
37.5% {
.box-shadow(0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em);
}
50% {
.box-shadow(0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em);
}
62.5% {
.box-shadow(0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em);
}
75% {
.box-shadow(0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0);
}
87.5% {
.box-shadow(0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em);
}
});
}
.edit-name(){
.edit-name-text{
width: 100%;
...
...
web/resources/font/iconfont.ttf
View file @
8637eb82
No preview for this file type
web/resources/lang/en.json
View file @
8637eb82
{
"loading"
:
"loading..."
,
"scroll"
:{
"clickToLoadMore"
:
"点击加载更多"
,
"loading"
:
"loading..."
},
"btn"
:{
"confirm"
:
"确定"
,
"guideLogin"
:
"账号/密码登录"
,
"login"
:
"登录"
,
"getCode"
:
"获取验证码"
,
"register"
:
"注册"
,
"logout"
:
"退出系统"
,
"save"
:
"保存"
,
"qrcode"
:
"生成二维码"
,
"wifiAdd"
:
"开始配置Wi-Fi"
,
"connect"
:
"连接"
,
"bindUser"
:
"绑定姓名"
,
"bind"
:
"我要绑定"
,
"reBound"
:
"请重新绑定"
,
"saveQRcode"
:
"保存二维码到相册"
,
"unbind"
:
"解绑"
,
"deleteUser"
:
"删除该用户"
,
"qrcodeReset"
:
"重新生成二维码"
,
"add"
:
"添加"
,
"next"
:
"下一步"
,
"iSee"
:
"我知道了"
,
"unbindDoorlock"
:
"解绑门锁"
},
"dialog"
:{
"confirm"
:
"确认"
,
"cancel"
:
"取消"
,
"unbind"
:
"解绑"
,
"delete"
:
"删除"
},
"title"
:{
"login"
:
"登录"
,
"register"
:
"注册"
,
"forgetPassword"
:
"忘记密码"
,
"device"
:
"U智锁"
,
"opendoorRecord"
:
"开门记录"
,
"alarmInfo"
:
"报警记录"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackRecord"
:
"劫持记录"
,
"doorlockManage"
:
"门锁管理"
,
"editName"
:
"修改名称"
,
"qrcode"
:
"生成绑定二维码"
,
"addDevice"
:
"添加设备"
,
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAddHelp"
:
"配置Wi-Fi"
,
"wifiAdd"
:
"连接Wi-Fi"
,
"bindUserHelp"
:
"ID-姓名绑定"
,
"bindUser"
:
"绑定用户"
,
"userList"
:
"用户列表"
,
"doorlockUser"
:
"门锁用户"
,
"addUser"
:
"添加用户"
,
"inviteBind"
:
"邀请绑定"
,
"unlockInfo"
:
"关联开锁信息"
,
"myInfo"
:
"个人信息"
,
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"addUnlockInfo"
:
"关联开锁ID"
,
"deviceList"
:
"产品型号"
},
"guide"
:{
"footer"
:
"指纹改变生活"
},
"login"
:{
"telInputTip"
:
"请输入手机号"
,
"passwordInputTip"
:
"请输入密码"
,
"register"
:
"快速注册"
,
"forgetPassword"
:
"忘记密码"
,
"failure"
:
"登陆失败"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"passWordNull"
:
"请输入密码"
}},
"register"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"forgetPassword"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"device"
:{
"opendoorRecord"
:
"开门记录"
,
"securityAlarm"
:
"安全报警"
,
"doorlockUser"
:
"门锁用户"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackAlarm"
:
"劫持报警"
,
"doorlockManage"
:
"门锁管理"
,
"followTitle"
:
"关注服务号"
,
"followCont1"
:
"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧"
,
"followCont2"
:
"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注"
,
"laterFollow"
:
"稍后关注"
,
"newMsgDoorlock"
:
"门锁最新消息"
,
"doorLockRinging"
:
"门铃响了"
,
"defaultNewMsg"
:
"您尚未绑定门锁"
,
"noNewMsg"
:
"门锁休息中"
,
"bindDoorlock"
:
"绑定门锁"
},
"opendoorRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"passwordOpenDoor"
:
"密码开门"
,
"fingerprintOpenDoor"
:
"指纹开门"
,
"ICcardOpenDoor"
:
"IC卡开门"
,
"remoteOpenDoor"
:
"遥控器开门"
,
"keyOpenDoor"
:
"钥匙开门"
,
"hijackingAlarm"
:
"劫持报警"
,
"appRemoteOpenDoor"
:
"app远程开门"
},
"alarmInfo"
:{
"noInfoTip"
:
"暂无信息"
,
"tamperAlarm"
:
"防撬报警"
,
"trialAlarm"
:
"试错报警"
,
"powerAlarm"
:
"欠电报警"
},
"remoteOpendoor"
:{
"loading"
:
"远程开门中"
,
"passwordInputTip"
:
"请输入远程开门密码"
,
"openDoorSuccess"
:
"远程开门成功"
,
"openDoorFailure"
:
"远程开门失败"
,
"remoteTimeout"
:
"远程开门超时"
,
"remoteOpendoorAgain"
:
"请尝试重试"
,
"error"
:{
"noPasswordTip"
:
"远程密码不能为空"
}},
"hijackRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"hijackingAlarm"
:
"劫持指纹报警"
},
"doorlockManage"
:{
"name"
:
"名称"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
,
"defaultNickname"
:
"门锁"
,
"isClearRecord"
:
"清除所有信息"
,
"unbindSuccess"
:
"解绑成功"
,
"doorbellMsgPush"
:
"门铃消息推送"
,
"alarmMsgPush"
:
"报警消息推送"
,
"opendoorMsgPush"
:
"开门消息推送"
,
"unbindDialogTip"
:
"确认解除绑定"
,
"unbindFailue"
:
"解绑失败"
},
"editName"
:{
"nameInputTip"
:
"请输入设备名称"
,
"nickNameInputTip"
:
"请输入用户名"
,
"editNameSuccess"
:
"修改名称成功"
,
"editNameFailue"
:
"修改名称失败"
,
"error"
:{
"nameCanNotBeBlank"
:
"设备名称不能为空"
,
"nicknameCanNotBeBlank"
:
"用户名不能为空"
}},
"qrcode"
:{
"helpTitle"
:
"注意事项:"
,
"helpCont1"
:
"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码"
,
"helpCont2"
:
"2.二维码有效时间为10分钟且只能使用一次"
,
"helpCont3"
:
"3.用户只需要扫描该二维码即可绑定指纹锁"
,
"helpCont4"
:
"4.绑定失败则需要重新生成二维码进行绑定"
},
"addDevice"
:{
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAdd"
:
"配置Wi-Fi"
,
"loading"
:
"loading"
,
"bindSuccess"
:
"绑定成功"
,
"bindFailure"
:
"绑定失败"
,
"reBindDevice"
:
"请重新绑定"
},
"wifiAddHelp"
:{
"helpTitle"
:
"配置WIFI说明:"
,
"helpCont1"
:
"1.确认设备端进入配网模式(详情操作请见产品说明书)"
,
"helpCont2"
:
"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面"
,
"helpCont3"
:
"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。"
,
"helpCont4"
:
"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"
},
"wifiAdd"
:{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"配网中"
,
"wifiBindSuccess"
:
"配网成功,请激活设备"
,
"deviceActivating"
:
"设备激活中"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
"passwordInputTip"
:
"请输入Wi-Fi密码"
,
"remindTitle"
:
"配置Wi-Fi提醒:"
,
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"error"
:{}},
"bindUserHelp"
:{
"helpTitle"
:
"配对姓名说明:"
,
"helpCont1"
:
"1.在指纹锁上录入指纹、密码、卡并获得相应ID"
,
"helpCont2"
:
"2.通过姓名绑定将该ID绑定对应用户姓名"
,
"helpCont3"
:
"3.绑定成功后,开门记录中将会显示已绑定的用户姓名"
,
"helpCont4"
:
"4.用户姓名信息只保存在APP端,不影响锁端设置"
,
"boundUser"
:
"查看已绑定ID姓名"
},
"bindUser"
:{
"editHeadTip"
:
"点击编辑用户头像"
,
"nameTitle"
:
"姓名"
,
"fingerprintIDTitle"
:
"指纹ID"
,
"passwordIDTitle"
:
"密码ID"
,
"ICCardIDTitle"
:
"IC卡ID"
,
"requiredInputTip"
:
"(必填)"
,
"optionalInputTip"
:
"(选填)"
,
"error"
:{}},
"commstatusLoading"
:{
"connectSuccess"
:
"Wi-Fi连接成功,正在绑定..."
,
"bindSuccess"
:
"绑定成功"
,
"bindFailed"
:
"绑定失败"
},
"userList"
:{
"name"
:
"昵称:"
,
"noUserTip"
:
"暂无用户"
,
"defaultName"
:
"管理员"
,
"binded"
:
"已绑定"
,
"unbind"
:
"未绑定"
},
"addUser"
:{
"nameInputTip"
:
"请输入您想添加的用户名"
,
"addUserSuccess"
:
"添加用户成功"
,
"addUserFailure"
:
"添加用户失败"
,
"error"
:{
"nameCanNotEmpty"
:
"用户名不能为空"
}},
"doorlockUser"
:{
"name"
:
"昵称:"
,
"inviteBind"
:
"邀请绑定"
,
"bindUnlockInfo"
:
"关联开锁信息"
,
"opendoorRecord"
:
"历史开门记录"
,
"unbindDialogTip"
:
"<span></span>解绑后,该用户不能对门锁下的信息进行查看"
,
"deleteUserDialogTip"
:
"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。"
,
"unbindSuccess"
:
"解绑成功"
,
"unbindFailue"
:
"解绑失败"
,
"guideStep1Tip1"
:
"邀请绑定成功"
,
"guideStep1Tip2"
:
"(可查看开门记录,报警记录等<br>相关门锁信息)"
,
"guideStep3Tip"
:
"绑定后看可了解<br>该用户的开门情况"
,
"deleteSuccess"
:
"删除成功"
,
"deleteFailure"
:
"删除失败"
,
"defaultName"
:
"管理员"
},
"inviteBind"
:{
"qrcodeExpireTip"
:
"二维码已过期,请重新生成"
,
"title"
:
"注意事项:"
,
"cont1"
:
"1.被邀请的用户选择添加设备页面中的扫二维码方式进行添加门锁"
,
"cont2"
:
"2.长按二维码保存为图片,发送给被邀请用户,用户通过长按识别二维码"
,
"cont3"
:
"3.有效时间10分钟,失效后请点击“重新生成二维码"
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
"noInfoTip"
:
"当前无绑定开锁ID,请添加"
,
"passwordOpenDoor"
:
"密码"
,
"fingerprintOpenDoor"
:
"指纹"
,
"ICcardOpenDoor"
:
"IC卡"
,
"remoteOpenDoor"
:
"遥控器"
,
"keyOpenDoor"
:
"钥匙"
,
"appRemoteOpenDoor"
:
"app远程"
,
"hijackingAlarm"
:
"劫持指纹"
,
"setHijack"
:
"设为劫持"
,
"setHijackTip"
:
"确认设为劫持指纹?"
,
"cancelHijack"
:
"取消劫持"
,
"cancelHijackTip"
:
"确认取消劫持指纹?"
,
"cancelAssociated"
:
"取消关联"
,
"cancelAssociatedTip"
:
"取消关联后,开门历史记录中将不再显示关联的用户信息。"
,
"cancelAssociatedSuccess"
:
"取消关联成功"
,
"cancelAssociatedFailue"
:
"取消关联失败"
,
"setHijackSuccess"
:
"设为劫持指纹成功"
,
"setHijackFailue"
:
"设为劫持指纹失败"
,
"cancelHijackSuccess"
:
"取消劫持指纹成功"
,
"cancelHijackFailue"
:
"取消劫持指纹失败"
},
"addUnlockInfo"
:{
"opendoorMode"
:
"选择要关联的开锁方式"
,
"fingerprint"
:
"指纹"
,
"password"
:
"密码"
,
"icCard"
:
"IC卡"
,
"key"
:
"钥匙"
,
"remote"
:
"遥控器"
,
"hijackFingerprint"
:
"劫持指纹"
,
"opendoorRecord"
:
"选择要关联的开锁ID"
,
"tip"
:
"仅显示未绑定开门记录"
,
"addInfoSuccess"
:
"添加绑定开锁信息成功"
,
"addInfoFailue"
:
"添加绑定开锁信息失败"
,
"noRecordTip"
:
"暂无记录"
,
"setHijackSwitch"
:
"设为劫持指纹"
,
"guideStep1Tip"
:
"选择需要添加关联的开门方式"
,
"guideStep3Tip"
:
"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>"
,
"guideStep5Tip"
:
"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
},
"myInfo"
:{
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
},
"editNickname"
:{
"nickNameInputTip"
:
"请输入昵称"
},
"editPassword"
:{
"newPasswordInputTip"
:
"请输入新密码"
,
"oldPasswordInputTip"
:
"请输入旧密码"
,
"oldPasswordInputTipAgain"
:
"请再次输入旧密码"
},
"request"
:{
"error"
:
"请求发送失败"
,
"initError"
:
"初始化失败,请关闭APP重试"
},
"deviceList"
:{
"model"
:
"型号:"
,
"noDeviceTip"
:
"暂无产品型号"
}}
\ No newline at end of file
{
"loading"
:
"loading..."
,
"scroll"
:{
"clickToLoadMore"
:
"上拉加载更多"
,
"loading"
:
"loading"
},
"btn"
:{
"confirm"
:
"确定"
,
"guideLogin"
:
"账号/密码登录"
,
"login"
:
"登录"
,
"getCode"
:
"获取验证码"
,
"register"
:
"注册"
,
"logout"
:
"退出系统"
,
"save"
:
"保存"
,
"qrcode"
:
"生成二维码"
,
"wifiAdd"
:
"开始配置Wi-Fi"
,
"connect"
:
"连接"
,
"bindUser"
:
"绑定姓名"
,
"bind"
:
"我要绑定"
,
"reBound"
:
"请重新绑定"
,
"saveQRcode"
:
"保存二维码到相册"
,
"unbind"
:
"解绑"
,
"deleteUser"
:
"删除该用户"
,
"qrcodeReset"
:
"重新生成二维码"
,
"add"
:
"添加"
,
"next"
:
"下一步"
,
"iSee"
:
"我知道了"
,
"unbindDoorlock"
:
"解绑门锁"
,
"finish"
:
"完成"
},
"dialog"
:{
"confirm"
:
"确认"
,
"cancel"
:
"取消"
,
"unbind"
:
"解绑"
,
"delete"
:
"删除"
},
"title"
:{
"login"
:
"登录"
,
"register"
:
"注册"
,
"forgetPassword"
:
"忘记密码"
,
"device"
:
"U智锁"
,
"opendoorRecord"
:
"开门记录"
,
"alarmInfo"
:
"报警记录"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackRecord"
:
"劫持记录"
,
"doorlockManage"
:
"门锁管理"
,
"editName"
:
"修改名称"
,
"qrcode"
:
"生成绑定二维码"
,
"addDevice"
:
"添加设备"
,
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAddHelp"
:
"配置Wi-Fi"
,
"wifiAdd"
:
"连接Wi-Fi"
,
"bindUserHelp"
:
"ID-姓名绑定"
,
"bindUser"
:
"绑定用户"
,
"userList"
:
"用户列表"
,
"doorlockUser"
:
"门锁用户"
,
"addUser"
:
"添加用户"
,
"inviteBind"
:
"邀请绑定"
,
"unlockInfo"
:
"关联开锁信息"
,
"myInfo"
:
"个人信息"
,
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"addUnlockInfo"
:
"关联开锁ID"
,
"deviceList"
:
"产品型号"
},
"guide"
:{
"footer"
:
"指纹改变生活"
},
"login"
:{
"telInputTip"
:
"请输入手机号"
,
"passwordInputTip"
:
"请输入密码"
,
"register"
:
"快速注册"
,
"forgetPassword"
:
"忘记密码"
,
"failure"
:
"登陆失败"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"passWordNull"
:
"请输入密码"
}},
"register"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"forgetPassword"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"device"
:{
"opendoorRecord"
:
"开门记录"
,
"securityAlarm"
:
"安全报警"
,
"doorlockUser"
:
"门锁用户"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackAlarm"
:
"劫持报警"
,
"doorlockManage"
:
"门锁管理"
,
"followTitle"
:
"关注服务号"
,
"followCont1"
:
"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧"
,
"followCont2"
:
"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注"
,
"laterFollow"
:
"稍后关注"
,
"newMsgDoorlock"
:
"门锁最新消息"
,
"doorLockRinging"
:
"门铃响了"
,
"defaultNewMsg"
:
"您尚未绑定门锁"
,
"noNewMsg"
:
"门锁休息中"
,
"bindDoorlock"
:
"绑定门锁"
},
"opendoorRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"passwordOpenDoor"
:
"密码开门"
,
"fingerprintOpenDoor"
:
"指纹开门"
,
"ICcardOpenDoor"
:
"IC卡开门"
,
"remoteOpenDoor"
:
"遥控器开门"
,
"keyOpenDoor"
:
"钥匙开门"
,
"hijackingAlarm"
:
"劫持报警"
,
"appRemoteOpenDoor"
:
"app远程开门"
},
"alarmInfo"
:{
"noInfoTip"
:
"暂无信息"
,
"tamperAlarm"
:
"防撬报警"
,
"trialAlarm"
:
"试错报警"
,
"powerAlarm"
:
"欠电报警"
},
"remoteOpendoor"
:{
"loading"
:
"远程开门中"
,
"passwordInputTip"
:
"请输入远程开门密码"
,
"openDoorSuccess"
:
"远程开门成功"
,
"openDoorFailure"
:
"远程开门失败"
,
"remoteTimeout"
:
"远程开门超时"
,
"remoteOpendoorAgain"
:
"请尝试重试"
,
"error"
:{
"noPasswordTip"
:
"远程密码不能为空"
}},
"hijackRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"hijackingAlarm"
:
"劫持指纹报警"
},
"doorlockManage"
:{
"name"
:
"名称"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
,
"defaultNickname"
:
"门锁"
,
"isClearRecord"
:
"清除所有信息"
,
"unbindSuccess"
:
"解绑成功"
,
"doorbellMsgPush"
:
"门铃消息推送"
,
"alarmMsgPush"
:
"报警消息推送"
,
"opendoorMsgPush"
:
"开门消息推送"
,
"unbindDialogTip"
:
"确认解除绑定"
,
"unbindFailue"
:
"解绑失败"
},
"editName"
:{
"nameInputTip"
:
"请输入设备名称"
,
"nickNameInputTip"
:
"请输入用户名"
,
"editNameSuccess"
:
"修改名称成功"
,
"editNameFailue"
:
"修改名称失败"
,
"error"
:{
"nameCanNotBeBlank"
:
"设备名称不能为空"
,
"nicknameCanNotBeBlank"
:
"用户名不能为空"
}},
"qrcode"
:{
"helpTitle"
:
"注意事项:"
,
"helpCont1"
:
"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码"
,
"helpCont2"
:
"2.二维码有效时间为10分钟且只能使用一次"
,
"helpCont3"
:
"3.用户只需要扫描该二维码即可绑定指纹锁"
,
"helpCont4"
:
"4.绑定失败则需要重新生成二维码进行绑定"
},
"addDevice"
:{
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAdd"
:
"配置Wi-Fi"
,
"loading"
:
"loading"
,
"bindSuccess"
:
"绑定成功"
,
"bindFailure"
:
"绑定失败"
,
"reBindDevice"
:
"请重新绑定"
},
"wifiAddHelp"
:{
"helpTitle"
:
"配置WIFI说明:"
,
"helpCont1"
:
"1.确认设备端进入配网模式(详情操作请见产品说明书)"
,
"helpCont2"
:
"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面"
,
"helpCont3"
:
"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。"
,
"helpCont4"
:
"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"
},
"wifiAdd"
:{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"配网中"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
"passwordInputTip"
:
"请输入Wi-Fi密码"
,
"remindTitle"
:
"配置Wi-Fi提醒:"
,
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"error"
:{}},
"bindUserHelp"
:{
"helpTitle"
:
"配对姓名说明:"
,
"helpCont1"
:
"1.在指纹锁上录入指纹、密码、卡并获得相应ID"
,
"helpCont2"
:
"2.通过姓名绑定将该ID绑定对应用户姓名"
,
"helpCont3"
:
"3.绑定成功后,开门记录中将会显示已绑定的用户姓名"
,
"helpCont4"
:
"4.用户姓名信息只保存在APP端,不影响锁端设置"
,
"boundUser"
:
"查看已绑定ID姓名"
},
"bindUser"
:{
"editHeadTip"
:
"点击编辑用户头像"
,
"nameTitle"
:
"姓名"
,
"fingerprintIDTitle"
:
"指纹ID"
,
"passwordIDTitle"
:
"密码ID"
,
"ICCardIDTitle"
:
"IC卡ID"
,
"requiredInputTip"
:
"(必填)"
,
"optionalInputTip"
:
"(选填)"
,
"error"
:{}},
"commstatusLoading"
:{
"connectSuccess"
:
"Wi-Fi连接成功,正在绑定..."
,
"bindSuccess"
:
"绑定成功"
,
"bindFailed"
:
"绑定失败"
},
"userList"
:{
"name"
:
"昵称:"
,
"noUserTip"
:
"暂无用户"
,
"defaultName"
:
"管理员"
,
"binded"
:
"已绑定"
,
"unbind"
:
"未绑定"
},
"addUser"
:{
"nameInputTip"
:
"请输入您想添加的用户名"
,
"addUserSuccess"
:
"添加用户成功"
,
"addUserFailure"
:
"添加用户失败"
,
"error"
:{
"nameCanNotEmpty"
:
"用户名不能为空"
}},
"doorlockUser"
:{
"name"
:
"昵称:"
,
"inviteBind"
:
"邀请绑定"
,
"bindUnlockInfo"
:
"关联开锁信息"
,
"opendoorRecord"
:
"历史开门记录"
,
"unbindDialogTip"
:
"<span></span>解绑后,该用户不能对门锁下的信息进行查看"
,
"deleteUserDialogTip"
:
"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。"
,
"unbindSuccess"
:
"解绑成功"
,
"unbindFailue"
:
"解绑失败"
,
"guideStep1Tip1"
:
"邀请绑定成功"
,
"guideStep1Tip2"
:
"(可查看开门记录,报警记录等<br>相关门锁信息)"
,
"guideStep3Tip"
:
"绑定后看可了解<br>该用户的开门情况"
,
"deleteSuccess"
:
"删除成功"
,
"deleteFailure"
:
"删除失败"
,
"defaultName"
:
"管理员"
},
"inviteBind"
:{
"qrcodeExpireTip"
:
"二维码已过期,请重新生成"
,
"title"
:
"绑定方法:"
,
"cont1"
:
"1.受邀用户登录“U智锁”APP"
,
"cont2"
:
"2.选择“扫描绑定设备”"
,
"cont3"
:
"3.扫描上方二维码完成绑定"
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
"noInfoTip"
:
"当前无绑定开锁ID,请添加"
,
"passwordOpenDoor"
:
"密码"
,
"fingerprintOpenDoor"
:
"指纹"
,
"ICcardOpenDoor"
:
"IC卡"
,
"remoteOpenDoor"
:
"遥控器"
,
"keyOpenDoor"
:
"钥匙"
,
"appRemoteOpenDoor"
:
"app远程"
,
"hijackingAlarm"
:
"劫持指纹"
,
"setHijack"
:
"设为劫持"
,
"setHijackTip"
:
"确认设为劫持指纹?"
,
"cancelHijack"
:
"取消劫持"
,
"cancelHijackTip"
:
"确认取消劫持指纹?"
,
"cancelAssociated"
:
"取消关联"
,
"cancelAssociatedTip"
:
"取消关联后,开门历史记录中将不再显示关联的用户信息。"
,
"cancelAssociatedSuccess"
:
"取消关联成功"
,
"cancelAssociatedFailue"
:
"取消关联失败"
,
"setHijackSuccess"
:
"设为劫持指纹成功"
,
"setHijackFailue"
:
"设为劫持指纹失败"
,
"cancelHijackSuccess"
:
"取消劫持指纹成功"
,
"cancelHijackFailue"
:
"取消劫持指纹失败"
},
"addUnlockInfo"
:{
"opendoorMode"
:
"选择要关联的开锁方式"
,
"fingerprint"
:
"指纹"
,
"password"
:
"密码"
,
"icCard"
:
"IC卡"
,
"key"
:
"钥匙"
,
"remote"
:
"遥控器"
,
"hijackFingerprint"
:
"劫持指纹"
,
"opendoorRecord"
:
"选择要关联的开锁ID"
,
"tip"
:
"仅显示未绑定开门记录"
,
"addInfoSuccess"
:
"添加绑定开锁信息成功"
,
"addInfoFailue"
:
"添加绑定开锁信息失败"
,
"noRecordTip"
:
"暂无记录"
,
"setHijackSwitch"
:
"设为劫持指纹"
,
"guideStep1Tip"
:
"选择需要添加关联的开门方式"
,
"guideStep3Tip"
:
"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>"
,
"guideStep5Tip"
:
"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
},
"myInfo"
:{
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
},
"editNickname"
:{
"nickNameInputTip"
:
"请输入昵称"
},
"editPassword"
:{
"newPasswordInputTip"
:
"请输入新密码"
,
"oldPasswordInputTip"
:
"请输入旧密码"
,
"oldPasswordInputTipAgain"
:
"请再次输入旧密码"
},
"request"
:{
"error"
:
"请求发送失败"
,
"initError"
:
"初始化失败,请关闭APP重试"
},
"deviceList"
:{
"model"
:
"型号:"
,
"noDeviceTip"
:
"暂无产品型号"
},
"notice"
:{
"tip"
:
"您还未开启通知,将无法及时接受安全推送!"
,
"button"
:
"去开启"
},
"help"
:{
"title"
:
"如何解决安卓手机收不到消息提醒?"
,
"contTip"
:
"因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。"
,
"contTitle"
:
"如何设置:"
,
"contSubtitle1"
:
"1.设置自启动"
,
"contText1-1"
:
"安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。"
,
"contText1-2"
:
"在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。"
,
"step"
:
"操作步骤:"
,
"contSubtitle2"
:
"2.设置后台保活"
,
"contText2-1"
:
"安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。"
,
"contText2-2"
:
"在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。"
,
"contText3-1"
:
"安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。"
,
"contText3-2"
:
"启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
}}
\ No newline at end of file
web/resources/lang/zh.json
View file @
8637eb82
{
"loading"
:
"loading..."
,
"scroll"
:{
"clickToLoadMore"
:
"上拉加载更多"
,
"loading"
:
"loading"
},
"btn"
:{
"confirm"
:
"确定"
,
"guideLogin"
:
"账号/密码登录"
,
"login"
:
"登录"
,
"getCode"
:
"获取验证码"
,
"register"
:
"注册"
,
"logout"
:
"退出系统"
,
"save"
:
"保存"
,
"qrcode"
:
"生成二维码"
,
"wifiAdd"
:
"开始配置Wi-Fi"
,
"connect"
:
"连接"
,
"bindUser"
:
"绑定姓名"
,
"bind"
:
"我要绑定"
,
"reBound"
:
"请重新绑定"
,
"saveQRcode"
:
"保存二维码到相册"
,
"unbind"
:
"解绑"
,
"deleteUser"
:
"删除该用户"
,
"qrcodeReset"
:
"重新生成二维码"
,
"add"
:
"添加"
,
"next"
:
"下一步"
,
"iSee"
:
"我知道了"
,
"unbindDoorlock"
:
"解绑门锁"
},
"dialog"
:{
"confirm"
:
"确认"
,
"cancel"
:
"取消"
,
"unbind"
:
"解绑"
,
"delete"
:
"删除"
},
"title"
:{
"login"
:
"登录"
,
"register"
:
"注册"
,
"forgetPassword"
:
"忘记密码"
,
"device"
:
"U智锁"
,
"opendoorRecord"
:
"开门记录"
,
"alarmInfo"
:
"报警记录"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackRecord"
:
"劫持记录"
,
"doorlockManage"
:
"门锁管理"
,
"editName"
:
"修改名称"
,
"qrcode"
:
"生成绑定二维码"
,
"addDevice"
:
"添加设备"
,
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAddHelp"
:
"配置Wi-Fi"
,
"wifiAdd"
:
"连接Wi-Fi"
,
"bindUserHelp"
:
"ID-姓名绑定"
,
"bindUser"
:
"绑定用户"
,
"userList"
:
"用户列表"
,
"doorlockUser"
:
"门锁用户"
,
"addUser"
:
"添加用户"
,
"inviteBind"
:
"邀请绑定"
,
"unlockInfo"
:
"关联开锁信息"
,
"myInfo"
:
"个人信息"
,
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"addUnlockInfo"
:
"关联开锁ID"
,
"deviceList"
:
"产品型号"
},
"guide"
:{
"footer"
:
"指纹改变生活"
},
"login"
:{
"telInputTip"
:
"请输入手机号"
,
"passwordInputTip"
:
"请输入密码"
,
"register"
:
"快速注册"
,
"forgetPassword"
:
"忘记密码"
,
"failure"
:
"登陆失败"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"passWordNull"
:
"请输入密码"
}},
"register"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"forgetPassword"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"device"
:{
"opendoorRecord"
:
"开门记录"
,
"securityAlarm"
:
"安全报警"
,
"doorlockUser"
:
"门锁用户"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackAlarm"
:
"劫持报警"
,
"doorlockManage"
:
"门锁管理"
,
"followTitle"
:
"关注服务号"
,
"followCont1"
:
"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧"
,
"followCont2"
:
"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注"
,
"laterFollow"
:
"稍后关注"
,
"newMsgDoorlock"
:
"门锁最新消息"
,
"doorLockRinging"
:
"门铃响了"
,
"defaultNewMsg"
:
"您尚未绑定门锁"
,
"noNewMsg"
:
"门锁休息中"
,
"bindDoorlock"
:
"绑定门锁"
},
"opendoorRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"passwordOpenDoor"
:
"密码开门"
,
"fingerprintOpenDoor"
:
"指纹开门"
,
"ICcardOpenDoor"
:
"IC卡开门"
,
"remoteOpenDoor"
:
"遥控器开门"
,
"keyOpenDoor"
:
"钥匙开门"
,
"hijackingAlarm"
:
"劫持报警"
,
"appRemoteOpenDoor"
:
"app远程开门"
},
"alarmInfo"
:{
"noInfoTip"
:
"暂无信息"
,
"tamperAlarm"
:
"防撬报警"
,
"trialAlarm"
:
"试错报警"
,
"powerAlarm"
:
"欠电报警"
},
"remoteOpendoor"
:{
"loading"
:
"远程开门中"
,
"passwordInputTip"
:
"请输入远程开门密码"
,
"openDoorSuccess"
:
"远程开门成功"
,
"openDoorFailure"
:
"远程开门失败"
,
"remoteTimeout"
:
"远程开门超时"
,
"remoteOpendoorAgain"
:
"请尝试重试"
,
"error"
:{
"noPasswordTip"
:
"远程密码不能为空"
}},
"hijackRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"hijackingAlarm"
:
"劫持指纹报警"
},
"doorlockManage"
:{
"name"
:
"名称"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
,
"defaultNickname"
:
"门锁"
,
"isClearRecord"
:
"清除所有信息"
,
"unbindSuccess"
:
"解绑成功"
,
"doorbellMsgPush"
:
"门铃消息推送"
,
"alarmMsgPush"
:
"报警消息推送"
,
"opendoorMsgPush"
:
"开门消息推送"
,
"unbindDialogTip"
:
"确认解除绑定"
,
"unbindFailue"
:
"解绑失败"
},
"editName"
:{
"nameInputTip"
:
"请输入设备名称"
,
"nickNameInputTip"
:
"请输入用户名"
,
"editNameSuccess"
:
"修改名称成功"
,
"editNameFailue"
:
"修改名称失败"
,
"error"
:{
"nameCanNotBeBlank"
:
"设备名称不能为空"
,
"nicknameCanNotBeBlank"
:
"用户名不能为空"
}},
"qrcode"
:{
"helpTitle"
:
"注意事项:"
,
"helpCont1"
:
"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码"
,
"helpCont2"
:
"2.二维码有效时间为10分钟且只能使用一次"
,
"helpCont3"
:
"3.用户只需要扫描该二维码即可绑定指纹锁"
,
"helpCont4"
:
"4.绑定失败则需要重新生成二维码进行绑定"
},
"addDevice"
:{
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAdd"
:
"配置Wi-Fi"
,
"loading"
:
"loading"
,
"bindSuccess"
:
"绑定成功"
,
"bindFailure"
:
"绑定失败"
,
"reBindDevice"
:
"请重新绑定"
},
"wifiAddHelp"
:{
"helpTitle"
:
"配置WIFI说明:"
,
"helpCont1"
:
"1.确认设备端进入配网模式(详情操作请见产品说明书)"
,
"helpCont2"
:
"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面"
,
"helpCont3"
:
"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。"
,
"helpCont4"
:
"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"
},
"wifiAdd"
:{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"配网中"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
"passwordInputTip"
:
"请输入Wi-Fi密码"
,
"remindTitle"
:
"配置Wi-Fi提醒:"
,
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"error"
:{}},
"bindUserHelp"
:{
"helpTitle"
:
"配对姓名说明:"
,
"helpCont1"
:
"1.在指纹锁上录入指纹、密码、卡并获得相应ID"
,
"helpCont2"
:
"2.通过姓名绑定将该ID绑定对应用户姓名"
,
"helpCont3"
:
"3.绑定成功后,开门记录中将会显示已绑定的用户姓名"
,
"helpCont4"
:
"4.用户姓名信息只保存在APP端,不影响锁端设置"
,
"boundUser"
:
"查看已绑定ID姓名"
},
"bindUser"
:{
"editHeadTip"
:
"点击编辑用户头像"
,
"nameTitle"
:
"姓名"
,
"fingerprintIDTitle"
:
"指纹ID"
,
"passwordIDTitle"
:
"密码ID"
,
"ICCardIDTitle"
:
"IC卡ID"
,
"requiredInputTip"
:
"(必填)"
,
"optionalInputTip"
:
"(选填)"
,
"error"
:{}},
"commstatusLoading"
:{
"connectSuccess"
:
"Wi-Fi连接成功,正在绑定..."
,
"bindSuccess"
:
"绑定成功"
,
"bindFailed"
:
"绑定失败"
},
"userList"
:{
"name"
:
"昵称:"
,
"noUserTip"
:
"暂无用户"
,
"defaultName"
:
"管理员"
,
"binded"
:
"已绑定"
,
"unbind"
:
"未绑定"
},
"addUser"
:{
"nameInputTip"
:
"请输入您想添加的用户名"
,
"addUserSuccess"
:
"添加用户成功"
,
"addUserFailure"
:
"添加用户失败"
,
"error"
:{
"nameCanNotEmpty"
:
"用户名不能为空"
}},
"doorlockUser"
:{
"name"
:
"昵称:"
,
"inviteBind"
:
"邀请绑定"
,
"bindUnlockInfo"
:
"关联开锁信息"
,
"opendoorRecord"
:
"历史开门记录"
,
"unbindDialogTip"
:
"<span></span>解绑后,该用户不能对门锁下的信息进行查看"
,
"deleteUserDialogTip"
:
"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。"
,
"unbindSuccess"
:
"解绑成功"
,
"unbindFailue"
:
"解绑失败"
,
"guideStep1Tip1"
:
"邀请绑定成功"
,
"guideStep1Tip2"
:
"(可查看开门记录,报警记录等<br>相关门锁信息)"
,
"guideStep3Tip"
:
"绑定后看可了解<br>该用户的开门情况"
,
"deleteSuccess"
:
"删除成功"
,
"deleteFailure"
:
"删除失败"
,
"defaultName"
:
"管理员"
},
"inviteBind"
:{
"qrcodeExpireTip"
:
"二维码已过期,请重新生成"
,
"title"
:
"绑定方法:"
,
"cont1"
:
"1.受邀用户登录“U智锁”APP"
,
"cont2"
:
"2.选择“扫描绑定设备”"
,
"cont3"
:
"3.扫描上方二维码完成绑定"
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
"noInfoTip"
:
"当前无绑定开锁ID,请添加"
,
"passwordOpenDoor"
:
"密码"
,
"fingerprintOpenDoor"
:
"指纹"
,
"ICcardOpenDoor"
:
"IC卡"
,
"remoteOpenDoor"
:
"遥控器"
,
"keyOpenDoor"
:
"钥匙"
,
"appRemoteOpenDoor"
:
"app远程"
,
"hijackingAlarm"
:
"劫持指纹"
,
"setHijack"
:
"设为劫持"
,
"setHijackTip"
:
"确认设为劫持指纹?"
,
"cancelHijack"
:
"取消劫持"
,
"cancelHijackTip"
:
"确认取消劫持指纹?"
,
"cancelAssociated"
:
"取消关联"
,
"cancelAssociatedTip"
:
"取消关联后,开门历史记录中将不再显示关联的用户信息。"
,
"cancelAssociatedSuccess"
:
"取消关联成功"
,
"cancelAssociatedFailue"
:
"取消关联失败"
,
"setHijackSuccess"
:
"设为劫持指纹成功"
,
"setHijackFailue"
:
"设为劫持指纹失败"
,
"cancelHijackSuccess"
:
"取消劫持指纹成功"
,
"cancelHijackFailue"
:
"取消劫持指纹失败"
},
"addUnlockInfo"
:{
"opendoorMode"
:
"选择要关联的开锁方式"
,
"fingerprint"
:
"指纹"
,
"password"
:
"密码"
,
"icCard"
:
"IC卡"
,
"key"
:
"钥匙"
,
"remote"
:
"遥控器"
,
"hijackFingerprint"
:
"劫持指纹"
,
"opendoorRecord"
:
"选择要关联的开锁ID"
,
"tip"
:
"仅显示未绑定开门记录"
,
"addInfoSuccess"
:
"添加绑定开锁信息成功"
,
"addInfoFailue"
:
"添加绑定开锁信息失败"
,
"noRecordTip"
:
"暂无记录"
,
"setHijackSwitch"
:
"设为劫持指纹"
,
"guideStep1Tip"
:
"选择需要添加关联的开门方式"
,
"guideStep3Tip"
:
"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>"
,
"guideStep5Tip"
:
"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
},
"myInfo"
:{
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
},
"editNickname"
:{
"nickNameInputTip"
:
"请输入昵称"
},
"editPassword"
:{
"newPasswordInputTip"
:
"请输入新密码"
,
"oldPasswordInputTip"
:
"请输入旧密码"
,
"oldPasswordInputTipAgain"
:
"请再次输入旧密码"
},
"request"
:{
"error"
:
"请求发送失败"
,
"initError"
:
"初始化失败,请关闭APP重试"
},
"deviceList"
:{
"model"
:
"型号:"
,
"noDeviceTip"
:
"暂无产品型号"
}}
\ No newline at end of file
{
"loading"
:
"loading..."
,
"scroll"
:{
"clickToLoadMore"
:
"上拉加载更多"
,
"loading"
:
"loading"
},
"btn"
:{
"confirm"
:
"确定"
,
"guideLogin"
:
"账号/密码登录"
,
"login"
:
"登录"
,
"getCode"
:
"获取验证码"
,
"register"
:
"注册"
,
"logout"
:
"退出系统"
,
"save"
:
"保存"
,
"qrcode"
:
"生成二维码"
,
"wifiAdd"
:
"开始配置Wi-Fi"
,
"connect"
:
"连接"
,
"bindUser"
:
"绑定姓名"
,
"bind"
:
"我要绑定"
,
"startNow"
:
"立即体验"
,
"ignore"
:
"暂不开启"
,
"openNotify"
:
"开启推送通知"
,
"reBound"
:
"重新绑定"
,
"saveQRcode"
:
"保存二维码到相册"
,
"unbind"
:
"解绑"
,
"deleteUser"
:
"删除该用户"
,
"qrcodeReset"
:
"重新生成二维码"
,
"add"
:
"添加"
,
"next"
:
"下一步"
,
"iSee"
:
"我知道了"
,
"unbindDoorlock"
:
"解绑门锁"
,
"finish"
:
"完成"
},
"dialog"
:{
"confirm"
:
"确认"
,
"cancel"
:
"取消"
,
"unbind"
:
"解绑"
,
"delete"
:
"删除"
},
"title"
:{
"login"
:
"登录"
,
"register"
:
"注册"
,
"forgetPassword"
:
"忘记密码"
,
"device"
:
"U智锁"
,
"opendoorRecord"
:
"开门记录"
,
"alarmInfo"
:
"报警记录"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackRecord"
:
"劫持记录"
,
"doorlockManage"
:
"门锁管理"
,
"editName"
:
"修改名称"
,
"qrcode"
:
"生成绑定二维码"
,
"addDevice"
:
"添加设备"
,
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAddHelp"
:
"配置Wi-Fi"
,
"wifiAdd"
:
"连接Wi-Fi"
,
"bindUserHelp"
:
"ID-姓名绑定"
,
"bindUser"
:
"绑定用户"
,
"userList"
:
"用户列表"
,
"doorlockUser"
:
"门锁用户"
,
"addUser"
:
"添加用户"
,
"inviteBind"
:
"邀请绑定"
,
"unlockInfo"
:
"关联开锁信息"
,
"myInfo"
:
"个人信息"
,
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"addUnlockInfo"
:
"关联开锁ID"
,
"deviceList"
:
"产品型号"
},
"guide"
:{
"footer"
:
"指纹改变生活"
},
"login"
:{
"telInputTip"
:
"请输入手机号"
,
"passwordInputTip"
:
"请输入密码"
,
"register"
:
"快速注册"
,
"forgetPassword"
:
"忘记密码"
,
"failure"
:
"登陆失败"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"passWordNull"
:
"请输入密码"
}},
"register"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"forgetPassword"
:{
"telInputTip"
:
"请输入手机号"
,
"codeInputTip"
:
"请输入验证码"
,
"passwordInputTip"
:
"请输入6位登录密码"
,
"error"
:{
"telNull"
:
"请输入手机号"
,
"codeNull"
:
"请输入验证码"
,
"passWordNull"
:
"请输入密码"
}},
"device"
:{
"opendoorRecord"
:
"开门记录"
,
"securityAlarm"
:
"安全报警"
,
"doorlockUser"
:
"门锁用户"
,
"remoteOpendoor"
:
"远程开门"
,
"hijackAlarm"
:
"劫持报警"
,
"doorlockManage"
:
"门锁管理"
,
"followTitle"
:
"关注服务号"
,
"followCont1"
:
"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧"
,
"followCont2"
:
"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注"
,
"laterFollow"
:
"稍后关注"
,
"newMsgDoorlock"
:
"门锁最新消息"
,
"doorLockRinging"
:
"门铃响了"
,
"defaultNewMsg"
:
"您尚未绑定门锁"
,
"noNewMsg"
:
"门锁休息中"
,
"bindDoorlock"
:
"绑定门锁"
},
"opendoorRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"passwordOpenDoor"
:
"密码开门"
,
"fingerprintOpenDoor"
:
"指纹开门"
,
"ICcardOpenDoor"
:
"IC卡开门"
,
"remoteOpenDoor"
:
"遥控器开门"
,
"keyOpenDoor"
:
"钥匙开门"
,
"hijackingAlarm"
:
"劫持报警"
,
"appRemoteOpenDoor"
:
"app远程开门"
},
"alarmInfo"
:{
"noInfoTip"
:
"暂无信息"
,
"tamperAlarm"
:
"防撬报警"
,
"trialAlarm"
:
"试错报警"
,
"powerAlarm"
:
"欠电报警"
},
"remoteOpendoor"
:{
"loading"
:
"远程开门中"
,
"passwordInputTip"
:
"请输入远程开门密码"
,
"openDoorSuccess"
:
"远程开门成功"
,
"openDoorFailure"
:
"远程开门失败"
,
"remoteTimeout"
:
"远程开门超时"
,
"remoteOpendoorAgain"
:
"请尝试重试"
,
"error"
:{
"noPasswordTip"
:
"远程密码不能为空"
}},
"hijackRecord"
:{
"noRecordTip"
:
"暂无记录"
,
"hijackingAlarm"
:
"劫持指纹报警"
},
"doorlockManage"
:{
"name"
:
"名称"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
,
"defaultNickname"
:
"门锁"
,
"isClearRecord"
:
"清除所有信息"
,
"unbindSuccess"
:
"解绑成功"
,
"doorbellMsgPush"
:
"门铃消息推送"
,
"alarmMsgPush"
:
"报警消息推送"
,
"opendoorMsgPush"
:
"开门消息推送"
,
"unbindDialogTip"
:
"确认解除绑定"
,
"unbindFailue"
:
"解绑失败"
},
"editName"
:{
"nameInputTip"
:
"请输入设备名称"
,
"nickNameInputTip"
:
"请输入用户名"
,
"editNameSuccess"
:
"修改名称成功"
,
"editNameFailue"
:
"修改名称失败"
,
"error"
:{
"nameCanNotBeBlank"
:
"设备名称不能为空"
,
"nicknameCanNotBeBlank"
:
"用户名不能为空"
}},
"qrcode"
:{
"helpTitle"
:
"注意事项:"
,
"helpCont1"
:
"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码"
,
"helpCont2"
:
"2.二维码有效时间为10分钟且只能使用一次"
,
"helpCont3"
:
"3.用户只需要扫描该二维码即可绑定指纹锁"
,
"helpCont4"
:
"4.绑定失败则需要重新生成二维码进行绑定"
},
"addDevice"
:{
"scanCodeAdd"
:
"扫描绑定设备"
,
"wifiAdd"
:
"配置Wi-Fi"
,
"loading"
:
"loading"
,
"bindSuccess"
:
"绑定成功"
,
"bindFailure"
:
"绑定失败"
,
"reBindDevice"
:
"请重新绑定"
},
"wifiAddHelp"
:{
"helpTitle"
:
"配置WIFI说明:"
,
"helpCont1"
:
"1.确认设备端进入配网模式(详情操作请见产品说明书)"
,
"helpCont2"
:
"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面"
,
"helpCont3"
:
"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。"
,
"helpCont4"
:
"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"
},
"wifiAdd"
:{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"配网中"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
"passwordInputTip"
:
"请输入Wi-Fi密码"
,
"remindTitle"
:
"配置Wi-Fi提醒:"
,
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"noticeTip"
:
"检测到您还未开启通知,将无法及时<br>接受安全推送"
,
"error"
:{}},
"bindUserHelp"
:{
"helpTitle"
:
"配对姓名说明:"
,
"helpCont1"
:
"1.在指纹锁上录入指纹、密码、卡并获得相应ID"
,
"helpCont2"
:
"2.通过姓名绑定将该ID绑定对应用户姓名"
,
"helpCont3"
:
"3.绑定成功后,开门记录中将会显示已绑定的用户姓名"
,
"helpCont4"
:
"4.用户姓名信息只保存在APP端,不影响锁端设置"
,
"boundUser"
:
"查看已绑定ID姓名"
},
"bindUser"
:{
"editHeadTip"
:
"点击编辑用户头像"
,
"nameTitle"
:
"姓名"
,
"fingerprintIDTitle"
:
"指纹ID"
,
"passwordIDTitle"
:
"密码ID"
,
"ICCardIDTitle"
:
"IC卡ID"
,
"requiredInputTip"
:
"(必填)"
,
"optionalInputTip"
:
"(选填)"
,
"error"
:{}},
"commstatusLoading"
:{
"connectSuccess"
:
"Wi-Fi连接成功,正在绑定..."
,
"bindSuccess"
:
"绑定成功"
,
"bindFailed"
:
"绑定失败"
},
"userList"
:{
"name"
:
"昵称:"
,
"noUserTip"
:
"暂无用户"
,
"defaultName"
:
"管理员"
,
"binded"
:
"已绑定"
,
"unbind"
:
"未绑定"
},
"addUser"
:{
"nameInputTip"
:
"请输入您想添加的用户名"
,
"addUserSuccess"
:
"添加用户成功"
,
"addUserFailure"
:
"添加用户失败"
,
"error"
:{
"nameCanNotEmpty"
:
"用户名不能为空"
}},
"doorlockUser"
:{
"name"
:
"昵称:"
,
"inviteBind"
:
"邀请绑定"
,
"bindUnlockInfo"
:
"关联开锁信息"
,
"opendoorRecord"
:
"历史开门记录"
,
"unbindDialogTip"
:
"<span></span>解绑后,该用户不能对门锁下的信息进行查看"
,
"deleteUserDialogTip"
:
"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。"
,
"unbindSuccess"
:
"解绑成功"
,
"unbindFailue"
:
"解绑失败"
,
"guideStep1Tip1"
:
"邀请绑定成功"
,
"guideStep1Tip2"
:
"(可查看开门记录,报警记录等<br>相关门锁信息)"
,
"guideStep3Tip"
:
"绑定后看可了解<br>该用户的开门情况"
,
"deleteSuccess"
:
"删除成功"
,
"deleteFailure"
:
"删除失败"
,
"defaultName"
:
"管理员"
},
"inviteBind"
:{
"qrcodeExpireTip"
:
"二维码已过期,请重新生成"
,
"title"
:
"绑定方法:"
,
"cont1"
:
"1.受邀用户登录“U智锁”APP"
,
"cont2"
:
"2.选择“扫描绑定设备”"
,
"cont3"
:
"3.扫描上方二维码完成绑定"
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
"noInfoTip"
:
"当前无绑定开锁ID,请添加"
,
"passwordOpenDoor"
:
"密码"
,
"fingerprintOpenDoor"
:
"指纹"
,
"ICcardOpenDoor"
:
"IC卡"
,
"remoteOpenDoor"
:
"遥控器"
,
"keyOpenDoor"
:
"钥匙"
,
"appRemoteOpenDoor"
:
"app远程"
,
"hijackingAlarm"
:
"劫持指纹"
,
"setHijack"
:
"设为劫持"
,
"setHijackTip"
:
"确认设为劫持指纹?"
,
"cancelHijack"
:
"取消劫持"
,
"cancelHijackTip"
:
"确认取消劫持指纹?"
,
"cancelAssociated"
:
"取消关联"
,
"cancelAssociatedTip"
:
"取消关联后,开门历史记录中将不再显示关联的用户信息。"
,
"cancelAssociatedSuccess"
:
"取消关联成功"
,
"cancelAssociatedFailue"
:
"取消关联失败"
,
"setHijackSuccess"
:
"设为劫持指纹成功"
,
"setHijackFailue"
:
"设为劫持指纹失败"
,
"cancelHijackSuccess"
:
"取消劫持指纹成功"
,
"cancelHijackFailue"
:
"取消劫持指纹失败"
},
"addUnlockInfo"
:{
"opendoorMode"
:
"选择要关联的开锁方式"
,
"fingerprint"
:
"指纹"
,
"password"
:
"密码"
,
"icCard"
:
"IC卡"
,
"key"
:
"钥匙"
,
"remote"
:
"遥控器"
,
"hijackFingerprint"
:
"劫持指纹"
,
"opendoorRecord"
:
"选择要关联的开锁ID"
,
"tip"
:
"仅显示未绑定开门记录"
,
"addInfoSuccess"
:
"添加绑定开锁信息成功"
,
"addInfoFailue"
:
"添加绑定开锁信息失败"
,
"noRecordTip"
:
"暂无记录"
,
"setHijackSwitch"
:
"设为劫持指纹"
,
"guideStep1Tip"
:
"选择需要添加关联的开门方式"
,
"guideStep3Tip"
:
"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>"
,
"guideStep5Tip"
:
"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
},
"myInfo"
:{
"editNickname"
:
"修改昵称"
,
"editPassword"
:
"修改密码"
,
"logoutDialogTip"
:
"确定要退出系统吗?"
},
"editNickname"
:{
"nickNameInputTip"
:
"请输入昵称"
},
"editPassword"
:{
"newPasswordInputTip"
:
"请输入新密码"
,
"oldPasswordInputTip"
:
"请输入旧密码"
,
"oldPasswordInputTipAgain"
:
"请再次输入旧密码"
},
"request"
:{
"error"
:
"请求发送失败"
,
"initError"
:
"初始化失败,请关闭APP重试"
},
"deviceList"
:{
"model"
:
"型号:"
,
"noDeviceTip"
:
"暂无产品型号"
},
"notice"
:{
"tip"
:
"您还未开启通知,将无法及时接受安全推送!"
,
"button"
:
"去开启"
},
"help"
:{
"title"
:
"如何解决安卓手机收不到消息提醒?"
,
"contTip"
:
"因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。"
,
"contTitle"
:
"如何设置:"
,
"contSubtitle1"
:
"1.设置自启动"
,
"contText1-1"
:
"安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。"
,
"contText1-2"
:
"在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。"
,
"step"
:
"操作步骤:"
,
"contSubtitle2"
:
"2.设置后台保活"
,
"contText2-1"
:
"安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。"
,
"contText2-2"
:
"在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。"
,
"contText3-1"
:
"安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。"
,
"contText3-2"
:
"启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
}}
\ No newline at end of file
web/view/addDevice/addDevice.css
View file @
8637eb82
...
...
@@ -911,7 +911,7 @@ p {
}
}
.u-
comm-loading
{
.u-
process
{
position
:
fixed
;
top
:
0
;
left
:
0
;
...
...
@@ -921,24 +921,24 @@ p {
background-color
:
rgba
(
0
,
0
,
0
,
0.8
);
}
.u-
comm-loading
.u-comm-loading
-content
{
.u-
process
.u-process
-content
{
position
:
absolute
;
top
:
50%
;
left
:
0
;
-webkit-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
);
right
:
0
;
width
:
100%
;
}
.u-
comm-loading
.u-comm-loading
-content
.loader
{
.u-
process
.u-process
-content
.loader
{
font-size
:
0.427rem
;
margin
:
0
auto
;
width
:
3.750em
;
height
:
3.750em
;
margin
:
0
auto
;
position
:
relative
;
}
.u-
comm-loading
.u-comm-loading
-content
.loader
:before
{
.u-
process
.u-process
-content
.loader
:before
{
content
:
''
;
position
:
absolute
;
top
:
0
;
...
...
@@ -953,15 +953,15 @@ p {
transform
:
translateZ
(
0
)
scale
(
0.55
);
}
.u-
comm-loading
.u-comm-loading
-content
.icon
{
.u-
process
.u-process
-content
.icon
{
font-size
:
0.427rem
;
margin
:
0
auto
;
width
:
3.750em
;
height
:
3.750em
;
margin
:
0
auto
;
position
:
relative
;
}
.u-
comm-loading
.u-comm-loading
-content
.icon
:before
{
.u-
process
.u-process
-content
.icon
:before
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
...
...
@@ -973,100 +973,71 @@ p {
line-height
:
1
;
}
.u-comm-loading
.u-comm-loading-content
.u-comm-loading-text
{
font-size
:
0.427rem
;
.u-process
.u-process-content
.u-process-text
{
margin-top
:
0.533rem
;
text-align
:
center
;
}
.u-
comm-loading
.u-comm-loading
-button
{
.u-
process
.u-process
-button
{
position
:
absolute
;
bottom
:
1.733rem
;
left
:
0
;
right
:
0
;
width
:
6.4rem
;
color
:
#fff
;
font-size
:
inherit
;
background-color
:
#007aff
;
border-radius
:
0.533rem
;
text-align
:
center
;
line-height
:
1
;
margin
:
0
auto
;
padding
:
0.267rem
0
;
-webkit-transition
:
all
0.2s
linear
;
transition
:
all
0.2s
linear
;
background-clip
:
padding-box
;
}
.u-comm-loading
.u-comm-loading-button
:active
{
background-color
:
#0065ff
;
}
.u-comm-loading
.u-comm-loading-button.disabled
{
background-color
:
#bbb
;
width
:
100%
;
display
:
table
;
table-layout
:
fixed
;
border-collapse
:
separate
;
border-spacing
:
0.667rem
0
;
}
.u-
comm-loading.u-comm-loading-status-0
.u-comm-loading
-content
{
.u-
process.u-process-status-0
.u-process
-content
{
color
:
#00ffff
;
}
.u-
comm-loading.u-comm-loading-status-0
.u-comm-loading
-content
.loader
{
.u-
process.u-process-status-0
.u-process
-content
.loader
{
display
:
block
;
}
.u-
comm-loading.u-comm-loading-status-0
.u-comm-loading
-content
.loader
:before
{
-webkit-animation
:
commLoading
1.3s
infinite
linear
;
animation
:
commLoading
1.3s
infinite
linear
;
.u-
process.u-process-status-0
.u-process
-content
.loader
:before
{
-webkit-animation
:
commLoading
1.3s
linear
infinite
;
animation
:
commLoading
1.3s
linear
infinite
;
}
.u-
comm-loading.u-comm-loading-status-0
.u-comm-loading
-content
.icon
{
.u-
process.u-process-status-0
.u-process
-content
.icon
{
display
:
none
;
}
.u-comm-loading.u-comm-loading-status-0
.u-comm-loading-button
{
display
:
none
;
}
.u-comm-loading.u-comm-loading-status-1
.u-comm-loading-content
{
.u-process.u-process-status-1
.u-process-content
{
color
:
#00ffff
;
}
.u-
comm-loading.u-comm-loading-status-1
.u-comm-loading
-content
.loader
{
.u-
process.u-process-status-1
.u-process
-content
.loader
{
display
:
none
;
}
.u-
comm-loading.u-comm-loading-status-1
.u-comm-loading
-content
.icon
{
.u-
process.u-process-status-1
.u-process
-content
.icon
{
display
:
block
;
}
.u-
comm-loading.u-comm-loading-status-1
.u-comm-loading
-content
.icon
:before
{
.u-
process.u-process-status-1
.u-process
-content
.icon
:before
{
content
:
'\e800'
;
}
.u-comm-loading.u-comm-loading-status-1
.u-comm-loading-button
{
display
:
block
;
}
.u-comm-loading.u-comm-loading-status-2
.u-comm-loading-content
{
.u-process.u-process-status-2
.u-process-content
{
color
:
#fff
;
}
.u-
comm-loading.u-comm-loading-status-2
.u-comm-loading
-content
.loader
{
.u-
process.u-process-status-2
.u-process
-content
.loader
{
display
:
none
;
}
.u-
comm-loading.u-comm-loading-status-2
.u-comm-loading
-content
.icon
{
.u-
process.u-process-status-2
.u-process
-content
.icon
{
display
:
block
;
}
.u-
comm-loading.u-comm-loading-status-2
.u-comm-loading
-content
.icon
:before
{
.u-
process.u-process-status-2
.u-process
-content
.icon
:before
{
content
:
'\e646'
;
}
.u-comm-loading.u-comm-loading-status-2
.u-comm-loading-button
{
display
:
block
;
}
@-webkit-keyframes
commLoading
{
0
%,
100
%
{
-webkit-box-shadow
:
0
-3em
0
0.2em
,
2em
-2em
0
0em
,
3em
0
0
-1em
,
2em
2em
0
-1em
,
0
3em
0
-1em
,
-2em
2em
0
-1em
,
-3em
0
0
-1em
,
-2em
-2em
0
0
;
...
...
@@ -1151,20 +1122,62 @@ p {
}
}
.custom-comm-loading
{
background-color
:
rgba
(
36
,
38
,
53
,
0.9
);
.scanContent
{
position
:
fixed
;
top
:
1.173rem
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
}
.noticeContent
{
color
:
#FF0000
;
line-height
:
1.5
;
text-align
:
center
;
width
:
100%
;
display
:
inline-block
;
position
:
absolute
;
bottom
:
-100%
;
}
.noticeContent
span
:first-child
{
font-family
:
iconfont
;
font-size
:
0.533rem
;
-webkit-font-smoothing
:
antialiased
;
line-height
:
1
;
}
.custom-process-button
{
position
:
absolute
;
bottom
:
inherit
;
left
:
0
;
right
:
0
;
width
:
7.333rem
;
border-radius
:
0.133rem
;
background-color
:
transparent
;
border
:
0.027rem
solid
;
color
:
#00ffff
;
font-size
:
0.427rem
;
text-align
:
center
;
line-height
:
1
;
margin
:
0
auto
;
padding
:
0.267rem
0
;
-webkit-transition
:
all
0.2s
linear
;
transition
:
all
0.2s
linear
;
background-clip
:
padding-box
;
}
.custom-
comm-loading
.u-comm-loading-b
utton
{
bottom
:
3.573rem
;
.custom-
process-cancelB
utton
{
bottom
:
0
;
width
:
2.667rem
;
color
:
#00ffff
;
font-size
:
0.32rem
;
background-color
:
transparent
;
padding
:
0.48rem
0
0.133rem
;
border
:
none
;
}
.custom-
comm-loading
.u-comm-loading-b
utton
:after
{
.custom-
process-cancelB
utton
:after
{
content
:
''
;
position
:
absolute
;
bottom
:
0
;
...
...
@@ -1175,18 +1188,10 @@ p {
background
:
linear-gradient
(
to
right
,
#242635
,
#00ffff
,
#242635
);
}
.custom-
comm-loading
.u-comm-loading-b
utton
:active
{
.custom-
process-cancelB
utton
:active
{
background-color
:
transparent
;
}
.custom-
comm-loading
.u-comm-loading-b
utton.disabled
{
.custom-
process-cancelB
utton.disabled
{
background-color
:
transparent
;
}
\ No newline at end of file
.scanContent
{
position
:
fixed
;
top
:
1.173rem
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
}
\ No newline at end of file
web/view/addDevice/wifiAdd.html
View file @
8637eb82
...
...
@@ -43,10 +43,18 @@
</ul>
<u-button
:init-param=
"componentsConfig.connectButton.initParam"
v-on:u-button-tap=
"onConnectButtonTap"
></u-button>
</div>
<u-comm-loading
ref=
"ucommloading"
:init-param=
"componentsConfig.ucommloading.initParam"
v-on:u-comm-loading-tap=
"onCommLoadingButtonTap()"
>
<
!--<
u-comm-loading ref="ucommloading" :init-param="componentsConfig.ucommloading.initParam" v-on:u-comm-loading-tap="onCommLoadingButtonTap()">
<p class="loader"></p>
<p class="icon"></p>
</u-comm-loading>
</u-comm-loading> -->
<u-process
ref=
"uprocess"
:init-param=
"componentsConfig.processLoading.initParam"
>
<p
class=
"loader"
></p>
<p
class=
"icon"
></p>
<p
class=
"noticeContent"
v-show =
"noticeTipShowFlag"
>
<span>

</span>
<span
v-html=
"$t('wifiAdd.noticeTip')"
></span>
</p>
</u-process>
<u-dialog
ref=
"udialog"
:init-param=
"componentsConfig.dialog.initParam"
></u-dialog>
<u-loading
ref=
"uloading"
:init-param=
"componentsConfig.loading.initParam"
></u-loading>
</div>
...
...
web/view/device/alarmInfo.html
View file @
8637eb82
...
...
@@ -25,7 +25,14 @@
<v-touch
tag=
"span"
class=
"header-left icon"
v-on:tap=
"onBackTap"
>

</v-touch>
<p>
{{ $t('title.alarmInfo') }}
</p>
</div>
<div
class=
"content"
>
<div
class=
"notice"
v-if=
"noticeTipShowFlag"
>
<span>

</span>
{{ $t('notice.tip') }}
<v-touch
tag=
"span"
v-on:tap=
"onNotifycationSetting()"
>
{{ $t('notice.button') }}
</v-touch>
</div>
<u-list
ref=
"ulist"
:init-param=
"componentsConfig.alarmInfoList.initParam"
v-on:u-list-load=
"onListLoad()"
></u-list>
</div>
<u-dialog
ref=
"udialog"
:init-param=
"componentsConfig.dialog.initParam"
></u-dialog>
<u-loading
ref=
"uloading"
:init-param=
"componentsConfig.loading.initParam"
></u-loading>
</div>
...
...
web/view/device/hijackRecord.html
View file @
8637eb82
...
...
@@ -25,7 +25,14 @@
<v-touch
tag=
"span"
class=
"header-left icon"
v-on:tap=
"onBackTap"
>

</v-touch>
<p>
{{ $t('title.hijackRecord') }}
</p>
</div>
<div
class=
"content"
>
<div
class=
"notice"
v-if=
"noticeTipShowFlag"
>
<span>

</span>
{{ $t('notice.tip') }}
<v-touch
tag=
"span"
v-on:tap=
"onNotifycationSetting()"
>
{{ $t('notice.button') }}
</v-touch>
</div>
<u-list
ref=
"ulist"
:init-param=
"componentsConfig.hijackRecordList.initParam"
v-on:u-list-load=
"onListLoad()"
></u-list>
</div>
<u-dialog
ref=
"udialog"
:init-param=
"componentsConfig.dialog.initParam"
></u-dialog>
<u-loading
ref=
"uloading"
:init-param=
"componentsConfig.loading.initParam"
></u-loading>
</div>
...
...
web/view/device/opendoorRecord.html
View file @
8637eb82
...
...
@@ -25,7 +25,14 @@
<v-touch
tag=
"span"
class=
"header-left icon"
v-on:tap=
"onBackTap"
>

</v-touch>
<p>
{{ $t('title.opendoorRecord') }}
</p>
</div>
<div
class=
"content"
>
<div
class=
"notice"
v-if=
"noticeTipShowFlag"
>
<span>

</span>
{{ $t('notice.tip') }}
<v-touch
tag=
"span"
v-on:tap=
"onNotifycationSetting()"
>
{{ $t('notice.button') }}
</v-touch>
</div>
<u-list
ref=
"ulist"
:init-param=
"componentsConfig.opendoorRecordList.initParam"
v-on:u-list-load=
"onListLoad()"
></u-list>
</div>
<u-dialog
ref=
"udialog"
:init-param=
"componentsConfig.dialog.initParam"
></u-dialog>
<u-loading
ref=
"uloading"
:init-param=
"componentsConfig.loading.initParam"
></u-loading>
</div>
...
...
web/view/device/recordList.css
View file @
8637eb82
...
...
@@ -599,6 +599,21 @@ p {
padding-top
:
2.347rem
;
}
.notice
{
height
:
0.533rem
;
}
.notice
span
:first-child
{
font-family
:
iconfont
;
font-size
:
0.64rem
;
-webkit-font-smoothing
:
antialiased
;
line-height
:
1
;
}
.notice
~
.custom-list
{
top
:
1.707rem
;
}
@-webkit-keyframes
refresh
{
0
%
{
-webkit-transform
:
rotate3d
(
0
,
0
,
1
,
0deg
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment