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