Commit b39ea29e by jenny

Merge branch 'zjx' into 'test/96'

Zjx

See merge request iot-project-js/doorlock!12
parents 25f04af6 1e49b89f
...@@ -24,5 +24,14 @@ ...@@ -24,5 +24,14 @@
<arguments>1.0-name-matches-false-false-node_modules</arguments> <arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher> </matcher>
</filter> </filter>
<filter>
<id>1514974720847</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources> </filteredResources>
</projectDescription> </projectDescription>
{ {
"loading": "loading...", "loading": "loading...",
"scroll": { "scroll": {
"clickToLoadMore": "点击加载更多", "clickToLoadMore": "上拉加载更多",
"loading": "loading..." "loading": "loading"
}, },
"btn": { "btn": {
"confirm": "确定", "confirm": "确定",
...@@ -25,7 +25,8 @@ ...@@ -25,7 +25,8 @@
"add": "添加", "add": "添加",
"next": "下一步", "next": "下一步",
"iSee": "我知道了", "iSee": "我知道了",
"unbindDoorlock": "解绑门锁" "unbindDoorlock": "解绑门锁",
"finish": "完成"
}, },
"dialog":{ "dialog":{
"confirm": "确认", "confirm": "确认",
...@@ -190,8 +191,8 @@ ...@@ -190,8 +191,8 @@
"wifiAdd": { "wifiAdd": {
"unbindWifiTip": "当前无Wi-Fi", "unbindWifiTip": "当前无Wi-Fi",
"wifiBinding": "配网中", "wifiBinding": "配网中",
"wifiBindSuccess": "配网成功,请激活设备", "wifiBindSuccess": "Wi-Fi连接成功,正在激活设备",
"deviceActivating": "设备激活中", "deviceActivating": "Wi-Fi连接成功,正在激活设备",
"deviceActivateSuccess":"激活成功", "deviceActivateSuccess":"激活成功",
"deviceActivateFailure":"激活失败", "deviceActivateFailure":"激活失败",
"bindTimeout":"连接超时", "bindTimeout":"连接超时",
...@@ -271,10 +272,10 @@ ...@@ -271,10 +272,10 @@
}, },
"inviteBind":{ "inviteBind":{
"qrcodeExpireTip": "二维码已过期,请重新生成", "qrcodeExpireTip": "二维码已过期,请重新生成",
"title": "注意事项:", "title": "绑定方法:",
"cont1": "1.被邀请的用户选择添加设备页面中的扫二维码方式进行添加门锁", "cont1": "1.受邀用户登录“U智锁”APP",
"cont2": "2.长按二维码保存为图片,发送给被邀请用户,用户通过长按识别二维码", "cont2": "2.选择“扫描绑定设备”",
"cont3": "3.有效时间10分钟,失效后请点击“重新生成二维码" "cont3": "3.扫描上方二维码完成绑定"
}, },
"unlockInfo":{ "unlockInfo":{
"bindUnlockInfo": "已关联的开锁信息", "bindUnlockInfo": "已关联的开锁信息",
...@@ -337,5 +338,23 @@ ...@@ -337,5 +338,23 @@
"deviceList":{ "deviceList":{
"model": "型号:", "model": "型号:",
"noDeviceTip": "暂无产品型号" "noDeviceTip": "暂无产品型号"
},
"notice":{
"tip": "您还未开启通知,将无法及时接受安全推送!",
"button": "去开启"
},
"help": {
"title": "如何解决安卓手机收不到消息提醒?",
"contTip": "因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。",
"contTitle": "如何设置:",
"contSubtitle1": "1.设置自启动",
"contText1-1": "安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。",
"contText1-2": "在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。",
"step": "操作步骤:",
"contSubtitle2": "2.设置后台保活",
"contText2-1": "安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。",
"contText2-2": "在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。",
"contText3-1": "安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。",
"contText3-2": "启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
} }
} }
\ No newline at end of file
...@@ -17,7 +17,10 @@ ...@@ -17,7 +17,10 @@
"connect": "连接", "connect": "连接",
"bindUser": "绑定姓名", "bindUser": "绑定姓名",
"bind": "我要绑定", "bind": "我要绑定",
"reBound": "请重新绑定", "startNow": "立即体验",
"ignore": "暂不开启",
"openNotify": "开启推送通知",
"reBound": "重新绑定",
"saveQRcode": "保存二维码到相册", "saveQRcode": "保存二维码到相册",
"unbind": "解绑", "unbind": "解绑",
"deleteUser": "删除该用户", "deleteUser": "删除该用户",
...@@ -25,7 +28,8 @@ ...@@ -25,7 +28,8 @@
"add": "添加", "add": "添加",
"next": "下一步", "next": "下一步",
"iSee": "我知道了", "iSee": "我知道了",
"unbindDoorlock": "解绑门锁" "unbindDoorlock": "解绑门锁",
"finish": "完成"
}, },
"dialog":{ "dialog":{
"confirm": "确认", "confirm": "确认",
...@@ -199,6 +203,7 @@ ...@@ -199,6 +203,7 @@
"remindTitle": "配置Wi-Fi提醒:", "remindTitle": "配置Wi-Fi提醒:",
"remindCont1": "1. 请确保Wi-Fi信号良好", "remindCont1": "1. 请确保Wi-Fi信号良好",
"remindCont2": "2. 本产品暂不支持5GHz无线网络", "remindCont2": "2. 本产品暂不支持5GHz无线网络",
"noticeTip": "检测到您还未开启通知,将无法及时<br>接收安全推送",
"error": { "error": {
} }
...@@ -274,7 +279,8 @@ ...@@ -274,7 +279,8 @@
"title": "绑定方法:", "title": "绑定方法:",
"cont1": "1.受邀用户登录“U智锁”APP", "cont1": "1.受邀用户登录“U智锁”APP",
"cont2": "2.选择“扫描绑定设备”", "cont2": "2.选择“扫描绑定设备”",
"cont3": "3.扫描上方二维码完成绑定" "cont3": "3.扫描上方二维码完成绑定",
"tip": "注: 二维码有效时间为10分钟,过期请重新生成"
}, },
"unlockInfo":{ "unlockInfo":{
"bindUnlockInfo": "已关联的开锁信息", "bindUnlockInfo": "已关联的开锁信息",
...@@ -337,5 +343,38 @@ ...@@ -337,5 +343,38 @@
"deviceList":{ "deviceList":{
"model": "型号:", "model": "型号:",
"noDeviceTip": "暂无产品型号" "noDeviceTip": "暂无产品型号"
} },
"notice":{
"tip": "您还未开启通知,将无法及时接受安全推送!",
"button": "去开启"
},
"help": {
"title": "如何解决安卓手机收不到消息提醒?",
"contTip": "因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。",
"contTitle": "如何设置:",
"contSubtitle1": "1.设置自启动",
"contText1-1": "安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。",
"contText1-2": "在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。",
"step": "操作步骤:",
"contSubtitle2": "2.设置后台保活",
"contText2-1": "安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。",
"contText2-2": "在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。",
"contText3-1": "安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。",
"contText3-2": "启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
},
"androidNotify":{
"toSettingTitle":"开启系统通知",
"toSettingsub":"去开启",
"checkSetting":"检查Android系统设置",
"IKonw":"我已阅读",
"checkSettingsubTitle":"部分安卓系统的手机在开启通知后仍无法收到推送信息,您可以依次检查以下几项设置",
"step1Title":"1. 应用是否设置为自启动状态",
"step1content":"操作步骤:在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本APP并开启自启动。",
"step2Title":"2. 应用是否已开启后台保护",
"step2content":"操作步骤:在设置中找到电量与性能,点击受保护的后台应用,找到本APP并开启保护。",
"step3Title":"3. 是否已将应用加入系统白名单",
"step3content":"操作步骤:启动本APP后打开多任务页面(清理后台应用的页面),将本APP加入白名单。",
"endSetting":"保存设置并开启应用",
"toIndex":"进入首页"
}
} }
\ No newline at end of file
export default { export default {
"url": "http://192.168.2.96:20000" "url": "http://192.168.2.96:20000",
"model": "UGEN_SECURITY_SMARTDOOR_YJ2017"
} }
\ No newline at end of file
import androidNotify from '../view/c_android-notify.vue';
import gridList from '../view/c_grid-list.vue'; import gridList from '../view/c_grid-list.vue';
import timeline from '../view/c_timeline.vue'; import timeline from '../view/c_timeline.vue';
var components = { var components = {
'android-notify': androidNotify,
'grid-list': gridList, 'grid-list': gridList,
'timeline': timeline 'timeline': timeline
}; };
......
...@@ -46,7 +46,7 @@ uPublic.recalc = function () { ...@@ -46,7 +46,7 @@ uPublic.recalc = function () {
recalc = function () { recalc = function () {
var clientWidth = docEl.clientWidth; var clientWidth = docEl.clientWidth;
if (!clientWidth) return; if (!clientWidth) return;
docEl.style.fontSize = clientWidth / 10 + 'px'; docEl.style.fontSize = parseInt(clientWidth / 10, 10) + 'px';
}; };
window.addEventListener(resizeEvt, recalc, false); window.addEventListener(resizeEvt, recalc, false);
recalc(); recalc();
......
...@@ -8,12 +8,13 @@ ...@@ -8,12 +8,13 @@
*/ */
import config from '../../public/config.js'; import config from '../../public/config.js';
import defaultConfig from '../../public/defaultConfig.js';
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
function init() { function init() {
//通用 input、按钮、dialog、loading组件 //通用 input、按钮、dialog、loading组件
uPublic.componentsInit(['u-text','u-button','u-comm-loading','u-dialog','u-loading']); uPublic.componentsInit(['u-text','u-button','u-process','u-dialog','u-loading']);
uPublic.closeSlideBack(); uPublic.closeSlideBack();
const app = new Vue({ const app = new Vue({
data:{ data:{
...@@ -22,7 +23,8 @@ function init() { ...@@ -22,7 +23,8 @@ function init() {
textErrorTip: null, textErrorTip: null,
//配置组件 //配置组件
componentsConfig: initComponentsConfig(), componentsConfig: initComponentsConfig(),
status: 0 status: 0,
noticeTipShowFlag: false
}, },
mounted(){ mounted(){
resolve(this); resolve(this);
...@@ -64,9 +66,9 @@ function init() { ...@@ -64,9 +66,9 @@ function init() {
connectButtonTap(this); connectButtonTap(this);
}, },
//tap loading button //tap loading button
onCommLoadingButtonTap(){ // onCommLoadingButtonTap(){
commLoadingButtonTap(this); // commLoadingButtonTap(this);
} // }
} }
}).$mount('#app'); }).$mount('#app');
} }
...@@ -99,11 +101,9 @@ function initComponentsConfig() { ...@@ -99,11 +101,9 @@ function initComponentsConfig() {
class: 'custom-loading' class: 'custom-loading'
} }
}, },
ucommloading: { processLoading: {
initParam: { initParam: {
class: 'custom-comm-loading', class: 'custom-process',
buttonText: Vue.t('btn.confirm'),
text: Vue.t('addDevice.loading'),
status: 0 status: 0
} }
} }
...@@ -154,10 +154,11 @@ function connectButtonTap(self){ ...@@ -154,10 +154,11 @@ function connectButtonTap(self){
}else if(self.getTextPassword() == null || self.getTextPassword().trim() == ''){ }else if(self.getTextPassword() == null || self.getTextPassword().trim() == ''){
self.setTextErrorTip(Vue.t('wifiAdd.passwordInputTip')); self.setTextErrorTip(Vue.t('wifiAdd.passwordInputTip'));
}else{ }else{
uComponents.showCommLoading(self); // uComponents.showCommLoading(self);
uComponents.showProcess(self, 0, Vue.t('addDevice.loading'));
iot.business.sds.findWifi({ iot.business.sds.findWifi({
data: { data: {
model: config.model, model: defaultConfig.model,
ssid: self.getTextWiFiName(), ssid: self.getTextWiFiName(),
wifiPwd: self.getTextPassword(), wifiPwd: self.getTextPassword(),
timeout: 20000 timeout: 20000
...@@ -179,7 +180,8 @@ function connectButtonTap(self){ ...@@ -179,7 +180,8 @@ function connectButtonTap(self){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'配网中'); iotDebug.upload(iot,'配网中');
} }
uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.wifiBinding')); // uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.wifiBinding'));
uComponents.showProcess(self, 0, Vue.t('wifiAdd.wifiBinding'));
}else if(response.data == 'provisioned success'){ }else if(response.data == 'provisioned success'){
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('end: 配网成功'+JSON.stringify(response)); iotDebug.push('end: 配网成功'+JSON.stringify(response));
...@@ -188,7 +190,8 @@ function connectButtonTap(self){ ...@@ -188,7 +190,8 @@ function connectButtonTap(self){
iotDebug.upload(iot,'配网成功'); iotDebug.upload(iot,'配网成功');
} }
//wifi连接成功,停止连接wifi //wifi连接成功,停止连接wifi
uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.wifiBindSuccess')); // uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.wifiBindSuccess'));
uComponents.showProcess(self, 0, Vue.t('wifiAdd.wifiBindSuccess'));
} }
}, },
error: (error) => { error: (error) => {
...@@ -211,7 +214,7 @@ function connectButtonTap(self){ ...@@ -211,7 +214,7 @@ function connectButtonTap(self){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'找设备'); iotDebug.upload(iot,'找设备');
} }
let productId = config.model; let productId = defaultConfig.model;
if(response.data == "onJoining"){ if(response.data == "onJoining"){
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('end: 激活中'+JSON.stringify(response)); iotDebug.push('end: 激活中'+JSON.stringify(response));
...@@ -219,7 +222,8 @@ function connectButtonTap(self){ ...@@ -219,7 +222,8 @@ function connectButtonTap(self){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'激活中'); iotDebug.upload(iot,'激活中');
} }
uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.deviceActivating')); // uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('wifiAdd.deviceActivating'));
uComponents.showProcess(self, 0, Vue.t('wifiAdd.deviceActivating'));
}else if(response.data == "joined success"){ }else if(response.data == "joined success"){
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('end: 激活成功'+JSON.stringify(response)); iotDebug.push('end: 激活成功'+JSON.stringify(response));
...@@ -237,9 +241,10 @@ function connectButtonTap(self){ ...@@ -237,9 +241,10 @@ function connectButtonTap(self){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'激活失败'); iotDebug.upload(iot,'激活失败');
} }
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure')); // uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure'));
addFailue(self);
self.setStatus(2); self.setStatus(2);
uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice')); // uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));
//停止查找设备 //停止查找设备
iot.business.sds.stopFindDevices({ iot.business.sds.stopFindDevices({
success: (response) => {}, success: (response) => {},
...@@ -263,9 +268,10 @@ function connectButtonTap(self){ ...@@ -263,9 +268,10 @@ function connectButtonTap(self){
if(self.getStatus() == 0){ if(self.getStatus() == 0){
console.log("timeout"); console.log("timeout");
//连接失败 //连接失败
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.bindTimeout')); // uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.bindTimeout'));
self.setStatus(2); self.setStatus(2);
uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice')); // uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));
addFailue(self);
//停止查找设备 //停止查找设备
iot.business.sds.stopFindDevices({ iot.business.sds.stopFindDevices({
success: (response) => {}, success: (response) => {},
...@@ -300,8 +306,9 @@ function unbind(self, deviceId, productId){ ...@@ -300,8 +306,9 @@ function unbind(self, deviceId, productId){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'解绑失败'); iotDebug.upload(iot,'解绑失败');
} }
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure')); // uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure'));
uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice')); // uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));
addFailue(self);
self.setStatus(2); self.setStatus(2);
}, },
complete: () => { complete: () => {
...@@ -322,9 +329,10 @@ function bind(self, deviceId, productId){ ...@@ -322,9 +329,10 @@ function bind(self, deviceId, productId){
console.log(response); console.log(response);
let data = response.data; let data = response.data;
if(data.success){ if(data.success){
uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('wifiAdd.deviceActivateSuccess')); // uComponents.changeCommLoadingStatusAndText(self, 1, Vue.t('wifiAdd.deviceActivateSuccess'));
uComponents.changeCommButtonText(self, Vue.t('btn.confirm')); // uComponents.changeCommButtonText(self, Vue.t('btn.confirm'));
self.setStatus(1); self.setStatus(1);
addSuccess(self);
} }
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('end: 绑定成功'+JSON.stringify(response)); iotDebug.push('end: 绑定成功'+JSON.stringify(response));
...@@ -341,30 +349,91 @@ function bind(self, deviceId, productId){ ...@@ -341,30 +349,91 @@ function bind(self, deviceId, productId){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'绑定失败'); iotDebug.upload(iot,'绑定失败');
} }
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure')); // uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('wifiAdd.deviceActivateFailure'));
uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice')); // uComponents.changeCommButtonText(self, Vue.t('addDevice.reBindDevice'));、
addFailue(self);
self.setStatus(2); self.setStatus(2);
}, },
complete: () => {} complete: () => {}
}); });
} }
//tap loading button function addFailue(self){
function commLoadingButtonTap(self) { uComponents.showProcess(self, 2, Vue.t('wifiAdd.deviceActivateFailure'), [{
if(self.getStatus() == 1){ "class": 'custom-process-button', 'text': Vue.t('addDevice.reBindDevice'), 'callback': () => {
//绑定成功 //激活失败
uComponents.hideCommLoading(self); uComponents.hideProcess(self);
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{ self.setStatus(0);
needClose: true uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('addDevice.loading'));
}); }
iot.navigator.openWindow({ }]);
url: '../device/index.html', }
id: 'device'
}); function addSuccess(self){
}else if(self.getStatus() == 2){ if(!iot.native.isNotifycationOpen()){
//绑定失败 self.noticeTipShowFlag = true;
uComponents.hideCommLoading(self); uComponents.showProcess(self, 1, Vue.t('wifiAdd.deviceActivateSuccess'), [{
self.setStatus(0); "class": 'custom-process-button', 'text': Vue.t('btn.openNotify'), 'callback': () => {
uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('addDevice.loading')); //开启推送通知
if(plus.os.name == 'Android'){
// alert("打开通知页面");
iot.navigator.openWindow({
url: '../device/notify.html',
id: 'notify',
styles: {
popGesture: 'none'
}
});
}else{
iot.native.toNotifycationSetting();
}
}
},{
"class": 'custom-process-button custom-process-cancelButton', 'text': Vue.t('btn.ignore'), 'callback': () => {
//暂不开启
uComponents.hideProcess(self);
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{
needClose: true
});
iot.navigator.openWindow({
url: '../device/index.html',
id: 'device'
});
}
}]);
}else{
uComponents.showProcess(self, 1, Vue.t('wifiAdd.deviceActivateSuccess'), [{
"class": 'custom-process-button', 'text': Vue.t('btn.startNow'), 'callback': () => {
//立即体验
uComponents.hideProcess(self);
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{
needClose: true
});
iot.navigator.openWindow({
url: '../device/index.html',
id: 'device'
});
}
}]);
} }
} }
\ No newline at end of file
//tap loading button
//function commLoadingButtonTap(self) {
// if(self.getStatus() == 1){
// //绑定成功
// uComponents.hideCommLoading(self);
// iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{
// needClose: true
// });
// iot.navigator.openWindow({
// url: '../device/index.html',
// id: 'device'
// });
// }else if(self.getStatus() == 2){
// //绑定失败
// uComponents.hideCommLoading(self);
// self.setStatus(0);
// uComponents.changeCommLoadingStatusAndText(self, 0, Vue.t('addDevice.loading'));
// }
//}
\ No newline at end of file
/**
* newnotify-dialog.vue
* Version: 0.1
* User: wujie
* Date: 2017-12-26
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* newnotify-dialog
*
******************************************************************************
* 依赖
通知栏插件 isNotifycationOpen toNotifycationSetting
多语言 需要配置多语言
* 支持环境
App
*
*/
<template>
<div id="app" v-cloak>
<div class="header">
<p>开启通知</p>
</div>
<div class="content">
<ul class="u-android-notify">
<li class="u-android-notify-row" v-bind:class = "setp1Active">
<span class="u-android-notify-icon">&#xe6c1;</span>
<span class="u-android-notify-finish-icon" v-show="isStep1Finish"></span>
<div class="u-android-notify-title">
{{toSettingTitle}}
<v-touch tag="div" class="u-android-notify-button" v-show="isToSetting" v-on:tap="onOpenNotify">{{toSettingsub}}
<span></span></v-touch>
</div>
</li>
<li class="u-android-notify-row" v-bind:class = "setp2Active">
<span class="u-android-notify-icon">&#xe6c0;</span>
<span class="u-android-notify-finish-icon" v-show="isStep2Finish"></span>
<div class="u-android-notify-title">
{{checkSetting}}
<v-touch tag="div" class="u-android-notify-button" v-show="isKnow" v-on:tap="onIKnow">{{IKonw}}</v-touch>
</div>
<div class="u-android-notify-tip">{{checkSettingsubTitle}}</div>
<div class="u-android-notify-subtitle">{{step1Title}}</div>
<div class="u-android-notify-subcontent">{{step1content}}</div>
<div class="u-android-notify-subtitle">{{step2Title}}</div>
<div class="u-android-notify-subcontent">{{step2content}}</div>
<div class="u-android-notify-subtitle">{{step3Title}}</div>
<div class="u-android-notify-subcontent">{{step3content}}</div>
</li>
<li class="u-android-notify-row" v-bind:class = "setp3Active">
<span class="u-android-notify-icon">&#xe6c2;</span>
<span class="u-android-notify-finish-icon" v-show="isStep3Finish"></span>
<div class="u-android-notify-title">
{{endSetting}}
<v-touch tag="div" class="u-android-notify-button" v-show="isToIndex" v-on:tap="onToIndex">{{toAppIndex}}
<span></span></v-touch>
</div>
</li>
</ul>
</div>
</div>
</template>
<script>
export default {
props: ['initParam','toIndex'],
data () {
return {
toSettingTitle:Vue.t('androidNotify.toSettingTitle'),
toSettingsub:Vue.t('androidNotify.toSettingsub'),
checkSetting:Vue.t('androidNotify.checkSetting'),
IKonw:Vue.t('androidNotify.IKonw'),
checkSettingsubTitle:Vue.t('androidNotify.checkSettingsubTitle'),
step1Title:Vue.t('androidNotify.step1Title'),
step1content:Vue.t('androidNotify.step1content'),
step2Title:Vue.t('androidNotify.step2Title'),
step2content:Vue.t('androidNotify.step2content'),
step3Title:Vue.t('androidNotify.step3Title'),
step3content:Vue.t('androidNotify.step3content'),
endSetting:Vue.t('androidNotify.endSetting'),
toAppIndex:Vue.t('androidNotify.toIndex'),
notifyState:false, // 当前是否开启了通知
gotoIndex:this.toIndex,// 处理点击到index按钮事件
isKnow:iot.native.isNotifycationOpen(),//是否需要显示 我已阅读
isToIndex:false,// 是否需要显示去首页按钮
isStep1Finish:iot.native.isNotifycationOpen(),//是否需要显示步骤1的勾
isStep2Finish:false,//是否需要显示步骤2的勾
isStep3Finish:false,//是否需要显示步骤3的勾
isToSetting:!iot.native.isNotifycationOpen(),//是否需要显示去设置按钮
setp1Active:'active',
setp2Active:null,// 默认为灰色 不显示active
setp3Active:null,
}
},
mounted: function () {
console.log("notifyState:"+iot.native.isNotifycationOpen())
// 监听程序恢复前台
document.addEventListener("resume", ()=>{
onAppReume(this);
}, false);
},
watch: {
},
methods: {
// 点击按钮关闭弹出框
onOpenNotify(){
openNotify(this);
},
onIKnow(){
IKonw(this);
},
onToIndex(){
toIndex(this);
}
}
};
function openNotify(self) {
console.log("去开启");
iot.native.toNotifycationSetting("notify");
self.setp1Active = 'active changeBorder';
}
function IKonw(self){
console.log("点击了我已阅读");
self.isStep2Finish = true; // 点击阅读后显示步骤2的勾
self.setp2Active = "active changeBorder";// 点击阅读后显示步骤2的字体亮度调高
self.setp3Active = "active";// 同时步骤3的字体亮度也调高
self.isStep3Finish = true; // 步骤3的勾勾选
self.isToIndex = true;//显示去首页按钮
self.isKnow = false; // 点击我已阅读隐藏我已阅读按钮
}
function toIndex(self){
console.log("gotoIndex...");
self.gotoIndex();
}
function onAppReume(self){
let notifyState = iot.native.isNotifycationOpen();
console.log("notifyState:"+notifyState);
if (notifyState) {self.setp2Active = "active changeBorder";}
self.isStep1Finish = iot.native.isNotifycationOpen();// 再次判断当前通知是否开启
self.isToSetting = !iot.native.isNotifycationOpen(); // 再次判断是否需要显示去设置按钮
self.isKnow = iot.native.isNotifycationOpen(),// 再次判断是否需要显示 我已阅读
self.$nextTick(function () {
console.log("重新渲染");
});
}
</script>
...@@ -23,10 +23,12 @@ function init() { ...@@ -23,10 +23,12 @@ function init() {
list:[], list:[],
startId: 0, startId: 0,
deviceId: null, deviceId: null,
flag: true flag: true,
noticeTipShowFlag: false
}, },
mounted(){ mounted(){
uComponents.showLoading(this); uComponents.showLoading(this);
this.noticeTipShowFlag = !iot.native.isNotifycationOpen();
resolve(this); resolve(this);
}, },
methods:{ methods:{
...@@ -55,6 +57,9 @@ function init() { ...@@ -55,6 +57,9 @@ function init() {
onRefreshFresh(){ onRefreshFresh(){
refreshFresh(this); refreshFresh(this);
}, },
onNotifycationSetting(){
notifycationSetting();
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -157,4 +162,21 @@ mui.back = function(){ ...@@ -157,4 +162,21 @@ mui.back = function(){
//tap 点击加载更多 //tap 点击加载更多
function listLoad(self) { function listLoad(self) {
resolve(self); resolve(self);
} }
\ No newline at end of file
//ios跳转到系统设置页面
//android跳转到通知页面
function notifycationSetting(){
if(plus.os.name == 'Android'){
// alert("打开通知页面");
iot.navigator.openWindow({
url: './notify.html',
id: 'notify',
styles: {
popGesture: 'none'
}
});
}else{
iot.native.toNotifycationSetting();
}
}
...@@ -25,10 +25,12 @@ function init() { ...@@ -25,10 +25,12 @@ function init() {
startId: 0, startId: 0,
deviceId: null, deviceId: null,
userInfo: [], userInfo: [],
flag: true flag: true,
noticeTipShowFlag: false
}, },
mounted(){ mounted(){
uComponents.showLoading(this); uComponents.showLoading(this);
this.noticeTipShowFlag = !iot.native.isNotifycationOpen();
resolve(this); resolve(this);
}, },
methods:{ methods:{
...@@ -62,6 +64,9 @@ function init() { ...@@ -62,6 +64,9 @@ function init() {
onRefreshFresh(){ onRefreshFresh(){
refreshFresh(this); refreshFresh(this);
}, },
onNotifycationSetting(){
notifycationSetting();
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -179,4 +184,21 @@ function listLoad(self) { ...@@ -179,4 +184,21 @@ function listLoad(self) {
function refreshFresh(self){ function refreshFresh(self){
resolve(self); resolve(self);
} }
\ No newline at end of file
//ios跳转到系统设置页面
//android跳转到通知页面
function notifycationSetting(){
if(plus.os.name == 'Android'){
// alert("打开通知页面");
iot.navigator.openWindow({
url: './notify.html',
id: 'notify',
styles: {
popGesture: 'none'
}
});
}else{
iot.native.toNotifycationSetting();
}
}
...@@ -23,6 +23,10 @@ function init() { ...@@ -23,6 +23,10 @@ function init() {
if(iot.navigator.getExtras().needClose){ if(iot.navigator.getExtras().needClose){
iot.navigator.closeAllBesidesItself(); iot.navigator.closeAllBesidesItself();
} }
// console.log(iot.native.isNotifycationOpen());
// iot.native.toNotifycationSetting();
const app = new Vue({ const app = new Vue({
data:{ data:{
//开门记录 //开门记录
......
import {iot, uPublic, uComponents} from '../../public/public.js';
import config from '../../public/public.js';
iot.ready(init);
function init() {
uPublic.componentsExtend(['android-notify']);
var form = new Vue({
el: '#content',
data:{
initButtonText: "测试按钮",
componentsConfig: initComponentsConfig(),//初始化数据
dialogFlag:true,
showFlags:false,
onNotifyToIndex:notifyToIndex //改方法传入
},
mounted:function(){
},
methods: {
onTapButton(){
tapButton(this);
},
onAddDeviceButtonTap(){
console.log("onAddDeviceButtonTap......");
},
onToSetting(){
console.log("点击了toSetting");
}
}
});
function notifyToIndex(){
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{
needClose: true
});
iot.navigator.openWindow({
url: './index.html',
id: 'device',
styles: {
popGesture: 'none'
},
extras: {
needClose: true
}
});
}
function tapButton(self){
console.log("tapButton.......");
}
//初始化组件参数
function initComponentsConfig() {
return {
// 设置通知弹出框参数
notifyDialog: {
// 默认参数
initParam: {
// appName:"js.通用门锁",
// time:"js.刚刚",
// title:'js.开启通知',
// content1:'js.开启通知后您将可以及时获取门锁报警',
// content2:'js.提醒、门锁开门消息通知',
// accept:'js.我知道了!',
// buttonTitle:'js.前往开启通知设置'
}
},
addDeviceButton:{
// 默认参数
initParam: {
class: 'edit-name-button',
text: "这是测试button"
}
}
};
}
}
...@@ -24,10 +24,12 @@ function init() { ...@@ -24,10 +24,12 @@ function init() {
startId: 0, startId: 0,
deviceId: null, deviceId: null,
userInfo: [], userInfo: [],
flag: true flag: true,
noticeTipShowFlag: false
}, },
mounted(){ mounted(){
uComponents.showLoading(this); uComponents.showLoading(this);
this.noticeTipShowFlag = !iot.native.isNotifycationOpen();
resolve(this); resolve(this);
}, },
methods:{ methods:{
...@@ -61,6 +63,9 @@ function init() { ...@@ -61,6 +63,9 @@ function init() {
onRefreshFresh(){ onRefreshFresh(){
refreshFresh(this); refreshFresh(this);
}, },
onNotifycationSetting(){
notifycationSetting();
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -214,3 +219,19 @@ function setListData(self, response){ ...@@ -214,3 +219,19 @@ function setListData(self, response){
}else{ }else{
} }
} }
//ios跳转到系统设置页面
//android跳转到通知页面
function notifycationSetting(){
if(plus.os.name == 'Android'){
iot.navigator.openWindow({
url: './notify.html',
id: 'notify',
styles: {
popGesture: 'none'
}
});
}else{
iot.native.toNotifycationSetting();
}
}
...@@ -201,7 +201,6 @@ function initComponentsConfig() { ...@@ -201,7 +201,6 @@ function initComponentsConfig() {
//获取设备信息 //获取设备信息
function getDoorlockInfo(self){ function getDoorlockInfo(self){
uComponents.showLoading(self); uComponents.showLoading(self);
let productId = config.model;
iot.business.device.getInfo({ iot.business.device.getInfo({
data: { data: {
device_id: self.extras.lockInfo.lock_id device_id: self.extras.lockInfo.lock_id
...@@ -319,11 +318,11 @@ function backTap(){ ...@@ -319,11 +318,11 @@ function backTap(){
} }
////重写mui.back ////重写mui.back
//mui.back = function(){ mui.back = function(){
// iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{}); iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{});
// console.log("fire"); console.log("fire");
// iot.navigator.back(); iot.navigator.back();
//} }
// 选择: 是否接收门铃消息推送 // 选择: 是否接收门铃消息推送
function doorbellSwitchTap(self, value){ function doorbellSwitchTap(self, value){
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
function init() { function init() {
//通用 dialog、loading组件 //通用 dialog、loading组件
...@@ -30,17 +29,13 @@ function init() { ...@@ -30,17 +29,13 @@ function init() {
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('start: Debug'); iotDebug.push('start: Debug');
} }
var self = this; resolve(this);
if (plus.os.name == 'Android') {
iot.permission.checkPermission(['READ_EXTERNAL_STORAGE'], function (res) { document.addEventListener("resume", () => {
console.log('success', res); if(!this.showLoginButtonFlag){
loginButtonTap(self); resolve(this);
}, function (err) { }
console.log('error', err); }, false);
});
}else{
loginButtonTap(self);
}
}, },
methods:{ methods:{
getShowLoginButtonFlag(){ getShowLoginButtonFlag(){
...@@ -86,6 +81,19 @@ function initComponentsConfig() { ...@@ -86,6 +81,19 @@ function initComponentsConfig() {
} }
} }
function resolve(self){
if (plus.os.name == 'Android') {
iot.permission.checkPermission(['READ_EXTERNAL_STORAGE'], function (res) {
console.log('success', res);
loginButtonTap(self);
}, function (err) {
console.log('error', err);
});
}else{
loginButtonTap(self);
}
}
//sds登陆 //sds登陆
function loginButtonTap(self){ function loginButtonTap(self){
iot.business.sds.checkSDSInit({ iot.business.sds.checkSDSInit({
...@@ -105,7 +113,6 @@ function loginButtonTap(self){ ...@@ -105,7 +113,6 @@ function loginButtonTap(self){
var data = uPublic.checkResponseData(response.data); var data = uPublic.checkResponseData(response.data);
if(data){ if(data){
if(data.hasOwnProperty('UserID')){ if(data.hasOwnProperty('UserID')){
console.log("sds登陆成功了");
cloudsLogin(self, data.UserID); cloudsLogin(self, data.UserID);
} }
}else{ }else{
......
...@@ -183,9 +183,10 @@ ...@@ -183,9 +183,10 @@
.mediaPosition(); .mediaPosition();
.u-comm-loading(); //.u-comm-loading();
.u-process();
.custom-comm-loading(); //.custom-comm-loading();
// //
.scanContent { .scanContent {
...@@ -194,4 +195,76 @@ ...@@ -194,4 +195,76 @@
bottom: 0; bottom: 0;
left: 0; left: 0;
width: 100%; width: 100%;
} }
\ No newline at end of file
.noticeContent{
color: #c8225b;
line-height: 1.5;
text-align: center;
width: 100%;
display: inline-block;
position: absolute;
bottom: -200px;
font-size: 12px ;
span{
&:first-child{
.iconfont(20px);
}
}
}
.custom-process-button{
position: absolute;
bottom: inherit;
left: 0;
right: 0;
width: 7.333rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.custom-process-cancelButton{
bottom: 0;
width: 100px;
color: #00ffff;
font-size: 12px;
background-color: transparent;
padding: 18px 0 5px;
border: none;
&:after{
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;/*no*/
.blue_gradient_border();
}
.tap_row(transparent);
&.disabled{
background-color: transparent;
}
}
.u-process.u-process-status-1{
.u-process-content{
top: 200px;
}
}
.u-process.u-process-status-2{
.u-process-content{
top: 200px;
}
}
@import "../public/public.less";
@import "../public/header.less";
.u-android-notify{
margin: 53px 40px 0;
.u-android-notify-row{
color: rgba(204,204,204,.5);
padding-left: 34px;
position: relative;
.u-android-notify-title{
font-size: 16px;
position: relative;
}
.u-android-notify-tip{
font-size: 12px;
line-height: 15px;
padding: 3px 5px 1px;
margin: 6px -4px -7px;
border-radius: 5px;
position: relative;
border: 1px dashed transparent;/*no*/
&:before{
content: '';
position: absolute;
top: -6px;
left: 90px;
.bgImgSize(10px,6px,"blue_arrow_icon.png",center,cover);
display: none;
}
}
.u-android-notify-subtitle{
margin-top: 15px;
}
.u-android-notify-subcontent{
font-size: 12px;
line-height: 15px;
padding-left: 21px;
margin-top: 6px;
}
//1、2、3
.u-android-notify-icon{
position: absolute;
left: 0;
display: inline-block;
width: 22px;
height: 22px;
border: 1px solid;/*no*/
border-radius: 50%;
text-align: center;
.iconfont(12px,22px);
background-color: #242635;
outline: 3px solid #242635;/*no*/
}
// √
.u-android-notify-finish-icon{
position: absolute;
top: 10px;
left: 12px;
&:before{
content:'\e730';
color: #00ffff;
.defaultIconfont(16px);
background-color: #242635;
border-radius: 50%;
.transform(scale(0.6));
display: block;
}
}
.u-android-notify-button{
.transformV_center(right,0);
color: #00ffff;
font-size: 12px;
line-height: 1;
border-bottom: 1px solid;/*no*/
padding-bottom: 1px;/*no*/
// >>
span{
margin-left: 6px;
&:before{
content:'\e6c4';
.iconfont(12px);
}
}
}
&:not(:last-child){
padding-bottom: 55px;
}
&:before{
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 11px;
width: 1px;/*no*/
background-color: #595b63;
}
}
.active{
color: #fff;
.u-android-notify-tip{
color: #91929a;
border-color: #91929a;
&:before{
display: block;
}
}
.u-android-notify-subcontent{
color: #91929a;
}
.u-android-notify-icon{
color: #00ffff;
}
}
.changeBorder:before{
background-color: #00ffff;
}
}
\ No newline at end of file
...@@ -68,4 +68,39 @@ ...@@ -68,4 +68,39 @@
-webkit-transform: rotate3d(0, 0, 1, 360deg); -webkit-transform: rotate3d(0, 0, 1, 360deg);
transform: rotate3d(0, 0, 1, 360deg); transform: rotate3d(0, 0, 1, 360deg);
} }
}
.notice{
height: 62px;
line-height: 62px;
border-bottom: 2px solid #50515D;/*no*/
text-align: center;
color: #00ffff;
font-size: 12px;
> span{
color: #fc2168;
.iconfont(20px);
vertical-align: middle;
margin-right: 9px;
}
p{
display: inline-block;
color: #00ffff;
font-size: 12px;
line-height: 1;
border-bottom: 1px solid;/*no*/
padding-bottom: 1px;/*no*/
margin-left: 24px;
// >>
span{
margin-left: 6px;
&:before{
content:'\e6c4';
.iconfont(12px);
}
}
}
~ .custom-list{
top: 106px;
}
} }
\ No newline at end of file
...@@ -179,6 +179,11 @@ ...@@ -179,6 +179,11 @@
} }
} }
} }
.timeTip{
text-align: center;
font-size: 12px;
padding-left: 0;
}
} }
.unbindState-dialog(); .unbindState-dialog();
......
...@@ -368,6 +368,34 @@ p{ ...@@ -368,6 +368,34 @@ p{
} }
} }
.custom-process(){
.custom-process{
background-color: @CUSTOM-BACKDROP-BG;
.u-process-button{
bottom: 134px;
width: 100px;
color: #00ffff;
font-size: 12px;
background-color: transparent;
padding: 18px 0 5px;
&:after{
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;/*no*/
.blue_gradient_border();
}
.tap_row(transparent);
&.disabled{
background-color: transparent;
}
}
}
}
//自定义弹出框组件 //自定义弹出框组件
.custom-dialog(){ .custom-dialog(){
.custom-dialog{ .custom-dialog{
......
...@@ -894,6 +894,146 @@ ...@@ -894,6 +894,146 @@
}); });
} }
.u-process(){
.u-process{
.mask(1050);
.u-process-content{
.transformV_center(left,0);
width: 100%;
.loader{
font-size: 16px;
width: 3.750em;
height: 3.750em;
margin: 0 auto;
position: relative;
&:before{
content: '';
.margin_center(0.500em,0.500em);
border-radius: 50%;
.transform(translateZ(0) scale(0.55));
}
}
.icon{
font-size: 16px;
width: 3.750em;
height: 3.750em;
margin: 0 auto;
position: relative;
&:before{
.transform_center();
.iconfont(4.125em);
}
}
.u-process-text{
margin-top: 20px;
text-align: center;
}
}
.u-process-button{
position: absolute;
bottom: 65px;
left: 0;
width: 100%;
display: table;
table-layout: fixed;
border-collapse: separate;
border-spacing: 25px 0;
li{
// display: table-cell;
// color: @BUTTON-COMPONENT-COLOR;
// font-size: inherit;
// background-color: @BUTTON-COMPONENT-BG;
// border-radius: 5px;
// text-align: center;
// line-height: 1;
// padding: 10px 0;
// .transition(all 0.2s linear);
// background-clip: padding-box;
// //按钮 active
// .tap_row(@BUTTON-COMPONENT-ACTIVE-BG);
// //按钮 不可控
// &.disabled{
// background-color: @BUTTON-COMPONENT-DISABLED-BG;
// }
}
}
//loading
&.u-process-status-0{
.u-process-content{
color: #00ffff;
.loader{
display: block;
&:before{
.animation(commLoading 1.3s linear infinite);
}
}
.icon{
display: none;
}
}
}
//成功 state
&.u-process-status-1{
.u-process-content{
color: #00ffff;
.loader{
display: none;
}
.icon{
display: block;
&:before{
content: '\e800';
}
}
}
}
//失败 state
&.u-process-status-2{
.u-process-content{
color: #fff;
.loader{
display: none;
}
.icon{
display: block;
&:before{
content: '\e646';
}
}
}
}
}
.keyframes(commLoading,{
0%,
100% {
.box-shadow(0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0);
}
12.5% {
.box-shadow(0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em);
}
25% {
.box-shadow(0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em);
}
37.5% {
.box-shadow(0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em);
}
50% {
.box-shadow(0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em);
}
62.5% {
.box-shadow(0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em);
}
75% {
.box-shadow(0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0);
}
87.5% {
.box-shadow(0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em);
}
});
}
.edit-name(){ .edit-name(){
.edit-name-text{ .edit-name-text{
width: 100%; width: 100%;
......
{"loading":"loading...","scroll":{"clickToLoadMore":"点击加载更多","loading":"loading..."},"btn":{"confirm":"确定","guideLogin":"账号/密码登录","login":"登录","getCode":"获取验证码","register":"注册","logout":"退出系统","save":"保存","qrcode":"生成二维码","wifiAdd":"开始配置Wi-Fi","connect":"连接","bindUser":"绑定姓名","bind":"我要绑定","reBound":"请重新绑定","saveQRcode":"保存二维码到相册","unbind":"解绑","deleteUser":"删除该用户","qrcodeReset":"重新生成二维码","add":"添加","next":"下一步","iSee":"我知道了","unbindDoorlock":"解绑门锁"},"dialog":{"confirm":"确认","cancel":"取消","unbind":"解绑","delete":"删除"},"title":{"login":"登录","register":"注册","forgetPassword":"忘记密码","device":"U智锁","opendoorRecord":"开门记录","alarmInfo":"报警记录","remoteOpendoor":"远程开门","hijackRecord":"劫持记录","doorlockManage":"门锁管理","editName":"修改名称","qrcode":"生成绑定二维码","addDevice":"添加设备","scanCodeAdd":"扫描绑定设备","wifiAddHelp":"配置Wi-Fi","wifiAdd":"连接Wi-Fi","bindUserHelp":"ID-姓名绑定","bindUser":"绑定用户","userList":"用户列表","doorlockUser":"门锁用户","addUser":"添加用户","inviteBind":"邀请绑定","unlockInfo":"关联开锁信息","myInfo":"个人信息","editNickname":"修改昵称","editPassword":"修改密码","addUnlockInfo":"关联开锁ID","deviceList":"产品型号"},"guide":{"footer":"指纹改变生活"},"login":{"telInputTip":"请输入手机号","passwordInputTip":"请输入密码","register":"快速注册","forgetPassword":"忘记密码","failure":"登陆失败","error":{"telNull":"请输入手机号","passWordNull":"请输入密码"}},"register":{"telInputTip":"请输入手机号","codeInputTip":"请输入验证码","passwordInputTip":"请输入6位登录密码","error":{"telNull":"请输入手机号","codeNull":"请输入验证码","passWordNull":"请输入密码"}},"forgetPassword":{"telInputTip":"请输入手机号","codeInputTip":"请输入验证码","passwordInputTip":"请输入6位登录密码","error":{"telNull":"请输入手机号","codeNull":"请输入验证码","passWordNull":"请输入密码"}},"device":{"opendoorRecord":"开门记录","securityAlarm":"安全报警","doorlockUser":"门锁用户","remoteOpendoor":"远程开门","hijackAlarm":"劫持报警","doorlockManage":"门锁管理","followTitle":"关注服务号","followCont1":"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧","followCont2":"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注","laterFollow":"稍后关注","newMsgDoorlock":"门锁最新消息","doorLockRinging":"门铃响了","defaultNewMsg":"您尚未绑定门锁","noNewMsg":"门锁休息中","bindDoorlock":"绑定门锁"},"opendoorRecord":{"noRecordTip":"暂无记录","passwordOpenDoor":"密码开门","fingerprintOpenDoor":"指纹开门","ICcardOpenDoor":"IC卡开门","remoteOpenDoor":"遥控器开门","keyOpenDoor":"钥匙开门","hijackingAlarm":"劫持报警","appRemoteOpenDoor":"app远程开门"},"alarmInfo":{"noInfoTip":"暂无信息","tamperAlarm":"防撬报警","trialAlarm":"试错报警","powerAlarm":"欠电报警"},"remoteOpendoor":{"loading":"远程开门中","passwordInputTip":"请输入远程开门密码","openDoorSuccess":"远程开门成功","openDoorFailure":"远程开门失败","remoteTimeout":"远程开门超时","remoteOpendoorAgain":"请尝试重试","error":{"noPasswordTip":"远程密码不能为空"}},"hijackRecord":{"noRecordTip":"暂无记录","hijackingAlarm":"劫持指纹报警"},"doorlockManage":{"name":"名称","logoutDialogTip":"确定要退出系统吗?","defaultNickname":"门锁","isClearRecord":"清除所有信息","unbindSuccess":"解绑成功","doorbellMsgPush":"门铃消息推送","alarmMsgPush":"报警消息推送","opendoorMsgPush":"开门消息推送","unbindDialogTip":"确认解除绑定","unbindFailue":"解绑失败"},"editName":{"nameInputTip":"请输入设备名称","nickNameInputTip":"请输入用户名","editNameSuccess":"修改名称成功","editNameFailue":"修改名称失败","error":{"nameCanNotBeBlank":"设备名称不能为空","nicknameCanNotBeBlank":"用户名不能为空"}},"qrcode":{"helpTitle":"注意事项:","helpCont1":"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码","helpCont2":"2.二维码有效时间为10分钟且只能使用一次","helpCont3":"3.用户只需要扫描该二维码即可绑定指纹锁","helpCont4":"4.绑定失败则需要重新生成二维码进行绑定"},"addDevice":{"scanCodeAdd":"扫描绑定设备","wifiAdd":"配置Wi-Fi","loading":"loading","bindSuccess":"绑定成功","bindFailure":"绑定失败","reBindDevice":"请重新绑定"},"wifiAddHelp":{"helpTitle":"配置WIFI说明:","helpCont1":"1.确认设备端进入配网模式(详情操作请见产品说明书)","helpCont2":"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面","helpCont3":"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。","helpCont4":"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"},"wifiAdd":{"unbindWifiTip":"当前无Wi-Fi","wifiBinding":"配网中","wifiBindSuccess":"配网成功,请激活设备","deviceActivating":"设备激活中","deviceActivateSuccess":"激活成功","deviceActivateFailure":"激活失败","bindTimeout":"连接超时","passwordInputTip":"请输入Wi-Fi密码","remindTitle":"配置Wi-Fi提醒:","remindCont1":"1. 请确保Wi-Fi信号良好","remindCont2":"2. 本产品暂不支持5GHz无线网络","error":{}},"bindUserHelp":{"helpTitle":"配对姓名说明:","helpCont1":"1.在指纹锁上录入指纹、密码、卡并获得相应ID","helpCont2":"2.通过姓名绑定将该ID绑定对应用户姓名","helpCont3":"3.绑定成功后,开门记录中将会显示已绑定的用户姓名","helpCont4":"4.用户姓名信息只保存在APP端,不影响锁端设置","boundUser":"查看已绑定ID姓名"},"bindUser":{"editHeadTip":"点击编辑用户头像","nameTitle":"姓名","fingerprintIDTitle":"指纹ID","passwordIDTitle":"密码ID","ICCardIDTitle":"IC卡ID","requiredInputTip":"(必填)","optionalInputTip":"(选填)","error":{}},"commstatusLoading":{"connectSuccess":"Wi-Fi连接成功,正在绑定...","bindSuccess":"绑定成功","bindFailed":"绑定失败"},"userList":{"name":"昵称:","noUserTip":"暂无用户","defaultName":"管理员","binded":"已绑定","unbind":"未绑定"},"addUser":{"nameInputTip":"请输入您想添加的用户名","addUserSuccess":"添加用户成功","addUserFailure":"添加用户失败","error":{"nameCanNotEmpty":"用户名不能为空"}},"doorlockUser":{"name":"昵称:","inviteBind":"邀请绑定","bindUnlockInfo":"关联开锁信息","opendoorRecord":"历史开门记录","unbindDialogTip":"<span></span>解绑后,该用户不能对门锁下的信息进行查看","deleteUserDialogTip":"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。","unbindSuccess":"解绑成功","unbindFailue":"解绑失败","guideStep1Tip1":"邀请绑定成功","guideStep1Tip2":"(可查看开门记录,报警记录等<br>相关门锁信息)","guideStep3Tip":"绑定后看可了解<br>该用户的开门情况","deleteSuccess":"删除成功","deleteFailure":"删除失败","defaultName":"管理员"},"inviteBind":{"qrcodeExpireTip":"二维码已过期,请重新生成","title":"注意事项:","cont1":"1.被邀请的用户选择添加设备页面中的扫二维码方式进行添加门锁","cont2":"2.长按二维码保存为图片,发送给被邀请用户,用户通过长按识别二维码","cont3":"3.有效时间10分钟,失效后请点击“重新生成二维码"},"unlockInfo":{"bindUnlockInfo":"已关联的开锁信息","noInfoTip":"当前无绑定开锁ID,请添加","passwordOpenDoor":"密码","fingerprintOpenDoor":"指纹","ICcardOpenDoor":"IC卡","remoteOpenDoor":"遥控器","keyOpenDoor":"钥匙","appRemoteOpenDoor":"app远程","hijackingAlarm":"劫持指纹","setHijack":"设为劫持","setHijackTip":"确认设为劫持指纹?","cancelHijack":"取消劫持","cancelHijackTip":"确认取消劫持指纹?","cancelAssociated":"取消关联","cancelAssociatedTip":"取消关联后,开门历史记录中将不再显示关联的用户信息。","cancelAssociatedSuccess":"取消关联成功","cancelAssociatedFailue":"取消关联失败","setHijackSuccess":"设为劫持指纹成功","setHijackFailue":"设为劫持指纹失败","cancelHijackSuccess":"取消劫持指纹成功","cancelHijackFailue":"取消劫持指纹失败"},"addUnlockInfo":{"opendoorMode":"选择要关联的开锁方式","fingerprint":"指纹","password":"密码","icCard":"IC卡","key":"钥匙","remote":"遥控器","hijackFingerprint":"劫持指纹","opendoorRecord":"选择要关联的开锁ID","tip":"仅显示未绑定开门记录","addInfoSuccess":"添加绑定开锁信息成功","addInfoFailue":"添加绑定开锁信息失败","noRecordTip":"暂无记录","setHijackSwitch":"设为劫持指纹","guideStep1Tip":"选择需要添加关联的开门方式","guideStep3Tip":"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>","guideStep5Tip":"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"},"myInfo":{"editNickname":"修改昵称","editPassword":"修改密码","logoutDialogTip":"确定要退出系统吗?"},"editNickname":{"nickNameInputTip":"请输入昵称"},"editPassword":{"newPasswordInputTip":"请输入新密码","oldPasswordInputTip":"请输入旧密码","oldPasswordInputTipAgain":"请再次输入旧密码"},"request":{"error":"请求发送失败","initError":"初始化失败,请关闭APP重试"},"deviceList":{"model":"型号:","noDeviceTip":"暂无产品型号"}} {"loading":"loading...","scroll":{"clickToLoadMore":"上拉加载更多","loading":"loading"},"btn":{"confirm":"确定","guideLogin":"账号/密码登录","login":"登录","getCode":"获取验证码","register":"注册","logout":"退出系统","save":"保存","qrcode":"生成二维码","wifiAdd":"开始配置Wi-Fi","connect":"连接","bindUser":"绑定姓名","bind":"我要绑定","reBound":"请重新绑定","saveQRcode":"保存二维码到相册","unbind":"解绑","deleteUser":"删除该用户","qrcodeReset":"重新生成二维码","add":"添加","next":"下一步","iSee":"我知道了","unbindDoorlock":"解绑门锁","finish":"完成"},"dialog":{"confirm":"确认","cancel":"取消","unbind":"解绑","delete":"删除"},"title":{"login":"登录","register":"注册","forgetPassword":"忘记密码","device":"U智锁","opendoorRecord":"开门记录","alarmInfo":"报警记录","remoteOpendoor":"远程开门","hijackRecord":"劫持记录","doorlockManage":"门锁管理","editName":"修改名称","qrcode":"生成绑定二维码","addDevice":"添加设备","scanCodeAdd":"扫描绑定设备","wifiAddHelp":"配置Wi-Fi","wifiAdd":"连接Wi-Fi","bindUserHelp":"ID-姓名绑定","bindUser":"绑定用户","userList":"用户列表","doorlockUser":"门锁用户","addUser":"添加用户","inviteBind":"邀请绑定","unlockInfo":"关联开锁信息","myInfo":"个人信息","editNickname":"修改昵称","editPassword":"修改密码","addUnlockInfo":"关联开锁ID","deviceList":"产品型号"},"guide":{"footer":"指纹改变生活"},"login":{"telInputTip":"请输入手机号","passwordInputTip":"请输入密码","register":"快速注册","forgetPassword":"忘记密码","failure":"登陆失败","error":{"telNull":"请输入手机号","passWordNull":"请输入密码"}},"register":{"telInputTip":"请输入手机号","codeInputTip":"请输入验证码","passwordInputTip":"请输入6位登录密码","error":{"telNull":"请输入手机号","codeNull":"请输入验证码","passWordNull":"请输入密码"}},"forgetPassword":{"telInputTip":"请输入手机号","codeInputTip":"请输入验证码","passwordInputTip":"请输入6位登录密码","error":{"telNull":"请输入手机号","codeNull":"请输入验证码","passWordNull":"请输入密码"}},"device":{"opendoorRecord":"开门记录","securityAlarm":"安全报警","doorlockUser":"门锁用户","remoteOpendoor":"远程开门","hijackAlarm":"劫持报警","doorlockManage":"门锁管理","followTitle":"关注服务号","followCont1":"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧","followCont2":"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注","laterFollow":"稍后关注","newMsgDoorlock":"门锁最新消息","doorLockRinging":"门铃响了","defaultNewMsg":"您尚未绑定门锁","noNewMsg":"门锁休息中","bindDoorlock":"绑定门锁"},"opendoorRecord":{"noRecordTip":"暂无记录","passwordOpenDoor":"密码开门","fingerprintOpenDoor":"指纹开门","ICcardOpenDoor":"IC卡开门","remoteOpenDoor":"遥控器开门","keyOpenDoor":"钥匙开门","hijackingAlarm":"劫持报警","appRemoteOpenDoor":"app远程开门"},"alarmInfo":{"noInfoTip":"暂无信息","tamperAlarm":"防撬报警","trialAlarm":"试错报警","powerAlarm":"欠电报警"},"remoteOpendoor":{"loading":"远程开门中","passwordInputTip":"请输入远程开门密码","openDoorSuccess":"远程开门成功","openDoorFailure":"远程开门失败","remoteTimeout":"远程开门超时","remoteOpendoorAgain":"请尝试重试","error":{"noPasswordTip":"远程密码不能为空"}},"hijackRecord":{"noRecordTip":"暂无记录","hijackingAlarm":"劫持指纹报警"},"doorlockManage":{"name":"名称","logoutDialogTip":"确定要退出系统吗?","defaultNickname":"门锁","isClearRecord":"清除所有信息","unbindSuccess":"解绑成功","doorbellMsgPush":"门铃消息推送","alarmMsgPush":"报警消息推送","opendoorMsgPush":"开门消息推送","unbindDialogTip":"确认解除绑定","unbindFailue":"解绑失败"},"editName":{"nameInputTip":"请输入设备名称","nickNameInputTip":"请输入用户名","editNameSuccess":"修改名称成功","editNameFailue":"修改名称失败","error":{"nameCanNotBeBlank":"设备名称不能为空","nicknameCanNotBeBlank":"用户名不能为空"}},"qrcode":{"helpTitle":"注意事项:","helpCont1":"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码","helpCont2":"2.二维码有效时间为10分钟且只能使用一次","helpCont3":"3.用户只需要扫描该二维码即可绑定指纹锁","helpCont4":"4.绑定失败则需要重新生成二维码进行绑定"},"addDevice":{"scanCodeAdd":"扫描绑定设备","wifiAdd":"配置Wi-Fi","loading":"loading","bindSuccess":"绑定成功","bindFailure":"绑定失败","reBindDevice":"请重新绑定"},"wifiAddHelp":{"helpTitle":"配置WIFI说明:","helpCont1":"1.确认设备端进入配网模式(详情操作请见产品说明书)","helpCont2":"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面","helpCont3":"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。","helpCont4":"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"},"wifiAdd":{"unbindWifiTip":"当前无Wi-Fi","wifiBinding":"配网中","wifiBindSuccess":"Wi-Fi连接成功,正在激活设备","deviceActivating":"Wi-Fi连接成功,正在激活设备","deviceActivateSuccess":"激活成功","deviceActivateFailure":"激活失败","bindTimeout":"连接超时","passwordInputTip":"请输入Wi-Fi密码","remindTitle":"配置Wi-Fi提醒:","remindCont1":"1. 请确保Wi-Fi信号良好","remindCont2":"2. 本产品暂不支持5GHz无线网络","error":{}},"bindUserHelp":{"helpTitle":"配对姓名说明:","helpCont1":"1.在指纹锁上录入指纹、密码、卡并获得相应ID","helpCont2":"2.通过姓名绑定将该ID绑定对应用户姓名","helpCont3":"3.绑定成功后,开门记录中将会显示已绑定的用户姓名","helpCont4":"4.用户姓名信息只保存在APP端,不影响锁端设置","boundUser":"查看已绑定ID姓名"},"bindUser":{"editHeadTip":"点击编辑用户头像","nameTitle":"姓名","fingerprintIDTitle":"指纹ID","passwordIDTitle":"密码ID","ICCardIDTitle":"IC卡ID","requiredInputTip":"(必填)","optionalInputTip":"(选填)","error":{}},"commstatusLoading":{"connectSuccess":"Wi-Fi连接成功,正在绑定...","bindSuccess":"绑定成功","bindFailed":"绑定失败"},"userList":{"name":"昵称:","noUserTip":"暂无用户","defaultName":"管理员","binded":"已绑定","unbind":"未绑定"},"addUser":{"nameInputTip":"请输入您想添加的用户名","addUserSuccess":"添加用户成功","addUserFailure":"添加用户失败","error":{"nameCanNotEmpty":"用户名不能为空"}},"doorlockUser":{"name":"昵称:","inviteBind":"邀请绑定","bindUnlockInfo":"关联开锁信息","opendoorRecord":"历史开门记录","unbindDialogTip":"<span></span>解绑后,该用户不能对门锁下的信息进行查看","deleteUserDialogTip":"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。","unbindSuccess":"解绑成功","unbindFailue":"解绑失败","guideStep1Tip1":"邀请绑定成功","guideStep1Tip2":"(可查看开门记录,报警记录等<br>相关门锁信息)","guideStep3Tip":"绑定后看可了解<br>该用户的开门情况","deleteSuccess":"删除成功","deleteFailure":"删除失败","defaultName":"管理员"},"inviteBind":{"qrcodeExpireTip":"二维码已过期,请重新生成","title":"绑定方法:","cont1":"1.受邀用户登录“U智锁”APP","cont2":"2.选择“扫描绑定设备”","cont3":"3.扫描上方二维码完成绑定"},"unlockInfo":{"bindUnlockInfo":"已关联的开锁信息","noInfoTip":"当前无绑定开锁ID,请添加","passwordOpenDoor":"密码","fingerprintOpenDoor":"指纹","ICcardOpenDoor":"IC卡","remoteOpenDoor":"遥控器","keyOpenDoor":"钥匙","appRemoteOpenDoor":"app远程","hijackingAlarm":"劫持指纹","setHijack":"设为劫持","setHijackTip":"确认设为劫持指纹?","cancelHijack":"取消劫持","cancelHijackTip":"确认取消劫持指纹?","cancelAssociated":"取消关联","cancelAssociatedTip":"取消关联后,开门历史记录中将不再显示关联的用户信息。","cancelAssociatedSuccess":"取消关联成功","cancelAssociatedFailue":"取消关联失败","setHijackSuccess":"设为劫持指纹成功","setHijackFailue":"设为劫持指纹失败","cancelHijackSuccess":"取消劫持指纹成功","cancelHijackFailue":"取消劫持指纹失败"},"addUnlockInfo":{"opendoorMode":"选择要关联的开锁方式","fingerprint":"指纹","password":"密码","icCard":"IC卡","key":"钥匙","remote":"遥控器","hijackFingerprint":"劫持指纹","opendoorRecord":"选择要关联的开锁ID","tip":"仅显示未绑定开门记录","addInfoSuccess":"添加绑定开锁信息成功","addInfoFailue":"添加绑定开锁信息失败","noRecordTip":"暂无记录","setHijackSwitch":"设为劫持指纹","guideStep1Tip":"选择需要添加关联的开门方式","guideStep3Tip":"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>","guideStep5Tip":"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"},"myInfo":{"editNickname":"修改昵称","editPassword":"修改密码","logoutDialogTip":"确定要退出系统吗?"},"editNickname":{"nickNameInputTip":"请输入昵称"},"editPassword":{"newPasswordInputTip":"请输入新密码","oldPasswordInputTip":"请输入旧密码","oldPasswordInputTipAgain":"请再次输入旧密码"},"request":{"error":"请求发送失败","initError":"初始化失败,请关闭APP重试"},"deviceList":{"model":"型号:","noDeviceTip":"暂无产品型号"},"notice":{"tip":"您还未开启通知,将无法及时接受安全推送!","button":"去开启"},"help":{"title":"如何解决安卓手机收不到消息提醒?","contTip":"因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。","contTitle":"如何设置:","contSubtitle1":"1.设置自启动","contText1-1":"安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。","contText1-2":"在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。","step":"操作步骤:","contSubtitle2":"2.设置后台保活","contText2-1":"安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。","contText2-2":"在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。","contText3-1":"安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。","contText3-2":"启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"}}
\ No newline at end of file \ 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":"远程开门失败","remoteTimeout":"远程开门超时","remoteOpendoorAgain":"请尝试重试","error":{"noPasswordTip":"远程密码不能为空"}},"hijackRecord":{"noRecordTip":"暂无记录","hijackingAlarm":"劫持指纹报警"},"doorlockManage":{"name":"名称","logoutDialogTip":"确定要退出系统吗?","defaultNickname":"门锁","isClearRecord":"清除所有信息","unbindSuccess":"解绑成功","doorbellMsgPush":"门铃消息推送","alarmMsgPush":"报警消息推送","opendoorMsgPush":"开门消息推送","unbindDialogTip":"确认解除绑定","unbindFailue":"解绑失败"},"editName":{"nameInputTip":"请输入设备名称","nickNameInputTip":"请输入用户名","editNameSuccess":"修改名称成功","editNameFailue":"修改名称失败","error":{"nameCanNotBeBlank":"设备名称不能为空","nicknameCanNotBeBlank":"用户名不能为空"}},"qrcode":{"helpTitle":"注意事项:","helpCont1":"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码","helpCont2":"2.二维码有效时间为10分钟且只能使用一次","helpCont3":"3.用户只需要扫描该二维码即可绑定指纹锁","helpCont4":"4.绑定失败则需要重新生成二维码进行绑定"},"addDevice":{"scanCodeAdd":"扫描绑定设备","wifiAdd":"配置Wi-Fi","loading":"loading","bindSuccess":"绑定成功","bindFailure":"绑定失败","reBindDevice":"请重新绑定"},"wifiAddHelp":{"helpTitle":"配置WIFI说明:","helpCont1":"1.确认设备端进入配网模式(详情操作请见产品说明书)","helpCont2":"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面","helpCont3":"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。","helpCont4":"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"},"wifiAdd":{"unbindWifiTip":"当前无Wi-Fi","wifiBinding":"配网中","wifiBindSuccess":"Wi-Fi连接成功,正在激活设备","deviceActivating":"Wi-Fi连接成功,正在激活设备","deviceActivateSuccess":"激活成功","deviceActivateFailure":"激活失败","bindTimeout":"连接超时","passwordInputTip":"请输入Wi-Fi密码","remindTitle":"配置Wi-Fi提醒:","remindCont1":"1. 请确保Wi-Fi信号良好","remindCont2":"2. 本产品暂不支持5GHz无线网络","error":{}},"bindUserHelp":{"helpTitle":"配对姓名说明:","helpCont1":"1.在指纹锁上录入指纹、密码、卡并获得相应ID","helpCont2":"2.通过姓名绑定将该ID绑定对应用户姓名","helpCont3":"3.绑定成功后,开门记录中将会显示已绑定的用户姓名","helpCont4":"4.用户姓名信息只保存在APP端,不影响锁端设置","boundUser":"查看已绑定ID姓名"},"bindUser":{"editHeadTip":"点击编辑用户头像","nameTitle":"姓名","fingerprintIDTitle":"指纹ID","passwordIDTitle":"密码ID","ICCardIDTitle":"IC卡ID","requiredInputTip":"(必填)","optionalInputTip":"(选填)","error":{}},"commstatusLoading":{"connectSuccess":"Wi-Fi连接成功,正在绑定...","bindSuccess":"绑定成功","bindFailed":"绑定失败"},"userList":{"name":"昵称:","noUserTip":"暂无用户","defaultName":"管理员","binded":"已绑定","unbind":"未绑定"},"addUser":{"nameInputTip":"请输入您想添加的用户名","addUserSuccess":"添加用户成功","addUserFailure":"添加用户失败","error":{"nameCanNotEmpty":"用户名不能为空"}},"doorlockUser":{"name":"昵称:","inviteBind":"邀请绑定","bindUnlockInfo":"关联开锁信息","opendoorRecord":"历史开门记录","unbindDialogTip":"<span></span>解绑后,该用户不能对门锁下的信息进行查看","deleteUserDialogTip":"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。","unbindSuccess":"解绑成功","unbindFailue":"解绑失败","guideStep1Tip1":"邀请绑定成功","guideStep1Tip2":"(可查看开门记录,报警记录等<br>相关门锁信息)","guideStep3Tip":"绑定后看可了解<br>该用户的开门情况","deleteSuccess":"删除成功","deleteFailure":"删除失败","defaultName":"管理员"},"inviteBind":{"qrcodeExpireTip":"二维码已过期,请重新生成","title":"绑定方法:","cont1":"1.受邀用户登录“U智锁”APP","cont2":"2.选择“扫描绑定设备”","cont3":"3.扫描上方二维码完成绑定"},"unlockInfo":{"bindUnlockInfo":"已关联的开锁信息","noInfoTip":"当前无绑定开锁ID,请添加","passwordOpenDoor":"密码","fingerprintOpenDoor":"指纹","ICcardOpenDoor":"IC卡","remoteOpenDoor":"遥控器","keyOpenDoor":"钥匙","appRemoteOpenDoor":"app远程","hijackingAlarm":"劫持指纹","setHijack":"设为劫持","setHijackTip":"确认设为劫持指纹?","cancelHijack":"取消劫持","cancelHijackTip":"确认取消劫持指纹?","cancelAssociated":"取消关联","cancelAssociatedTip":"取消关联后,开门历史记录中将不再显示关联的用户信息。","cancelAssociatedSuccess":"取消关联成功","cancelAssociatedFailue":"取消关联失败","setHijackSuccess":"设为劫持指纹成功","setHijackFailue":"设为劫持指纹失败","cancelHijackSuccess":"取消劫持指纹成功","cancelHijackFailue":"取消劫持指纹失败"},"addUnlockInfo":{"opendoorMode":"选择要关联的开锁方式","fingerprint":"指纹","password":"密码","icCard":"IC卡","key":"钥匙","remote":"遥控器","hijackFingerprint":"劫持指纹","opendoorRecord":"选择要关联的开锁ID","tip":"仅显示未绑定开门记录","addInfoSuccess":"添加绑定开锁信息成功","addInfoFailue":"添加绑定开锁信息失败","noRecordTip":"暂无记录","setHijackSwitch":"设为劫持指纹","guideStep1Tip":"选择需要添加关联的开门方式","guideStep3Tip":"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>","guideStep5Tip":"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"},"myInfo":{"editNickname":"修改昵称","editPassword":"修改密码","logoutDialogTip":"确定要退出系统吗?"},"editNickname":{"nickNameInputTip":"请输入昵称"},"editPassword":{"newPasswordInputTip":"请输入新密码","oldPasswordInputTip":"请输入旧密码","oldPasswordInputTipAgain":"请再次输入旧密码"},"request":{"error":"请求发送失败","initError":"初始化失败,请关闭APP重试"},"deviceList":{"model":"型号:","noDeviceTip":"暂无产品型号"}} {"loading":"loading...","scroll":{"clickToLoadMore":"上拉加载更多","loading":"loading"},"btn":{"confirm":"确定","guideLogin":"账号/密码登录","login":"登录","getCode":"获取验证码","register":"注册","logout":"退出系统","save":"保存","qrcode":"生成二维码","wifiAdd":"开始配置Wi-Fi","connect":"连接","bindUser":"绑定姓名","bind":"我要绑定","startNow":"立即体验","ignore":"暂不开启","openNotify":"开启推送通知","reBound":"重新绑定","saveQRcode":"保存二维码到相册","unbind":"解绑","deleteUser":"删除该用户","qrcodeReset":"重新生成二维码","add":"添加","next":"下一步","iSee":"我知道了","unbindDoorlock":"解绑门锁","finish":"完成"},"dialog":{"confirm":"确认","cancel":"取消","unbind":"解绑","delete":"删除"},"title":{"login":"登录","register":"注册","forgetPassword":"忘记密码","device":"U智锁","opendoorRecord":"开门记录","alarmInfo":"报警记录","remoteOpendoor":"远程开门","hijackRecord":"劫持记录","doorlockManage":"门锁管理","editName":"修改名称","qrcode":"生成绑定二维码","addDevice":"添加设备","scanCodeAdd":"扫描绑定设备","wifiAddHelp":"配置Wi-Fi","wifiAdd":"连接Wi-Fi","bindUserHelp":"ID-姓名绑定","bindUser":"绑定用户","userList":"用户列表","doorlockUser":"门锁用户","addUser":"添加用户","inviteBind":"邀请绑定","unlockInfo":"关联开锁信息","myInfo":"个人信息","editNickname":"修改昵称","editPassword":"修改密码","addUnlockInfo":"关联开锁ID","deviceList":"产品型号"},"guide":{"footer":"指纹改变生活"},"login":{"telInputTip":"请输入手机号","passwordInputTip":"请输入密码","register":"快速注册","forgetPassword":"忘记密码","failure":"登陆失败","error":{"telNull":"请输入手机号","passWordNull":"请输入密码"}},"register":{"telInputTip":"请输入手机号","codeInputTip":"请输入验证码","passwordInputTip":"请输入6位登录密码","error":{"telNull":"请输入手机号","codeNull":"请输入验证码","passWordNull":"请输入密码"}},"forgetPassword":{"telInputTip":"请输入手机号","codeInputTip":"请输入验证码","passwordInputTip":"请输入6位登录密码","error":{"telNull":"请输入手机号","codeNull":"请输入验证码","passWordNull":"请输入密码"}},"device":{"opendoorRecord":"开门记录","securityAlarm":"安全报警","doorlockUser":"门锁用户","remoteOpendoor":"远程开门","hijackAlarm":"劫持报警","doorlockManage":"门锁管理","followTitle":"关注服务号","followCont1":"关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧","followCont2":"1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注","laterFollow":"稍后关注","newMsgDoorlock":"门锁最新消息","doorLockRinging":"门铃响了","defaultNewMsg":"您尚未绑定门锁","noNewMsg":"门锁休息中","bindDoorlock":"绑定门锁"},"opendoorRecord":{"noRecordTip":"暂无记录","passwordOpenDoor":"密码开门","fingerprintOpenDoor":"指纹开门","ICcardOpenDoor":"IC卡开门","remoteOpenDoor":"遥控器开门","keyOpenDoor":"钥匙开门","hijackingAlarm":"劫持报警","appRemoteOpenDoor":"app远程开门"},"alarmInfo":{"noInfoTip":"暂无信息","tamperAlarm":"防撬报警","trialAlarm":"试错报警","powerAlarm":"欠电报警"},"remoteOpendoor":{"loading":"远程开门中","passwordInputTip":"请输入远程开门密码","openDoorSuccess":"远程开门成功","openDoorFailure":"远程开门失败","remoteTimeout":"远程开门超时","remoteOpendoorAgain":"请尝试重试","error":{"noPasswordTip":"远程密码不能为空"}},"hijackRecord":{"noRecordTip":"暂无记录","hijackingAlarm":"劫持指纹报警"},"doorlockManage":{"name":"名称","logoutDialogTip":"确定要退出系统吗?","defaultNickname":"门锁","isClearRecord":"清除所有信息","unbindSuccess":"解绑成功","doorbellMsgPush":"门铃消息推送","alarmMsgPush":"报警消息推送","opendoorMsgPush":"开门消息推送","unbindDialogTip":"确认解除绑定","unbindFailue":"解绑失败"},"editName":{"nameInputTip":"请输入设备名称","nickNameInputTip":"请输入用户名","editNameSuccess":"修改名称成功","editNameFailue":"修改名称失败","error":{"nameCanNotBeBlank":"设备名称不能为空","nicknameCanNotBeBlank":"用户名不能为空"}},"qrcode":{"helpTitle":"注意事项:","helpCont1":"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码","helpCont2":"2.二维码有效时间为10分钟且只能使用一次","helpCont3":"3.用户只需要扫描该二维码即可绑定指纹锁","helpCont4":"4.绑定失败则需要重新生成二维码进行绑定"},"addDevice":{"scanCodeAdd":"扫描绑定设备","wifiAdd":"配置Wi-Fi","loading":"loading","bindSuccess":"绑定成功","bindFailure":"绑定失败","reBindDevice":"请重新绑定"},"wifiAddHelp":{"helpTitle":"配置WIFI说明:","helpCont1":"1.确认设备端进入配网模式(详情操作请见产品说明书)","helpCont2":"2.点击页面下方“开始配置Wi-Fi”按钮,进入WiFi配网页面","helpCont3":"3.输入Wi-Fi密码,点击“连接”,等待锁端响应,至配网成功。","helpCont4":"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"},"wifiAdd":{"unbindWifiTip":"当前无Wi-Fi","wifiBinding":"配网中","wifiBindSuccess":"Wi-Fi连接成功,正在激活设备","deviceActivating":"Wi-Fi连接成功,正在激活设备","deviceActivateSuccess":"激活成功","deviceActivateFailure":"激活失败","bindTimeout":"连接超时","passwordInputTip":"请输入Wi-Fi密码","remindTitle":"配置Wi-Fi提醒:","remindCont1":"1. 请确保Wi-Fi信号良好","remindCont2":"2. 本产品暂不支持5GHz无线网络","noticeTip":"检测到您还未开启通知,将无法及时<br>接收安全推送","error":{}},"bindUserHelp":{"helpTitle":"配对姓名说明:","helpCont1":"1.在指纹锁上录入指纹、密码、卡并获得相应ID","helpCont2":"2.通过姓名绑定将该ID绑定对应用户姓名","helpCont3":"3.绑定成功后,开门记录中将会显示已绑定的用户姓名","helpCont4":"4.用户姓名信息只保存在APP端,不影响锁端设置","boundUser":"查看已绑定ID姓名"},"bindUser":{"editHeadTip":"点击编辑用户头像","nameTitle":"姓名","fingerprintIDTitle":"指纹ID","passwordIDTitle":"密码ID","ICCardIDTitle":"IC卡ID","requiredInputTip":"(必填)","optionalInputTip":"(选填)","error":{}},"commstatusLoading":{"connectSuccess":"Wi-Fi连接成功,正在绑定...","bindSuccess":"绑定成功","bindFailed":"绑定失败"},"userList":{"name":"昵称:","noUserTip":"暂无用户","defaultName":"管理员","binded":"已绑定","unbind":"未绑定"},"addUser":{"nameInputTip":"请输入您想添加的用户名","addUserSuccess":"添加用户成功","addUserFailure":"添加用户失败","error":{"nameCanNotEmpty":"用户名不能为空"}},"doorlockUser":{"name":"昵称:","inviteBind":"邀请绑定","bindUnlockInfo":"关联开锁信息","opendoorRecord":"历史开门记录","unbindDialogTip":"<span></span>解绑后,该用户不能对门锁下的信息进行查看","deleteUserDialogTip":"删除后,用户对应的开锁id取消关联,同时失去信息查看权限。","unbindSuccess":"解绑成功","unbindFailue":"解绑失败","guideStep1Tip1":"邀请绑定成功","guideStep1Tip2":"(可查看开门记录,报警记录等<br>相关门锁信息)","guideStep3Tip":"绑定后看可了解<br>该用户的开门情况","deleteSuccess":"删除成功","deleteFailure":"删除失败","defaultName":"管理员"},"inviteBind":{"qrcodeExpireTip":"二维码已过期,请重新生成","title":"绑定方法:","cont1":"1.受邀用户登录“U智锁”APP","cont2":"2.选择“扫描绑定设备”","cont3":"3.扫描上方二维码完成绑定","tip":"注: 二维码有效时间为10分钟,过期请重新生成"},"unlockInfo":{"bindUnlockInfo":"已关联的开锁信息","noInfoTip":"当前无绑定开锁ID,请添加","passwordOpenDoor":"密码","fingerprintOpenDoor":"指纹","ICcardOpenDoor":"IC卡","remoteOpenDoor":"遥控器","keyOpenDoor":"钥匙","appRemoteOpenDoor":"app远程","hijackingAlarm":"劫持指纹","setHijack":"设为劫持","setHijackTip":"确认设为劫持指纹?","cancelHijack":"取消劫持","cancelHijackTip":"确认取消劫持指纹?","cancelAssociated":"取消关联","cancelAssociatedTip":"取消关联后,开门历史记录中将不再显示关联的用户信息。","cancelAssociatedSuccess":"取消关联成功","cancelAssociatedFailue":"取消关联失败","setHijackSuccess":"设为劫持指纹成功","setHijackFailue":"设为劫持指纹失败","cancelHijackSuccess":"取消劫持指纹成功","cancelHijackFailue":"取消劫持指纹失败"},"addUnlockInfo":{"opendoorMode":"选择要关联的开锁方式","fingerprint":"指纹","password":"密码","icCard":"IC卡","key":"钥匙","remote":"遥控器","hijackFingerprint":"劫持指纹","opendoorRecord":"选择要关联的开锁ID","tip":"仅显示未绑定开门记录","addInfoSuccess":"添加绑定开锁信息成功","addInfoFailue":"添加绑定开锁信息失败","noRecordTip":"暂无记录","setHijackSwitch":"设为劫持指纹","guideStep1Tip":"选择需要添加关联的开门方式","guideStep3Tip":"根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>","guideStep5Tip":"使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"},"myInfo":{"editNickname":"修改昵称","editPassword":"修改密码","logoutDialogTip":"确定要退出系统吗?"},"editNickname":{"nickNameInputTip":"请输入昵称"},"editPassword":{"newPasswordInputTip":"请输入新密码","oldPasswordInputTip":"请输入旧密码","oldPasswordInputTipAgain":"请再次输入旧密码"},"request":{"error":"请求发送失败","initError":"初始化失败,请关闭APP重试"},"deviceList":{"model":"型号:","noDeviceTip":"暂无产品型号"},"notice":{"tip":"您还未开启通知,将无法及时接受安全推送!","button":"去开启"},"help":{"title":"如何解决安卓手机收不到消息提醒?","contTip":"因部分安卓系统会在锁屏时自动清理后台运行的应用导致无法及时通知,需根据引导进行以下设置后即可随时随地收到消息推送。","contTitle":"如何设置:","contSubtitle1":"1.设置自启动","contText1-1":"安卓5.0以上系统需要设置应用自启动,未加入自启动的应用在杀进程或重新开机后无法推送通知。","contText1-2":"在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本app并开启自启动。","step":"操作步骤:","contSubtitle2":"2.设置后台保活","contText2-1":"安卓7.0以上系统需要设置受保护的后台应用,未设置的应用在设备进入睡眠后会自动杀掉,只有手动开启应用才能恢复消息推送。","contText2-2":"在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。","contText3-1":"安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。","contText3-2":"启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"},"androidNotify":{"toSettingTitle":"开启系统通知","toSettingsub":"去开启","checkSetting":"检查Android系统设置","IKonw":"我已阅读","checkSettingsubTitle":"部分安卓系统的手机在开启通知后仍无法收到推送信息,您可以依次检查以下几项设置","step1Title":"1. 应用是否设置为自启动状态","step1content":"操作步骤:在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本APP并开启自启动。","step2Title":"2. 应用是否已开启后台保护","step2content":"操作步骤:在设置中找到电量与性能,点击受保护的后台应用,找到本APP并开启保护。","step3Title":"3. 是否已将应用加入系统白名单","step3content":"操作步骤:启动本APP后打开多任务页面(清理后台应用的页面),将本APP加入白名单。","endSetting":"保存设置并开启应用","toIndex":"进入首页"}}
\ No newline at end of file \ No newline at end of file
...@@ -911,7 +911,7 @@ p { ...@@ -911,7 +911,7 @@ p {
} }
} }
.u-comm-loading { .u-process {
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
...@@ -921,24 +921,24 @@ p { ...@@ -921,24 +921,24 @@ p {
background-color: rgba(0, 0, 0, 0.8); background-color: rgba(0, 0, 0, 0.8);
} }
.u-comm-loading .u-comm-loading-content { .u-process .u-process-content {
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 0; left: 0;
-webkit-transform: translateY(-50%); -webkit-transform: translateY(-50%);
transform: translateY(-50%); transform: translateY(-50%);
right: 0; width: 100%;
} }
.u-comm-loading .u-comm-loading-content .loader { .u-process .u-process-content .loader {
font-size: 0.427rem; font-size: 0.427rem;
margin: 0 auto;
width: 3.750em; width: 3.750em;
height: 3.750em; height: 3.750em;
margin: 0 auto;
position: relative; position: relative;
} }
.u-comm-loading .u-comm-loading-content .loader:before { .u-process .u-process-content .loader:before {
content: ''; content: '';
position: absolute; position: absolute;
top: 0; top: 0;
...@@ -953,15 +953,15 @@ p { ...@@ -953,15 +953,15 @@ p {
transform: translateZ(0) scale(0.55); transform: translateZ(0) scale(0.55);
} }
.u-comm-loading .u-comm-loading-content .icon { .u-process .u-process-content .icon {
font-size: 0.427rem; font-size: 0.427rem;
margin: 0 auto;
width: 3.750em; width: 3.750em;
height: 3.750em; height: 3.750em;
margin: 0 auto;
position: relative; position: relative;
} }
.u-comm-loading .u-comm-loading-content .icon:before { .u-process .u-process-content .icon:before {
position: absolute; position: absolute;
top: 50%; top: 50%;
left: 50%; left: 50%;
...@@ -973,100 +973,71 @@ p { ...@@ -973,100 +973,71 @@ p {
line-height: 1; line-height: 1;
} }
.u-comm-loading .u-comm-loading-content .u-comm-loading-text { .u-process .u-process-content .u-process-text {
font-size: 0.427rem;
margin-top: 0.533rem; margin-top: 0.533rem;
text-align: center; text-align: center;
} }
.u-comm-loading .u-comm-loading-button { .u-process .u-process-button {
position: absolute; position: absolute;
bottom: 1.733rem; bottom: 1.733rem;
left: 0; left: 0;
right: 0; width: 100%;
width: 6.4rem; display: table;
color: #fff; table-layout: fixed;
font-size: inherit; border-collapse: separate;
background-color: #007aff; border-spacing: 0.667rem 0;
border-radius: 0.533rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.u-comm-loading .u-comm-loading-button:active {
background-color: #0065ff;
}
.u-comm-loading .u-comm-loading-button.disabled {
background-color: #bbb;
} }
.u-comm-loading.u-comm-loading-status-0 .u-comm-loading-content { .u-process.u-process-status-0 .u-process-content {
color: #00ffff; color: #00ffff;
} }
.u-comm-loading.u-comm-loading-status-0 .u-comm-loading-content .loader { .u-process.u-process-status-0 .u-process-content .loader {
display: block; display: block;
} }
.u-comm-loading.u-comm-loading-status-0 .u-comm-loading-content .loader:before { .u-process.u-process-status-0 .u-process-content .loader:before {
-webkit-animation: commLoading 1.3s infinite linear; -webkit-animation: commLoading 1.3s linear infinite;
animation: commLoading 1.3s infinite linear; animation: commLoading 1.3s linear infinite;
} }
.u-comm-loading.u-comm-loading-status-0 .u-comm-loading-content .icon { .u-process.u-process-status-0 .u-process-content .icon {
display: none; display: none;
} }
.u-comm-loading.u-comm-loading-status-0 .u-comm-loading-button { .u-process.u-process-status-1 .u-process-content {
display: none;
}
.u-comm-loading.u-comm-loading-status-1 .u-comm-loading-content {
color: #00ffff; color: #00ffff;
} }
.u-comm-loading.u-comm-loading-status-1 .u-comm-loading-content .loader { .u-process.u-process-status-1 .u-process-content .loader {
display: none; display: none;
} }
.u-comm-loading.u-comm-loading-status-1 .u-comm-loading-content .icon { .u-process.u-process-status-1 .u-process-content .icon {
display: block; display: block;
} }
.u-comm-loading.u-comm-loading-status-1 .u-comm-loading-content .icon:before { .u-process.u-process-status-1 .u-process-content .icon:before {
content: '\e800'; content: '\e800';
} }
.u-comm-loading.u-comm-loading-status-1 .u-comm-loading-button { .u-process.u-process-status-2 .u-process-content {
display: block;
}
.u-comm-loading.u-comm-loading-status-2 .u-comm-loading-content {
color: #fff; color: #fff;
} }
.u-comm-loading.u-comm-loading-status-2 .u-comm-loading-content .loader { .u-process.u-process-status-2 .u-process-content .loader {
display: none; display: none;
} }
.u-comm-loading.u-comm-loading-status-2 .u-comm-loading-content .icon { .u-process.u-process-status-2 .u-process-content .icon {
display: block; display: block;
} }
.u-comm-loading.u-comm-loading-status-2 .u-comm-loading-content .icon:before { .u-process.u-process-status-2 .u-process-content .icon:before {
content: '\e646'; content: '\e646';
} }
.u-comm-loading.u-comm-loading-status-2 .u-comm-loading-button {
display: block;
}
@-webkit-keyframes commLoading { @-webkit-keyframes commLoading {
0%, 100% { 0%, 100% {
-webkit-box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0; -webkit-box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
...@@ -1151,20 +1122,63 @@ p { ...@@ -1151,20 +1122,63 @@ p {
} }
} }
.custom-comm-loading { .scanContent {
background-color: rgba(36, 38, 53, 0.9); position: fixed;
top: 1.173rem;
bottom: 0;
left: 0;
width: 100%;
}
.noticeContent {
color: #c8225b;
line-height: 1.5;
text-align: center;
width: 100%;
display: inline-block;
position: absolute;
bottom: -5.333rem;
font-size: 0.32rem;
}
.noticeContent span:first-child {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.custom-process-button {
position: absolute;
bottom: inherit;
left: 0;
right: 0;
width: 7.333rem;
border-radius: 0.133rem;
background-color: transparent;
border: 0.027rem solid;
color: #00ffff;
font-size: 0.427rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
} }
.custom-comm-loading .u-comm-loading-button { .custom-process-cancelButton {
bottom: 3.573rem; bottom: 0;
width: 2.667rem; width: 2.667rem;
color: #00ffff; color: #00ffff;
font-size: 0.32rem; font-size: 0.32rem;
background-color: transparent; background-color: transparent;
padding: 0.48rem 0 0.133rem; padding: 0.48rem 0 0.133rem;
border: none;
} }
.custom-comm-loading .u-comm-loading-button:after { .custom-process-cancelButton:after {
content: ''; content: '';
position: absolute; position: absolute;
bottom: 0; bottom: 0;
...@@ -1175,18 +1189,18 @@ p { ...@@ -1175,18 +1189,18 @@ p {
background: linear-gradient(to right, #242635, #00ffff, #242635); background: linear-gradient(to right, #242635, #00ffff, #242635);
} }
.custom-comm-loading .u-comm-loading-button:active { .custom-process-cancelButton:active {
background-color: transparent; background-color: transparent;
} }
.custom-comm-loading .u-comm-loading-button.disabled { .custom-process-cancelButton.disabled {
background-color: transparent; background-color: transparent;
} }
.scanContent { .u-process.u-process-status-1 .u-process-content {
position: fixed; top: 5.333rem;
top: 1.173rem; }
bottom: 0;
left: 0; .u-process.u-process-status-2 .u-process-content {
width: 100%; top: 5.333rem;
} }
\ No newline at end of file
...@@ -43,10 +43,18 @@ ...@@ -43,10 +43,18 @@
</ul> </ul>
<u-button :init-param="componentsConfig.connectButton.initParam" v-on:u-button-tap="onConnectButtonTap"></u-button> <u-button :init-param="componentsConfig.connectButton.initParam" v-on:u-button-tap="onConnectButtonTap"></u-button>
</div> </div>
<u-comm-loading ref="ucommloading" :init-param="componentsConfig.ucommloading.initParam" v-on:u-comm-loading-tap="onCommLoadingButtonTap()"> <!--<u-comm-loading ref="ucommloading" :init-param="componentsConfig.ucommloading.initParam" v-on:u-comm-loading-tap="onCommLoadingButtonTap()">
<p class="loader"></p> <p class="loader"></p>
<p class="icon"></p> <p class="icon"></p>
</u-comm-loading> </u-comm-loading> -->
<u-process ref="uprocess" :init-param="componentsConfig.processLoading.initParam">
<p class="loader"></p>
<p class="icon"></p>
<p class="noticeContent" v-show = "noticeTipShowFlag">
<span>&#xe637;</span>
<span v-html="$t('wifiAdd.noticeTip')"></span>
</p>
</u-process>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog> <u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading> <u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div> </div>
......
...@@ -25,7 +25,15 @@ ...@@ -25,7 +25,15 @@
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch> <v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.alarmInfo') }}</p> <p>{{ $t('title.alarmInfo') }}</p>
</div> </div>
<u-list ref="ulist" :init-param="componentsConfig.alarmInfoList.initParam" v-on:u-list-load="onListLoad()"></u-list> <div class="content">
<div class="notice" v-if="noticeTipShowFlag">
<span>&#xe637;</span>
{{ $t('notice.tip') }}
<v-touch tag="p" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}
<span></span></v-touch>
</div>
<u-list ref="ulist" :init-param="componentsConfig.alarmInfoList.initParam" v-on:u-list-load="onListLoad()"></u-list>
</div>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog> <u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading> <u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div> </div>
......
...@@ -25,8 +25,16 @@ ...@@ -25,8 +25,16 @@
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch> <v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.hijackRecord') }}</p> <p>{{ $t('title.hijackRecord') }}</p>
</div> </div>
<u-list ref="ulist" :init-param="componentsConfig.hijackRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list> <div class="content">
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog> <div class="notice" v-if="noticeTipShowFlag">
<span>&#xe637;</span>
{{ $t('notice.tip') }}
<v-touch tag="p" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}
<span></span></v-touch>
</div>
<u-list ref="ulist" :init-param="componentsConfig.hijackRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list>
</div>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading> <u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div> </div>
......
@font-face {
font-family: 'defaultIconfont';
src: url('../../resources/font/defaultIconfont.ttf') format('truetype');
}
@font-face {
font-family: 'iconfont';
src: url('../../resources/font/iconfont.ttf') format('truetype');
}
@font-face {
font-family: 'tipFont';
src: url('../../resources/font/tipFont.ttf') format('truetype');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background-color: #242635;
}
ul {
padding-left: 0;
list-style: none;
margin-bottom: 0;
}
p {
margin-bottom: 0;
}
.u-loading {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1050;
background-color: rgba(0, 0, 0, 0.8);
}
.u-loading .u-loading-box {
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: 0;
}
.u-loading .u-loading-box .u-loading-icon {
width: 30px;
height: 30px;
background-position: center;
background-repeat: no-repeat;
background-image: url("../../resources/image/white_loading_icon.png");
-webkit-background-size: cover;
background-size: cover;
margin: 0 auto;
-webkit-animation: loading 1s steps(12, end) infinite;
animation: loading 1s steps(12, end) infinite;
}
.u-loading .u-loading-box .u-loading-text {
color: #fff;
margin-top: 0.32rem;
text-align: center;
}
@-webkit-keyframes loading {
0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
100% {
-webkit-transform: rotate3d(0, 0, 1, 360deg);
transform: rotate3d(0, 0, 1, 360deg);
}
}
@keyframes loading {
0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg);
transform: rotate3d(0, 0, 1, 0deg);
}
100% {
-webkit-transform: rotate3d(0, 0, 1, 360deg);
transform: rotate3d(0, 0, 1, 360deg);
}
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
}
.custom-loading .u-loading-box {
color: #00ffff;
}
.custom-loading .u-loading-box .u-loading-icon {
font-size: 0.427rem;
margin: 0 auto;
width: 3.750em;
height: 3.750em;
position: relative;
background: none;
-webkit-animation: none;
animation: none;
}
.custom-loading .u-loading-box .u-loading-icon:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 0.5em;
height: 0.5em;
margin: auto;
border-radius: 50%;
-webkit-transform: translateZ(0) scale(0.55);
transform: translateZ(0) scale(0.55);
-webkit-animation: loading 1.3s infinite linear;
animation: loading 1.3s infinite linear;
}
.custom-loading .u-loading-box .u-loading-text {
color: inherit;
font-size: 0.427rem;
margin-top: 0.533rem;
}
@-webkit-keyframes loading {
0%, 100% {
-webkit-box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
}
12.5% {
-webkit-box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
25% {
-webkit-box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
37.5% {
-webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
50% {
-webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
62.5% {
-webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
}
75% {
-webkit-box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
}
87.5% {
-webkit-box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
}
}
@keyframes loading {
0%, 100% {
-webkit-box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
}
12.5% {
-webkit-box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
25% {
-webkit-box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
37.5% {
-webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
50% {
-webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
62.5% {
-webkit-box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
}
75% {
-webkit-box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
}
87.5% {
-webkit-box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
}
}
.u-dialog {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(0, 0, 0, 0.8);
}
.u-dialog .u-dialog-box {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 6.667rem;
background-color: #fff;
border-radius: 0.32rem;
}
.u-dialog .u-dialog-box .u-dialog-content {
padding: 0.4rem;
text-align: center;
position: relative;
}
.u-dialog .u-dialog-box .u-dialog-content:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
.u-dialog .u-dialog-box .u-dialog-button {
display: table;
width: 100%;
table-layout: fixed;
border-collapse: separate;
}
.u-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.u-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
display: table-cell;
color: #007aff;
text-align: center;
padding: 0.4rem 0;
line-height: 1;
position: relative;
}
.u-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 0;
width: 1px;
-webkit-transform: scaleX(0.5);
transform: scaleX(0.5);
background-color: #bbb;
}
.fade-enter-active,
.fade-leave-active {
-webkit-transition: opacity 0.5s linear;
transition: opacity 0.5s linear;
}
.fade-enter,
.fade-leave-active {
opacity: 0;
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
}
.custom-dialog .u-dialog-box {
width: 8.933rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
padding-bottom: 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 4.213rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
font-size: 0.427rem;
line-height: 0.64rem;
padding: 0 0.587rem;
}
.custom-dialog .u-dialog-box .u-dialog-content span {
width: 1.36rem;
height: 1.36rem;
background: url("../../resources/image/green_unbind_icon.png") no-repeat center;
-webkit-background-size: cover;
background-size: cover;
margin-bottom: 0.32rem;
display: block;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
display: none;
}
.custom-dialog .u-dialog-box .u-dialog-button {
border-spacing: 0.667rem 0;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
width: 3.467rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
padding: 0.267rem 0;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:active,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm:active {
background-color: #153D4C;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
display: none;
}
.header {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 1.173rem;
z-index: 1030;
background-color: #010d19;
}
.header p {
position: absolute;
top: 0;
left: 1.467rem;
right: 1.467rem;
line-height: 1.173rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: #fff;
font-size: 0.507rem;
text-align: center;
}
.header span {
color: #00ffff;
font-size: 0.427rem;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.213rem;
}
.header .header-right {
float: right;
padding-right: 0.213rem;
text-align: right;
}
.header .icon {
color: #fff;
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header .icon.header-left {
padding-left: 0.133rem;
}
.header .icon.header-right {
padding-right: 0.133rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.u-android-notify {
margin: 1.413rem 1.067rem 0;
}
.u-android-notify .u-android-notify-row {
color: rgba(204, 204, 204, 0.5);
padding-left: 0.907rem;
position: relative;
}
.u-android-notify .u-android-notify-row .u-android-notify-title {
font-size: 0.427rem;
position: relative;
}
.u-android-notify .u-android-notify-row .u-android-notify-tip {
font-size: 0.32rem;
line-height: 0.4rem;
padding: 0.08rem 0.133rem 0.027rem;
margin: 0.16rem -0.107rem -0.187rem;
border-radius: 0.133rem;
position: relative;
border: 1px dashed transparent;
}
.u-android-notify .u-android-notify-row .u-android-notify-tip:before {
content: '';
position: absolute;
top: -0.16rem;
left: 2.4rem;
width: 0.267rem;
height: 0.16rem;
background: url("../../resources/image/blue_arrow_icon.png") no-repeat center;
-webkit-background-size: cover;
background-size: cover;
display: none;
}
.u-android-notify .u-android-notify-row .u-android-notify-subtitle {
margin-top: 0.4rem;
}
.u-android-notify .u-android-notify-row .u-android-notify-subcontent {
font-size: 0.32rem;
line-height: 0.4rem;
padding-left: 0.56rem;
margin-top: 0.16rem;
}
.u-android-notify .u-android-notify-row .u-android-notify-icon {
position: absolute;
left: 0;
display: inline-block;
width: 0.587rem;
height: 0.587rem;
border: 1px solid;
border-radius: 50%;
text-align: center;
font-family: iconfont;
font-size: 0.32rem;
-webkit-font-smoothing: antialiased;
line-height: 0.587rem;
background-color: #242635;
outline: 3px solid #242635;
}
.u-android-notify .u-android-notify-row .u-android-notify-finish-icon {
position: absolute;
top: 0.267rem;
left: 0.32rem;
}
.u-android-notify .u-android-notify-row .u-android-notify-finish-icon:before {
content: '\e730';
color: #00ffff;
font-family: defaultIconfont;
font-size: 0.427rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
background-color: #242635;
border-radius: 50%;
-webkit-transform: scale(0.6);
transform: scale(0.6);
display: block;
}
.u-android-notify .u-android-notify-row .u-android-notify-button {
position: absolute;
top: 50%;
right: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
color: #00ffff;
font-size: 0.32rem;
line-height: 1;
border-bottom: 1px solid;
padding-bottom: 1px;
}
.u-android-notify .u-android-notify-row .u-android-notify-button span {
margin-left: 0.16rem;
}
.u-android-notify .u-android-notify-row .u-android-notify-button span:before {
content: '\e6c4';
font-family: iconfont;
font-size: 0.32rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-android-notify .u-android-notify-row:not(:last-child) {
padding-bottom: 1.467rem;
}
.u-android-notify .u-android-notify-row:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0.293rem;
width: 1px;
background-color: #595b63;
}
.u-android-notify .active {
color: #fff;
}
.u-android-notify .active .u-android-notify-tip {
color: #91929a;
border-color: #91929a;
}
.u-android-notify .active .u-android-notify-tip:before {
display: block;
}
.u-android-notify .active .u-android-notify-subcontent {
color: #91929a;
}
.u-android-notify .active .u-android-notify-icon {
color: #00ffff;
}
.u-android-notify .changeBorder:before {
background-color: #00ffff;
}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="format-detection" content="telephone=no"/>
<title></title>
<link rel="stylesheet" type="text/css" href="../../lib/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./notify.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<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>
</head>
<body>
<div id="content" v-cloak>
<android-notify :to-index="onNotifyToIndex"> </android-notify>
</div>
<script type="text/javascript" src="notify.js"></script>
</body>
</html>
\ No newline at end of file
...@@ -25,7 +25,15 @@ ...@@ -25,7 +25,15 @@
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch> <v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.opendoorRecord') }}</p> <p>{{ $t('title.opendoorRecord') }}</p>
</div> </div>
<u-list ref="ulist" :init-param="componentsConfig.opendoorRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list> <div class="content">
<div class="notice" v-if="noticeTipShowFlag">
<span>&#xe637;</span>
{{ $t('notice.tip') }}
<v-touch tag="p" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}
<span></span></v-touch>
</div>
<u-list ref="ulist" :init-param="componentsConfig.opendoorRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list>
</div>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog> <u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading> <u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div> </div>
......
...@@ -621,4 +621,49 @@ p { ...@@ -621,4 +621,49 @@ p {
-webkit-transform: rotate3d(0, 0, 1, 360deg); -webkit-transform: rotate3d(0, 0, 1, 360deg);
transform: rotate3d(0, 0, 1, 360deg); transform: rotate3d(0, 0, 1, 360deg);
} }
}
.notice {
height: 1.653rem;
line-height: 1.653rem;
border-bottom: 2px solid #50515D;
text-align: center;
color: #00ffff;
font-size: 0.32rem;
}
.notice > span {
color: #fc2168;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
vertical-align: middle;
margin-right: 0.24rem;
}
.notice p {
display: inline-block;
color: #00ffff;
font-size: 0.32rem;
line-height: 1;
border-bottom: 1px solid;
padding-bottom: 1px;
margin-left: 0.64rem;
}
.notice p span {
margin-left: 0.16rem;
}
.notice p span:before {
content: '\e6c4';
font-family: iconfont;
font-size: 0.32rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.notice ~ .custom-list {
top: 2.827rem;
} }
\ No newline at end of file
...@@ -845,6 +845,12 @@ p { ...@@ -845,6 +845,12 @@ p {
width: 100%; width: 100%;
} }
.inviteBind .timeTip {
text-align: center;
font-size: 0.32rem;
padding-left: 0;
}
.unbindState-dialog { .unbindState-dialog {
position: fixed; position: fixed;
top: 0; top: 0;
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
<li>{{ $t('inviteBind.cont1') }}</li> <li>{{ $t('inviteBind.cont1') }}</li>
<li>{{ $t('inviteBind.cont2') }}</li> <li>{{ $t('inviteBind.cont2') }}</li>
<li>{{ $t('inviteBind.cont3') }}</li> <li>{{ $t('inviteBind.cont3') }}</li>
<li class="timeTip">{{ $t('inviteBind.tip') }}</li>
</ul> </ul>
<u-button :init-param="componentsConfig.qrcodeButton.initParam" v-on:u-button-tap="onQRcodeButtonTap"></u-button> <u-button :init-param="componentsConfig.qrcodeButton.initParam" v-on:u-button-tap="onQRcodeButtonTap"></u-button>
</div> </div>
......
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