Commit a0a033cd by jenny

Merge branch 'zjx' into 'master'

merge zjx 76a6e035 76353011 fd29a166

See merge request iot-project-js/doorlock!1
parents de3d8ca3 76a6e035
......@@ -37,7 +37,7 @@
"login": "登录",
"register": "注册",
"forgetPassword": "忘记密码",
"device": "智能指纹锁",
"device": "U智锁",
"opendoorRecord": "开门记录",
"alarmInfo": "报警信息",
"remoteOpendoor": "远程开门",
......
......@@ -46,6 +46,6 @@ export default {
"ringBell_timeout": 300,
"intervalTime": 3,
"getHistoryTime": 10,
// "audioUrl": "../../resources/audio/tipSound.mp3"
"audioUrl": "_www/resources/audio/tipSound.mp3"
"audioUrl": "../../resources/audio/tipSound.mp3"
// "audioUrl": "_www/resources/audio/tipSound.mp3"
}
\ No newline at end of file
......@@ -239,31 +239,7 @@ iot.navigator.getCurrentWebView = function (){
}
uPublic.loopUtils = function(func, opts, intervalTime, time){
var _this = this;
var params = _extends({}, opts);
var loop = function loop() {
var handle = setTimeout(function () {
_this.loopUtils(func, opts, intervalTime, time);
window.clearTimeout(handle);
}, intervalTime);
};
params.success = function (ret) {
if (opts.success(ret) === false) {
return;
}
loop();
};
params.error = function (err) {
if (opts.error(err) === false) {
return;
}
loop();
};
func();
var timeout = setTimeout(function (){
window.clearTimeout(handle);
window.clearTimeout(timeout);
}, time);
}
export {iot, uPublic, uComponents}
\ No newline at end of file
......@@ -23,6 +23,7 @@ function init() {
list:[],
startId: 0,
deviceId: null,
flag: true
},
mounted(){
resolve(this);
......@@ -94,6 +95,17 @@ function initComponentsConfig() {
},
success: (response) => {
console.log(response);
if(self.flag){
let data = uPublic.checkResponseData(response.data);
if(data && data.record.length > 0){
let record = data.record;
iot.storage.setMap('notifyTime', moment(record[0].time).toISOString(), (res) => {
console.log(res);
self.flag = false;
}, () => {
});
}
}
let data = uPublic.checkResponseData(response.data);
if(data){
let list = [];
......
......@@ -24,7 +24,8 @@ function init() {
list: [],
startId: 0,
deviceId: null,
userInfo: []
userInfo: [],
flag: true
},
mounted(){
resolve(this);
......@@ -101,6 +102,17 @@ function initComponentsConfig() {
page_size: PAGE_SIZE
},
success: (response) => {
if(self.flag){
let data = uPublic.checkResponseData(response.data);
if(data && data.record.length > 0){
let record = data.record;
iot.storage.setMap('alarmTime', moment(record[0].time).toISOString(), (res) => {
console.log(res);
self.flag = false;
}, () => {
});
}
}
let data = uPublic.checkResponseData(response.data);
if(data){
console.log(data);
......
......@@ -510,8 +510,10 @@ function registerPushListener(self){
success: (response) => {
console.log("registerPushListener");
console.log(response);
let data = response.data;
setDevceInfo(self, data.params.data);
let data = uPublic.checkResponseData(response.data.params.data);
if(data){
sdsDataPorcessing(self, data);
}
},
error: (error) => {
console.log(error);
......@@ -548,22 +550,22 @@ async function getRecordTime(self, data){
let newNotifyTime = moment(data.notify_time);
let newAlarmTime = moment(data.alarm_time);
let newOpenTime = moment(data.open_time);
console.log("newNotifyTime"+newNotifyTime);
console.log("newAlarmTime"+newAlarmTime);
console.log("newOpenTime"+newOpenTime);
console.log("notifyTime"+self.notifyTime);
console.log("alarmTime"+self.alarmTime);
console.log("openTime"+self.openTime);
let now = moment();
// console.log("newNotifyTime:"+newNotifyTime.format('YYYY-MM-DD hh:mm:ss'));
// console.log("newAlarmTime:"+newAlarmTime.format('YYYY-MM-DD hh:mm:ss'));
// console.log("newOpenTime:"+newOpenTime.format('YYYY-MM-DD hh:mm:ss'));
// console.log("notifyTime:"+moment(self.notifyTime,moment.ISO_8601).format('YYYY-MM-DD hh:mm:ss'));
// console.log("alarmTime:"+moment(self.alarmTime,moment.ISO_8601).format('YYYY-MM-DD hh:mm:ss'));
// console.log("openTime:"+moment(self.openTime,moment.ISO_8601).format('YYYY-MM-DD hh:mm:ss'));
let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
if(self.notifyTime){
console.log("notifyTime"+newNotifyTime.diff(self.notifyTime, 'seconds'));
// console.log("notifyTime"+newNotifyTime.diff(self.notifyTime, 'seconds'));
self.notifyTime = moment(self.notifyTime,moment.ISO_8601);
if(newNotifyTime != null && newNotifyTime.diff(self.notifyTime, 'seconds') >= 0){
if(newNotifyTime != null && newNotifyTime.diff(self.notifyTime, 'seconds') > 0){
self.securityAlarmFlag = true;
self.notifyTime = newNotifyTime;
}
}else{
console.log("notifyTime"+now.diff(newNotifyTime, 'hours'));
// console.log("notifyTime"+now.diff(newNotifyTime, 'hours'));
if(newNotifyTime != null && now.diff(newNotifyTime, 'hours') < 1){
self.securityAlarmFlag = true;
self.notifyTime = newNotifyTime;
......@@ -571,13 +573,13 @@ async function getRecordTime(self, data){
}
if(self.alarmTime){
self.alarmTime = moment(self.alarmTime,moment.ISO_8601);
console.log("Alarm"+newAlarmTime.diff(self.alarmTime, 'seconds'));
if(newAlarmTime != null && newAlarmTime.diff(self.alarmTime, 'seconds') >= 0){
// console.log("Alarm"+newAlarmTime.diff(self.alarmTime, 'seconds'));
if(newAlarmTime != null && newAlarmTime.diff(self.alarmTime, 'seconds') > 0){
self.hijackAlarmFlag = true;
self.alarmTime = newAlarmTime;
}
}else{
console.log("Alarm"+now.diff(newAlarmTime, 'hours'));
// console.log("Alarm"+now.diff(newAlarmTime, 'hours'));
if(newAlarmTime != null && now.diff(newAlarmTime, 'hours') < 1){
self.hijackAlarmFlag = true;
self.alarmTime = newAlarmTime;
......@@ -585,35 +587,27 @@ async function getRecordTime(self, data){
}
if(self.openTime){
self.openTime = moment(self.openTime,moment.ISO_8601);
console.log("openTime"+newOpenTime.diff(self.openTime, 'seconds'));
if(newOpenTime != null && newOpenTime.diff(self.openTime, 'seconds') >= 0){
// console.log("openTime"+newOpenTime.diff(self.openTime, 'seconds'));
if(newOpenTime != null && newOpenTime.diff(self.openTime, 'seconds') > 0){
self.opendoorRecordFlag = true;
self.openTime = newOpenTime;
}
}else{
console.log("openTime"+now.diff(newOpenTime, 'hours'));
// console.log("openTime"+now.diff(newOpenTime, 'hours'));
if(newOpenTime != null && now.diff(newOpenTime, 'hours') < 1){
self.opendoorRecordFlag = true;
console.log(newOpenTime);
self.openTime = newOpenTime;
}
}
}
function setRecordTime(timeKey, time){
console.log(time);
iot.storage.setMap(timeKey, time, (res) => {
console.log(res);
}, () => {
});
}
//获取websql上的firstLogin
function getRecordTimeMap(time) {
return new Promise(function (resolve, reject) {
console.log(time);
// console.log(time);
iot.storage.getMap(time, (res) => {
if (res) {
// console.log('获取时间:'+moment(res).format('YYYY-MM-DD hh:mm:ss'));
resolve(res);
} else {
reject(res);
......@@ -644,9 +638,10 @@ function getDeviceStatus(self){
},
success: (response) => {
console.log(response);
let data = response.data;
console.log("getStatus");
setDevceInfo(self, data);
let data = uPublic.checkResponseData(response.data);
if(data){
setBatteryPercentAndIcon(self, data.BatteryPercentage.value);
}
},
error: (error) => {
console.log(error);
......@@ -665,67 +660,50 @@ function getLockInfo(self){
console.log("getLockInfo");
iot.business.api.sendCustom('lock/getLockInfo',{
data: {
device_id: self.deviceId,
// product_id: self.model,
// userinfo: self.userInfo
device_id: self.deviceId
},
success: (response) => {
console.log(response);
// alert(JSON.stringify(response));
let data = uPublic.checkResponseData(response.data);
if(data){
getRecordTime(self, data);
//判断云端是否绑定
if(data.lock_id){
setValueOfSwitch(self, false);
self.setLockInfo(data);
self.setLockId(data.lock_id);
self.setRole(data.role);
if(self.isFirstGetLockInfo){
getDeviceStatus(self);
self.setIsFirstGetLockInfo(false);
}
if(data.info && data.info.length){
self.newMsg = [];
for(let i=0; i< data.info.length; i++){
// let now = moment();
// let time = moment(data.info[i].time);
// if(now.diff(time,'hours') < 24){
let msg = '';
if(data.info[i].nickname == null){
msg = ' ID:' + data.info[i].openId;
// self.newMsg.push(moment(data.info[i].time).format("YY.MM.DD HH:mm") + ' ID:' + data.info[i].openId + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[i].mode]+''));
}else{
msg = data.info[i].nickname;
// self.newMsg.push(moment(data.info[i].time).format("YY.MM.DD HH:mm") + data.info[i].nickname + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[i].mode]+''));
}
self.newMsg.push(moment(data.info[i].time).format("YY.MM.DD HH:mm") + msg + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[i].mode]+''));
// }
}
// if(data.info[0].nickname == null){
// self.newMsg.push(moment(data.info[0].time).format("YY.MM.DD HH:mm") + ' ID:' + data.info[0].openId + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[0].mode]+''));
getLockInfoSuccess(self, data);
// getRecordTime(self, data);
// //判断云端是否绑定
// if(data.lock_id){
// setValueOfSwitch(self, false);
// self.setLockInfo(data);
// self.setLockId(data.lock_id);
// self.setRole(data.role);
// if(self.isFirstGetLockInfo){
// getDeviceStatus(self);
// self.setIsFirstGetLockInfo(false);
// }
// if(data.info && data.info.length){
// self.newMsg = [];
// for(let i=0; i< data.info.length; i++){
// let msg = '';
// if(data.info[i].nickname == null){
// msg = ' ID:' + data.info[i].openId;
// }else{
// msg = data.info[i].nickname;
// }
// self.newMsg.push(moment(data.info[i].time).format("YY.MM.DD HH:mm") + msg + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[i].mode]+''));
//// }
// }
// uComponents.changeMarqueeText(self, self.newMsg);
// if(self.newMsg.length >= 2){
// self.activeFlag = true;
// }else{
// self.newMsg.push(moment(data.info[0].time).format("YY.MM.DD HH:mm") + data.info[0].nickname + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[0].mode]+''));
// self.activeFlag = false;
// }
uComponents.changeMarqueeText(self, self.newMsg);
if(self.newMsg.length >= 2){
// console.log("滚");
self.activeFlag = true;
}else{
// console.log("不滚");
self.activeFlag = false;
}
}else{
uComponents.changeMarqueeText(self, [Vue.t('device.noNewMsg')]);
// console.log("不滚");
self.activeFlag = false;
// self.setRingingTime(null);
}
}else{
uComponents.changeMarqueeText(self, [Vue.t('device.defaultNewMsg')]);
// console.log("不滚");
self.activeFlag = false;
}
// }else{
// uComponents.changeMarqueeText(self, [Vue.t('device.noNewMsg')]);
// self.activeFlag = false;
// }
// }else{
// uComponents.changeMarqueeText(self, [Vue.t('device.defaultNewMsg')]);
// self.activeFlag = false;
// }
}else{
setValueOfSwitch(self, true);
self.setLockId(null);
......@@ -733,7 +711,6 @@ function getLockInfo(self){
self.deviceId = null;
self.uuid = null;
uComponents.changeMarqueeText(self, [Vue.t('device.defaultNewMsg')]);
// console.log("不滚");
self.activeFlag = false;
self.opendoorRecordFlag = false;
self.securityAlarmFlag = false;
......@@ -743,134 +720,231 @@ function getLockInfo(self){
error: (error) => {
uPublic.openRequestErrorAlert(self);
console.log(error);
// if(window.iotDebug){
// iotDebug.push('end: 获取门锁详情失败'+JSON.stringify(error));
// }
// if (window.iotDebug) {
// iotDebug.upload(iot,'获取门锁详情失败');
// }
},
complete: () => {
}
});
}
//设置设备信息
function setDevceInfo(self, data) {
console.log(data);
let notifyMode = ['1','2','3'];
console.log(notifyMode.indexOf(data.notify_type.value));
if(data.BatteryPercentage){
self.setBatteryPercent(data.BatteryPercentage.value);
if(data.BatteryPercentage.value >= 10){
//向上取整
self.setBatteryState(config.powerIcon[Math.ceil(data.BatteryPercentage.value/20)]);
}else{
self.setBatteryState(config.powerIcon[Math.round(data.BatteryPercentage.value/20)]);
function getLockInfoSuccess(self, data){
//判断云端是否绑定
if(data.lock_id){
//获取‘未读’小红点状态
getRecordTime(self, data);
//更改按钮为‘可点击’样式
setValueOfSwitch(self, false);
//设置门锁信息
self.setLockInfo(data);
self.setLockId(data.lock_id);
self.setRole(data.role);
//判断是否第一次获取门锁信息
if(self.isFirstGetLockInfo){
getDeviceStatus(self);
self.setIsFirstGetLockInfo(false);
}
}
if(data.action.value == 'notify'){
if(data.notify_type.value == 104){
//门铃响了
let now = moment();
let time = moment(data.time.value, "YY-MM-DD-hh-mm-ss");
console.log('门铃时间差'+now.diff(time,'seconds')+'timeout'+config.ringBell_timeout);
if(now.diff(time,'seconds') < config.ringBell_timeout && now.diff(time,'seconds') > 0){
self.setRingingTime(time.format("HH:mm"));
ringBell(self);
//拼接首页滚动的三条记录
if(data.info && data.info.length){
self.newMsg = [];
for(let i=0; i< data.info.length; i++){
let msg = '';
if(data.info[i].nickname == null){
msg = ' ID:' + data.info[i].openId;
}else{
msg = data.info[i].nickname;
}
self.newMsg.push(moment(data.info[i].time).format("YY.MM.DD HH:mm") + msg + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[i].mode]+''));
}
}else if(data.notify_type.value == 5){
//请求远程开门
// self.setRemoteOpendoorFlag(true);
let now = moment();
let time = moment(data.time.value, "YY-MM-DD-hh-mm-ss");
console.log(now.diff(time,'seconds'));
if(now.diff(time,'seconds') < config.remote_timeout && now.diff(time,'seconds') > 0){
self.setValueRemoteOpendoor(true);
self.setRemoteOpendoorDisabledFlag(false);
setTimeout(function(){
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
},(300-now.diff(time,'seconds'))*1000);
uComponents.changeMarqueeText(self, self.newMsg);
if(self.newMsg.length >= 2){
self.activeFlag = true;
}else{
self.activeFlag = false;
}
}else if(notifyMode.indexOf(data.notify_type.value) != -1){
loopGetLockInfo(self, config.intervalTime, config.getHistoryTime);
}
}
if(data.action.value == 'lock_log' && (data.lock_action.value == '1' || data.lock_action.value == '4')){
//开门或远程开门成功
loopGetLockInfo(self, config.intervalTime, config.getHistoryTime);
if(data.lock_action.value == '4'){
uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('remoteOpendoor.openDoorSuccess'));
uComponents.changeCommButtonText(self, Vue.t('btn.confirm'));
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
self.setStatus(1);
}else{
uComponents.changeMarqueeText(self, [Vue.t('device.noNewMsg')]);
self.activeFlag = false;
}
}
if(data.ErrorCode.value == 1){
//远程开门失败
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('remoteOpendoor.openDoorFailure'));
uComponents.changeCommButtonText(self, Vue.t('remoteOpendoor.remoteOpendoorAgain'));
self.setStatus(2);
}else{
uComponents.changeMarqueeText(self, [Vue.t('device.defaultNewMsg')]);
self.activeFlag = false;
}
}
////sds消息处理方法
//function notifyDataProcessing(self, data){
// //
////设置设备信息
//function setDevceInfo(self, data) {
// console.log(data);
// let notifyMode = ['1','2','3'];
// console.log(notifyMode.indexOf(data.notify_type.value));
// if(data.BatteryPercentage){
// //设置门铃电量
// self.setBatteryPercent(data.BatteryPercentage.value);
// if(data.BatteryPercentage.value >= 10){
// //向上取整
// self.setBatteryState(config.powerIcon[Math.ceil(data.BatteryPercentage.value/20)]);
// }else{
// self.setBatteryState(config.powerIcon[Math.round(data.BatteryPercentage.value/20)]);
// }
// }
// switch(data.action.value){
// case 'notify':
// switch(data.notify_type.value){
// case '104':
// //门铃
// break;
// case '5':
// //远程开门请求
// break;
// case '1' || '2' || '3':
// //防撬、试错、欠电报警
// //轮循获取最新的历史记录
// break;
// if(data.action.value == 'notify'){
// if(data.notify_type.value == 104){
// //门铃响了
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// let time = moment(data.time.value, "YY-MM-DD-hh-mm-ss");
//// console.log('门铃时间差'+now.diff(time,'seconds')+'timeout'+config.ringBell_timeout);
// if(now.diff(time,'seconds') < config.ringBell_timeout && now.diff(time,'seconds') > 0){
// self.setRingingTime(time.format("HH:mm"));
// ringBell(self);
// }
// break;
// case 'lock_log':
// switch(data.lock_action.value){
// case '4':
// //切换轮循loading样式
//
// case '1':
// //轮循获取最新的历史记录
//
// break;
// }else if(data.notify_type.value == 5){
// //请求远程开门
//// self.setRemoteOpendoorFlag(true);
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// let time = moment(data.time.value, "YY-MM-DD-hh-mm-ss");
//// console.log(now.diff(time,'seconds'));
// if(now.diff(time,'seconds') < config.remote_timeout && now.diff(time,'seconds') > 0){
// self.setValueRemoteOpendoor(true);
// self.setRemoteOpendoorDisabledFlag(false);
// setTimeout(function(){
// self.setValueRemoteOpendoor(false);
// self.setRemoteOpendoorDisabledFlag(true);
// },(300-now.diff(time,'seconds'))*1000);
// }
// break;
//
// }else if(notifyMode.indexOf(data.notify_type.value) != -1){
// loopGetLockInfo(self, config.intervalTime, config.getHistoryTime);
// }
// }
// if(data.action.value == 'lock_log' && (data.lock_action.value == '1' || data.lock_action.value == '4')){
// //开门或远程开门成功
// loopGetLockInfo(self, config.intervalTime, config.getHistoryTime);
// if(data.lock_action.value == '4'){
// uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('remoteOpendoor.openDoorSuccess'));
// uComponents.changeCommButtonText(self, Vue.t('btn.confirm'));
// self.setValueRemoteOpendoor(false);
// self.setRemoteOpendoorDisabledFlag(true);
// self.setStatus(1);
// }
// }
// if(data.ErrorCode.value == 1){
// //远程开门失败
// uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('remoteOpendoor.openDoorFailure'));
// uComponents.changeCommButtonText(self, Vue.t('remoteOpendoor.remoteOpendoorAgain'));
// self.setStatus(2);
// }
//}
//sds消息处理方法
function sdsDataPorcessing(self, data){
console.log(data);
//设置电量百分比和icon
setBatteryPercentAndIcon(self, data.BatteryPercentage.value);
switch(data.action.value){
case 'notify':
switch(data.notify_type.value){
case '104':
//门铃
setBellRing(self, moment(new Date(), "YYYY-MM-DD hh:mm:ss"));
break;
case '5':
//远程开门请求
setRemoteOpendoor(self, moment(new Date(), "YYYY-MM-DD hh:mm:ss"));
break;
case '1':
case '2':
case '3':
//防撬、试错、欠电报警
//轮循获取最新的历史记录
loopGetLockInfo(self, config.intervalTime, config.getHistoryTime);
break;
}
break;
case 'lock_log':
switch(data.lock_action.value){
case '4':
//远程开门成功
//切换轮循loading样式
setRemoteOpenDoorLoading(self, 1, Vue.t('remoteOpendoor.openDoorSuccess'), Vue.t('btn.confirm'));
case '1':
//轮循获取最新的历史记录
loopGetLockInfo(self, config.intervalTime, config.getHistoryTime);
break;
case '5':
//远程开门失败
setRemoteOpenDoorLoading(self, 2, Vue.t('remoteOpendoor.openDoorFailure'), Vue.t('remoteOpendoor.remoteOpendoorAgain'));
break;
}
break;
}
// if(data.ErrorCode.value == 1){
// //远程开门失败
// setRemoteOpenDoorLoading(self, 2, Vue.t('remoteOpendoor.openDoorFailure'), Vue.t('remoteOpendoor.remoteOpendoorAgain'));
// }
}
//设置电量百分比、电量icon
function setBatteryPercentAndIcon(self, value){
console.log('setBatteryPercentAndIcon'+value);
self.setBatteryPercent(value);
let state = 0;
if(value >= 10){
//向上取整
state = config.powerIcon[Math.ceil(value/20)];
}else{
state = config.powerIcon[Math.round(value/20)];
}
self.setBatteryState(state);
}
//设置门铃
function setBellRing(self, time){
let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
time = moment(time, "YYYY-MM-DD hh:mm:ss");
if(now.diff(time,'seconds') < config.ringBell_timeout && now.diff(time,'seconds') >= 0){
self.setRingingTime(now.format("HH:mm"));
ringBell(self);
}
}
//设置远程开门
function setRemoteOpendoor(self, time){
let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
time = moment(time, "YYYY-MM-DD hh:mm:ss");
console.log(now.diff(time,'seconds'));
if(now.diff(time,'seconds') < config.remote_timeout && now.diff(time,'seconds') >= 0){
self.setValueRemoteOpendoor(true);
self.setRemoteOpendoorDisabledFlag(false);
setTimeout(function(){
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
},(config.remote_timeout-now.diff(time,'seconds'))*1000);
}
}
//设置远程开门样式
function setRemoteOpenDoorLoading(self, status, text, buttonText){
switch(status){
case 1:
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
case 2:
case 0:
self.setStatus(status);
uComponents.changeCommLoadingStatusAndText(self, status, text);
uComponents.changeCommButtonText(self, buttonText);
break;
}
}
//响铃动画和铃声设置
function ringBell(self){
window.clearInterval(self.time);
window.clearTimeout(self.timeout);
let intervalTime = 10000;
let i = 0;
window.clearInterval(self.time);
window.clearTimeout(self.timeout);
let i = 0;
simpleRingBell(self,i);
self.setRingTime(config.ring_time);
self.time = setInterval(function(){
i++;
simpleRingBell(self,i);
self.setRingTime(config.ring_time);
self.time = setInterval(function(){
i++;
simpleRingBell(self,i);
// if(self.getRingTime() == 0){
// window.clearInterval(self.time);
// window.clearTimeout(self.timeout);
// }
},config.await_time*2);
},config.await_time*2);
}
function simpleRingBell(self,i){
......@@ -908,88 +982,92 @@ function simpleRingBell(self,i){
function pushAction(self, msg) {
var payload = msg.payload;
console.log(payload);
if (typeof payload == 'string') {
payload = JSON.parse(msg.payload);
}
if(payload.type == "open"){
//开门推送
getLockInfo(self);
}else if(payload.type == "notify"){
//安全报警
getLockInfo(self);
}else if(payload.type == "alarm"){
//劫持报警
getLockInfo(self);
}else if(payload.type == "ring"){
//门铃
let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
let time = moment(payload.time, "YYYY-MM-DD hh:mm:ss");
console.log(now.diff(time,'seconds'));
if(now.diff(time,'seconds') < config.ringBell_timeout && now.diff(time,'seconds') > 0){
if(!self.getRingTime()){
self.setRingingTime(time.format("HH:mm"));
ringBell(self);
}
}
}else if(payload.type == "remoteOpen"){
//远程开门通知
let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
let time = moment(payload.time, "YYYY-MM-DD hh:mm:ss");
console.log(now.diff(time,'seconds'));
if(now.diff(time,'seconds') < config.remote_timeout && now.diff(time,'seconds') > 0){
self.setValueRemoteOpendoor(true);
self.setRemoteOpendoorDisabledFlag(false);
setTimeout(function(){
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
},(300-now.diff(time,'seconds'))*1000);
}
}
notifyDataProcessing(self, payload);
// if(payload.type == "open"){
// //开门推送
// getLockInfo(self);
// }else if(payload.type == "notify"){
// //安全报警
// getLockInfo(self);
// }else if(payload.type == "alarm"){
// //劫持报警
// getLockInfo(self);
// }else if(payload.type == "ring"){
// //门铃
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// let time = moment(payload.time, "YYYY-MM-DD hh:mm:ss");
// console.log(now.diff(time,'seconds'));
// if(now.diff(time,'seconds') < config.ringBell_timeout && now.diff(time,'seconds') > 0){
// if(!self.getRingTime()){
// self.setRingingTime(time.format("HH:mm"));
// ringBell(self);
// }
// }
// }else if(payload.type == "remoteOpen"){
// //远程开门通知
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// let time = moment(payload.time, "YYYY-MM-DD hh:mm:ss");
// console.log(now.diff(time,'seconds'));
// if(now.diff(time,'seconds') < config.remote_timeout && now.diff(time,'seconds') > 0){
// self.setValueRemoteOpendoor(true);
// self.setRemoteOpendoorDisabledFlag(false);
// setTimeout(function(){
// self.setValueRemoteOpendoor(false);
// self.setRemoteOpendoorDisabledFlag(true);
// },(300-now.diff(time,'seconds'))*1000);
// }
// }
}
////推送消息处理方法
//function notifyDataProcessing(self, msgType){
// switch(msgType){
// case 'open' || 'notify' || 'alarm':
// //开门推送、安全报警、劫持报警
// //历史记录信息只拿一遍,不需要轮询
// getLockInfo(self);
// break;
// case 'ring':
// //门铃
// break;
// case 'remoteOpen':
// //远程开门
// break;
// }
//}
//推送消息处理方法
function notifyDataProcessing(self, payload){
switch(payload.type){
case 'open':
case 'notify':
case 'alarm':
//开门推送、安全报警、劫持报警
//历史记录信息只拿一遍,不需要轮询
getLockInfo(self);
break;
case 'ring':
//门铃
setBellRing(self, payload.time);
break;
case 'remoteOpen':
//远程开门
setRemoteOpendoor(self, payload.time);
break;
}
}
function notificationListener(self) {
if (plus.os.name == 'Android') {
setInterval(function () {
var pushMsgArray = plus.push.getAllMessage();
// console.log(pushMsgArray);
if (pushMsgArray) {
var pushMsgLength = pushMsgArray.length;
if (pushMsgLength) {
var pushMsg = pushMsgArray[(pushMsgArray.length - 1)];
pushAction(self, pushMsg);
plus.push.clear();
}
}
}, 2000);
}
// if (plus.os.name == 'Android') {
// setInterval(function () {
// var pushMsgArray = plus.push.getAllMessage();
//// console.log(pushMsgArray);
// if (pushMsgArray) {
// var pushMsgLength = pushMsgArray.length;
// if (pushMsgLength) {
// var pushMsg = pushMsgArray[(pushMsgArray.length - 1)];
// pushAction(self, pushMsg);
// plus.push.clear();
// }
// }
// }, 2000);
// }
// 从系统消息中心点击消息启动应用事件
plus.push.addEventListener('click', function (msg) {
console.log("收到了click");
pushAction(self, msg);
// console.log("收到了click");
// pushAction(self, msg);
// alert("click"+JSON.stringify(msg));
}, false);
// 应用从推送服务器接收到推送消息事件
plus.push.addEventListener('receive', function (msg) {
// alert("收到了receive");
pushAction(self, msg);
// pushAction(self, msg);
// alert("receive"+JSON.stringify(msg));
}, false);
}
......@@ -1003,7 +1081,14 @@ function myInfoTap(self){
extras: {
nickname: self.nickname
}
});
});
// uPublic.openWindow({
// url: '../myInfo/index.html',
// id: 'myInfo',
// extras: {
// nickname: self.nickname
// }
// });
}
//tap 绑定门锁
......@@ -1032,13 +1117,15 @@ function doorlockManageTap(self){
//tap 开门记录
function opendoorRecordTap(self){
let now = moment(new Date());
if(self.valueOpendoorRecord){
if(self.hijackAlarmFlag){
if(self.opendoorRecordFlag){
console.log("停止所以interval");
window.clearInterval(self.handle);
}
self.opendoorRecordFlag = false;
setRecordTime('openTime', now.toISOString());
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// setRecordTime('openTime', self.openTime.toISOString());
iot.navigator.openWindow({
url: './opendoorRecord.html',
id: 'opendoorRecord',
......@@ -1051,14 +1138,14 @@ function opendoorRecordTap(self){
//tap 安全报警
function securityAlarmTap(self){
let now = moment(new Date());
if(self.valueSecurityAlarm){
if(self.notifyTime != null){
if(self.hijackAlarmFlag){
if(self.securityAlarmFlag){
window.clearInterval(self.handle);
}
self.securityAlarmFlag = false;
setRecordTime('notifyTime', now.toISOString());
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// setRecordTime('notifyTime', self.notifyTime);
}
iot.navigator.openWindow({
url: './alarmInfo.html',
......@@ -1108,7 +1195,7 @@ function remoteOpendoorTap(self){
//tap 劫持报警
function hijackAlarmTap(self){
let now = moment(new Date());
if(self.valueHijackAlarm){
console.log(self.alarmTime);
if(self.alarmTime != null){
......@@ -1116,7 +1203,8 @@ function hijackAlarmTap(self){
window.clearInterval(self.handle);
}
self.hijackAlarmFlag = false;
setRecordTime('alarmTime', now.toISOString());
// let now = moment(new Date(), "YYYY-MM-DD hh:mm:ss");
// setRecordTime('alarmTime', self.alarmTime.toISOString());
}
iot.navigator.openWindow({
url: './hijackRecord.html',
......@@ -1182,10 +1270,7 @@ function confirmButtonTap(self){
success: (response) => {
//密码下发成功
console.log(response);
// uComponents.showCommLoading(self);
self.getStatus(0);
// uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('remoteOpendoor.openDoorSuccess'));
// uComponents.changeCommButtonText(self, Vue.t('btn.confirm'));
},
error: (error) => {
console.log(error);
......@@ -1217,8 +1302,7 @@ function confirmButtonTap(self){
//tap comm-loading ‘确认’
function commLoadingButtonTap(self){
if(self.getStatus() == 1){
//绑定成功
console.log("1111");
//绑定成功
uComponents.hideCommLoading(self);
self.setRemoteOpendoorShowFlag(false);
}else if(self.getStatus() == 2){
......
......@@ -23,7 +23,8 @@ function init() {
list: [],
startId: 0,
deviceId: null,
userInfo: []
userInfo: [],
flag: true
},
mounted(){
resolve(this);
......@@ -128,6 +129,17 @@ function getHistoryRecord(self){
},
success: (response) => {
setListData(self, response);
if(self.flag){
let data = uPublic.checkResponseData(response.data);
if(data && data.record.length > 0){
let record = data.record;
iot.storage.setMap('openTime', moment(record[0].time).toISOString(), (res) => {
console.log(res);
self.flag = false;
}, () => {
});
}
}
},
error: (error) => {
console.log(error);
......
......@@ -196,7 +196,7 @@ function setUserData(self, data){
role: data[i].role,
image: data[i].role == 0 ? '../../resources/image/green_admin_icon.png' : data[i].user_id == null ? '../../resources/image/gray_unbindHead_icon.png' : '../../resources/image/green_bindHead_icon.png',
title: data[i].nickname,
subtitle: data[i].username ? Vue.t('userList.binded'):Vue.t('userList.unbind')
subtitle: data[i].hasOwnProperty('username') ? Vue.t('userList.binded'):Vue.t('userList.unbind')
}
}
console.log(data);
......
......@@ -55,7 +55,8 @@ module.exports = {
},
resolve: {
alias: {
'vue-i18n$': 'vue-i18n/dist/vue-i18n.common.js'
'vue-i18n$': 'vue-i18n/dist/vue-i18n.common.js',
'mui': '../src/public/mui.js'
}
},
plugins: [
......
......@@ -5915,8 +5915,17 @@ var App = function (_Base) {
_createClass(App, [{
key: 'openWindow',
value: function openWindow(params) {
var wv = plus.webview.create(params.url, params.id, { styles: params.styles || {} }, { IOTData: params.extras });
var wv = plus.webview.create(params.url, params.id, { styles:{backgroundColor:'#000000'} }, { IOTData: params.extras });
wv.show('slide-in-right');
// var IOTData = params.extras;
// var webview = mui.openWindow({
// url: params.url,
// id: params.id,
// extras: IOTData,
// waiting:{
// autoShow:false//自动显示等待框,默认为true
// }
// },"slide-in-right");
}
}, {
key: 'getExtras',
......
This source diff could not be displayed because it is too large. You can view the blob instead.
{"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":"智能指纹锁","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":"远程开门失败","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":"请求发送失败"},"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":"解绑门锁"},"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":"远程开门失败","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":"请求发送失败"},"deviceList":{"model":"型号:","noDeviceTip":"暂无产品型号"}}
\ No newline at end of file
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -16,6 +16,7 @@
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -16,6 +16,7 @@
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -16,6 +16,7 @@
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
......@@ -17,6 +17,7 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -18,6 +18,7 @@
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/SDSPlugin.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
......@@ -17,6 +17,7 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
......@@ -17,6 +17,7 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment