Commit 1300ad17 by wangying

Merge remote-tracking branch 'remotes/origin/zjx' into wangying

parents 01362c04 6e40dbb7
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>doorlock</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.aptana.projects.webnature</nature>
</natures>
</projectDescription>
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
"remoteOpendoor": "远程开门", "remoteOpendoor": "远程开门",
"hijackRecord": "劫持记录", "hijackRecord": "劫持记录",
"doorlockManage": "门锁管理", "doorlockManage": "门锁管理",
"doorlockUsers": "门锁用户",
"editName": "修改名称", "editName": "修改名称",
"qrcode": "生成绑定二维码", "qrcode": "生成绑定二维码",
"addDevice": "添加设备", "addDevice": "添加设备",
...@@ -55,7 +56,8 @@ ...@@ -55,7 +56,8 @@
"error": { "error": {
"telNull": "请输入手机号", "telNull": "请输入手机号",
"passWordNull": "请输入密码" "passWordNull": "请输入密码"
} },
"failure": "登陆失败"
}, },
"register":{ "register":{
"telInputTip": "请输入手机号", "telInputTip": "请输入手机号",
...@@ -87,32 +89,53 @@ ...@@ -87,32 +89,53 @@
"followTitle": "关注服务号", "followTitle": "关注服务号",
"followCont1": "关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧", "followCont1": "关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧",
"followCont2": "1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注", "followCont2": "1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注",
"laterFollow": "稍后关注" "laterFollow": "稍后关注",
"newMsgDoorlock": "门锁最新消息",
"doorLockRinging": "门铃响了"
}, },
"opendoorRecord":{ "opendoorRecord":{
"noRecordTip": "暂无记录" "noRecordTip": "暂无记录",
"passwordOpenDoor": "密码开门",
"fingerprintOpenDoor": "指纹开门",
"ICcardOpenDoor": "IC卡开门",
"remoteOpenDoor": "遥控器开门",
"keyOpenDoor": "钥匙开门",
"hijackingAlarm": "劫持报警",
"appRemoteOpenDoor": "app远程开门"
}, },
"alarmInfo":{ "alarmInfo":{
"noInfoTip": "暂无信息" "noInfoTip": "暂无信息",
"tamperAlarm": "防撬报警",
"trialAlarm": "试错报警",
"powerAlarm": "欠电报警",
"fackLockAlram": "假锁报警"
}, },
"remoteOpendoor":{ "remoteOpendoor":{
"passwordInputTip": "请输入远程开门密码", "passwordInputTip": "请输入远程开门密码",
"openDoorSuccess": "远程开门成功",
"openDoorFailure": "远程开门失败",
"error": { "error": {
"noPasswordTip": "远程密码不能为空"
} }
}, },
"hijackRecord":{ "hijackRecord":{
"noRecordTip": "暂无记录" "noRecordTip": "暂无记录",
"hijackingAlarm": "劫持指纹报警"
}, },
"doorlockManage":{ "doorlockManage":{
"noDeviceTip": "暂无设备", "noDeviceTip": "暂无设备",
"deleteDialogTip": "<span>{0}</span>将被删除", "deleteDialogTip": "<span>{0}</span>将被删除",
"logoutDialogTip": "确定要退出系统吗?" "logoutDialogTip": "确定要退出系统吗?",
"deleteSuccess": "删除成功",
"deleteFailue": "删除失败",
"defaultNickname": "门锁"
}, },
"editName":{ "editName":{
"nameInputTip": "请输入门锁名称", "nameInputTip": "请输入门锁名称",
"editNameSuccess": "名字修改成功",
"editNameFailue": "名字修改失败",
"error": { "error": {
"nameCanNotBeBlank": "昵称不能为空"
} }
}, },
"qrcode":{ "qrcode":{
...@@ -124,7 +147,9 @@ ...@@ -124,7 +147,9 @@
}, },
"addDevice": { "addDevice": {
"scanCodeAdd": "扫描绑定设备", "scanCodeAdd": "扫描绑定设备",
"wifiAdd": "配置Wi-Fi" "wifiAdd": "配置Wi-Fi",
"bindSuccess": "绑定成功",
"bindFailue": "绑定失败"
}, },
"wifiAddHelp": { "wifiAddHelp": {
"helpTitle": "配置Wi-Fi说明:", "helpTitle": "配置Wi-Fi说明:",
...@@ -167,9 +192,24 @@ ...@@ -167,9 +192,24 @@
"id": "指纹ID:<span>{0}</span>密码ID:<span>{1}</span>IC卡ID:<span>{2}</span>", "id": "指纹ID:<span>{0}</span>密码ID:<span>{1}</span>IC卡ID:<span>{2}</span>",
"noUserTip": "暂无用户" "noUserTip": "暂无用户"
}, },
"myInfo":{
"editNickname": "修改昵称",
"editPassword": "修改密码"
},
"editNickname": {
"nickNameInputTip": "请输入昵称"
},
"editPassword": {
"newPasswordInputTip": "请输入新密码",
"oldPasswordInputTip": "请输入旧密码",
"oldPasswordInputTipAgain": "请再次输入旧密码"
},
"commstatusLoading":{ "commstatusLoading":{
"connectSuccess": "Wi-Fi连接成功,正在绑定...", "connectSuccess": "Wi-Fi连接成功,正在绑定...",
"bindSuccess": "绑定成功", "bindSuccess": "绑定成功",
"bindFailed": "绑定失败" "bindFailed": "绑定失败"
},
"request":{
"error": "请求发送失败"
} }
} }
\ No newline at end of file
let projectMethods = {};
projectMethods.changeGridList = function (vmObj, list) {
vmObj.$refs.gridlist.changeList(list);
};
projectMethods.changeTimeline = function (vmObj, list) {
vmObj.$refs.timeline.changeList(list);
};
export {projectMethods}
\ No newline at end of file
let uComponents = {}; export default {
"powerIcon":["&#xe6e5;", "&#xe62b;", "&#xe627;", "&#xe628;", "&#xe62a;", "&#xe629;"],
uComponents.changeGridList = function (vmObj, list) { "openDoorMode": {
vmObj.$refs.gridlist.changeList(list); 0: "passwordOpenDoor",
}; 1: "fingerprintOpenDoor",
2: "ICcardOpenDoor",
uComponents.changeTimeline = function (vmObj, list) { 3: "remoteOpenDoor",
vmObj.$refs.timeline.changeList(list); 4: "keyOpenDoor",
}; 5: "hijackingAlarm",
6: "appRemoteOpenDoor"
export {uComponents} },
\ No newline at end of file "alarmMode": {
0: "tamperAlarm",
1: "trialAlarm",
2: "powerAlarm",
3: "fackLockAlram"
}
}
\ No newline at end of file
...@@ -11,12 +11,12 @@ const iot = new UIOT({ ...@@ -11,12 +11,12 @@ const iot = new UIOT({
lang: ['zh', 'en'], lang: ['zh', 'en'],
vue: Vue, vue: Vue,
i18n: VueI18n, i18n: VueI18n,
appId: '10003', appId: '10004',
wx: { wx: {
appId: '' appId: ''
}, },
cloud: { cloud: {
url: 'http://192.168.2.97:20007' url: 'http://192.168.2.96:20000'
}, },
plugin: { plugin: {
log: { log: {
...@@ -54,7 +54,155 @@ uPublic.componentsExtend = function (array) { ...@@ -54,7 +54,155 @@ uPublic.componentsExtend = function (array) {
}); });
}; };
//请求发送失败弹框
uPublic.openRequestErrorAlert = function (vmObj, content = Vue.t('request.error')) {
uComponents.openAlert(vmObj, content, {
text: Vue.t('dialog.confirm'), callback: function () {
}
});
};
// 检查请求成功后data参数
uPublic.checkResponseData = function (data) {
// json
if (data != null && typeof data === 'object') {
if (Object.keys(data).length == 0 || data.hasOwnProperty('msg')) {
return false;
} else {
return data;
}
// array
} else if (Array.isArray(data)) {
if (data.length > 0) {
return data;
} else {
return false;
}
}
};
iot.ready(() => { iot.ready(() => {
uPublic.recalc(); uPublic.recalc();
}); });
iot.navigator.getAllWebviw = function () {
return plus.webview.all();
}
iot.navigator.fire = function (webview, eventType, data) {
if (webview) {
if (typeof data === 'undefined') {
data = '';
} else if (typeof data === 'boolean' || typeof data === 'number') {
webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")");
return;
} else if (typeof data === 'object' && Object.keys(data).length == 0) {
data = JSON.stringify(data || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c");
}
webview.evalJS('iot.navigator.receive("' + eventType + '","' + data + '")');
}
};
window.iot = iot;
iot.navigator.receive = function (eventType, data) {
console.log("receive。。。");
if (eventType) {
try {
if (data && typeof data === 'string') {
data = JSON.parse(data);
}
} catch (e) {
}
iot.navigator.trigger(document, eventType, data);
}
};
iot.navigator.trigger = function (element, eventType, eventData) {
console.log("trigger。。。");
console.log(element);
console.log(eventType);
element.dispatchEvent(new CustomEvent(eventType, {
detail: eventData,
bubbles: true,
cancelable: true
}));
return this;
};
iot.navigator.closeAllBesidesItself = function () {
var wvs = plus.webview.all();
// var curWb = plus.webview.currentWebview();
for (var i = 0; i < wvs.length-1; i++) {
// if (wvs[i].id != curWb.id) {
wvs[i].close();
// }
}
}
iot.navigator.closeAll = function (){
var wvs = plus.webview.all();
var curWb = plus.webview.currentWebview();
for (var i = 0; i < wvs.length; i++) {
wvs[i].close();
}
}
iot.ready(function(){
plus.key.addEventListener('backbutton',iot.navigator.aback,false);
// plus.key.addEventListener('backbutton',iot.navigator.aback,false);
})
iot.navigator.aback =function(){
var wobj = plus.webview.currentWebview();
var parent = wobj.parent();
var wbs = iot.navigator.getAllWebviw();
if (wbs.length>1) {
// console.log("不止一个webview...");
// return;
iot.navigator.back();
// console.log("有父webview...");
// return;
// parent.evalJS('iot.navigator.back()');
// parent.evalJS('mui&&mui.back();');
} else {
console.log("只有一个webView");
// return;
wobj.canBack(function(e) {
console.log("是否可以返回canback...");
console.log(window.history);
window.history.back();
console.log(e);
//by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
if (e.canBack) { //webview history back
console.log("e.canback....");
// return;
window.history.back();
// iot.navigator.back();
} else { //webview close or hide
console.log("不能back。。。");
if (!__back__first) {
__back__first = new Date().getTime();
console.log("给back_first设值....");
plus.nativeUI.toast( "再按一次退出应用");
// mui.toast('再按一次退出应用');
setTimeout(function() {
__back__first = null;
}, 2000);
} else {
console.log("back_first不为空....");
if (new Date().getTime() - __back__first < 2000) {
console.log("两次的间隔时间少于2秒");
plus.runtime.quit();
}else{
console.log("时间间隔大于2s");
}
}
return;
}
});
}
}
export {iot, uPublic, uComponents} export {iot, uPublic, uComponents}
\ No newline at end of file
...@@ -19,6 +19,7 @@ function init() { ...@@ -19,6 +19,7 @@ function init() {
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig()
}, },
mounted(){ mounted(){
openScanCode(this);
}, },
methods:{ methods:{
//tap < //tap <
...@@ -49,3 +50,52 @@ function initComponentsConfig() { ...@@ -49,3 +50,52 @@ function initComponentsConfig() {
function backTap(){ function backTap(){
iot.navigator.back(); iot.navigator.back();
} }
function openScanCode(self){
iot.utils.scanBarcode({
data: {
id: 'bcid',
styles: {
frameColor: '#00ffff',
scanbarColor: '#00ffff',
background: '#242b35'
}
},
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
//扫描成功
let qrKey = data.result;
//绑定设备
iot.business.sds.scanqr({
data: {
qrKey: qrKey
},
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
console.log(response);
uComponents.openAlert(self, Vue.t('addDevice.bindSuccess'), {
text: Vue.t('btn.confirm'), callback: function () {
iot.navigator.openWindow({
url: '../device/',
id: 'device'
});
}
});
}else{}
},
error: (error) => {
//请求失败
uPublic.openRequestErrorAlert(self);
}
});
}else{}
},
error: (error) => {
console.log(error);
//请求失败
uPublic.openRequestErrorAlert(self);
}
});
}
...@@ -12,30 +12,43 @@ import {iot, uPublic, uComponents} from '../../public/public.js'; ...@@ -12,30 +12,43 @@ 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-commstatus-loading','u-dialog','u-loading']); uPublic.componentsInit(['u-text','u-button','u-comm-loading','u-dialog','u-loading']);
const app = new Vue({ const app = new Vue({
data:{ data:{
textWiFiName: null,
textPassword: null, textPassword: null,
textErrorTip: null, textErrorTip: null,
textLoading: 'loading...',
status: 0,
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
status: 0
}, },
mounted(){ mounted(){
resolve(this);
}, },
methods:{ methods:{
getTextLoading(){ getTextWiFiName(){
return this.textLoading; return this.textWiFiName;
}, },
setTextLoading(text){ setTextWiFiName(text){
this.textLoading = text; this.textWiFiName = text;
},
getTextPassword(){
return this.textPassword;
},
setTextPassword(pwd){
this.textPassword = pwd;
},
gettTextErrorTip(){
return this.textErrorTip;
},
setTextErrorTip(tip){
this.textErrorTip = tip;
}, },
getStatus(){ getStatus(){
return this.status; return this.status;
}, },
setStatus(value){ setStatus(status){
this.status = value; this.status = status;
}, },
onPasswordChange(text){ onPasswordChange(text){
passwordChange(this,text); passwordChange(this,text);
...@@ -49,8 +62,8 @@ function init() { ...@@ -49,8 +62,8 @@ function init() {
connectButtonTap(this); connectButtonTap(this);
}, },
//tap loading button //tap loading button
onCommstatusLoadingButtonTap(){ onCommLoadingButtonTap(){
commstatusLoadingButtonTap(this); commLoadingButtonTap(this);
} }
} }
}).$mount('#app'); }).$mount('#app');
...@@ -84,15 +97,32 @@ function initComponentsConfig() { ...@@ -84,15 +97,32 @@ function initComponentsConfig() {
class: 'custom-loading' class: 'custom-loading'
} }
}, },
ucommstatusloading: { ucommloading: {
initParam: { initParam: {
class: 'custom-commstatus-loading', class: 'custom-comm-loading',
buttonText: Vue.t('btn.confirm') buttonText: Vue.t('btn.confirm'),
text: 'loading',
status: 0
} }
} }
} }
} }
function resolve(self){
iot.business.sds.getSSId({
success: (response) => {
console.log(response);
let data = JSON.parse(response);
self.textWiFiName = data.ssid;
console.log(self.textWiFiName);
},
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
}
});
}
function passwordChange(self,text){ function passwordChange(self,text){
self.textPassword = text; self.textPassword = text;
console.log('passwordChange: ' + self.textPassword); console.log('passwordChange: ' + self.textPassword);
...@@ -105,29 +135,94 @@ function backTap(){ ...@@ -105,29 +135,94 @@ function backTap(){
//tap 连接 //tap 连接
function connectButtonTap(self){ function connectButtonTap(self){
uComponents.showCommstatusloading(self); // uComponents.showCommstatusloading(self);
setTimeout(function(){ // setTimeout(function(){
self.setTextLoading(Vue.t('commstatusLoading.connectSuccess')); // self.setTextLoading(Vue.t('commstatusLoading.connectSuccess'));
setTimeout(function(){ // setTimeout(function(){
//绑定成功 // //绑定成功
// self.setStatus(1);
// self.setTextLoading(Vue.t('commstatusLoading.bindSuccess'));
// //绑定失败
// //self.setStatus(2);
// //self.setTextLoading(Vue.t('commstatusLoading.bindFailed'));
// //uComponents.changeCommstatusButtonText(self,Vue.t('btn.reBound'));
// },3000);
// },3000);
console.log(self.getTextWiFiName());
// self.setTextPassword('macro_scope00');
console.log(self.getTextPassword());
if(self.getTextPassword() == null || self.getTextPassword().trim() == ''){
self.setTextErrorTip(Vue.t('wifiAdd.passwordInputTip'));
}else{
iot.business.sds.findWifi({
data: {
model: 'THM_LIVING_ELECTRICALBLANKET_TH_1507',
ssid: self.getTextWiFiName(),
wifiPwd: self.getTextPassword(),
timeout: 20000
},
success: (response) => {
console.log("findWifi");
console.log(response);
if(response.data == 'onProvisioning'){
//wifi链接中
uComponents.showCommLoading(self);
}else if(response.data == 'provisioned success'){
//wifi连接成功,停止连接wifi
// iot.business.sds.stopFindWifi({
// success: (response) => {},
// error: (error) => {}
// });
}
},
error: (error) => {
console.log(error);
}
});
iot.business.sds.findDevices({
success: (response) => {
console.log("findDevices");
console.log(response);
if(response.data == "joined success"){
//连接成功
uComponents.changeCommLoadingStatusAndText(self, 1, '绑定成功');
self.setStatus(1); self.setStatus(1);
self.setTextLoading(Vue.t('commstatusLoading.bindSuccess')); // //停止查找设备
//绑定失败 iot.business.sds.stopFindDevices({
//self.setStatus(2); success: (response) => {},
//self.setTextLoading(Vue.t('commstatusLoading.bindFailed')); error: (error) => {}
//uComponents.changeCommstatusButtonText(self,Vue.t('btn.reBound')); });
},3000); }else if(response.data == "fail"){
},3000); //连接失败
uComponents.changeCommLoadingStatusAndText(self, 2, '绑定失败');
self.setStatus(2);
uComponents.changeCommButtonText('请重新绑定');
//停止查找设备
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
}
},
error: (error) => {
console.log(error);
}
});
}
} }
//tap loading button //tap loading button
function commstatusLoadingButtonTap(self) { function commLoadingButtonTap(self) {
if(self.getStatus() == 1){
//绑定成功 //绑定成功
uComponents.hideCommstatusloading(self); uComponents.hideCommLoading(self);
iot.navigator.openWindow({ iot.navigator.openWindow({
url: '../device/', url: '../device/',
id: 'device' id: 'device'
}); });
}else if(self.getStatus() == 2){
//绑定失败 //绑定失败
//uComponents.hideCommstatusloading(self); uComponents.hideCommLoading(self);
}
} }
\ No newline at end of file
...@@ -67,4 +67,14 @@ function wifiAddButtonTap(){ ...@@ -67,4 +67,14 @@ function wifiAddButtonTap(){
url: './wifiAdd.html', url: './wifiAdd.html',
id: 'wifiAdd' id: 'wifiAdd'
}); });
// iot.business.sds.wifiDeviceConfig({
// success: function (response) {
// console.log('wifiDeviceConfig success');
// console.log(response);
// },
// error: function (error) {
// console.log('wifiDeviceConfig error');
// console.log(error);
// }
// });
} }
\ No newline at end of file
...@@ -6,7 +6,9 @@ ...@@ -6,7 +6,9 @@
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved. * Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 报警信息页面 * 报警信息页面
*/ */
const PAGE_SIZE = 10;
import moment from 'moment';
import config from '../../public/config.js';
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
...@@ -16,11 +18,36 @@ function init() { ...@@ -16,11 +18,36 @@ function init() {
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
list:[],
startId: 0,
deviceId: null,
}, },
mounted(){ mounted(){
resolve(this);
}, },
methods:{ methods:{
getList(){
return this.list;
},
setList(list){
this.list = list;
},
getStartId(){
return this.startId;
},
setStartId(id){
this.startId = id;
},
getDeviceId(){
return this.deviceId;
},
setDeviceId(id){
this.deviceId = id;
},
onListLoadTap(){
listLoadTap(this);
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -35,12 +62,13 @@ function initComponentsConfig() { ...@@ -35,12 +62,13 @@ function initComponentsConfig() {
alarmInfoList:{ alarmInfoList:{
initParam: { initParam: {
class: 'custom-list', class: 'custom-list',
list: [ // list: [
{value: 1, leftImage: '../../resources/image/green_alarmInfo0_icon.png', title:'', subtitle:'禁试报警', rightText: '2017.06.2315:56:26'}, // {value: 1, leftImage: '../../resources/image/green_alarmInfo0_icon.png', title:'', subtitle:'禁试报警', rightText: '2017.06.2315:56:26'},
{value: 2, leftImage: '../../resources/image/green_alarmInfo1_icon.png', title:'', subtitle:'防撬报警', rightText: '2017.06.2315:01:01'}, // {value: 2, leftImage: '../../resources/image/green_alarmInfo1_icon.png', title:'', subtitle:'防撬报警', rightText: '2017.06.2315:01:01'},
{value: 3, leftImage: '../../resources/image/green_alarmInfo2_icon.png', title:'', subtitle:'欠电报警', rightText: '2017.05.2315:56:26'}, // {value: 3, leftImage: '../../resources/image/green_alarmInfo2_icon.png', title:'', subtitle:'欠电报警', rightText: '2017.05.2315:56:26'},
{value: 4, leftImage: '../../resources/image/green_alarmInfo3_icon.png', title:'', subtitle:'假锁报警', rightText: '2017.03.2315:01:01'} // {value: 4, leftImage: '../../resources/image/green_alarmInfo3_icon.png', title:'', subtitle:'假锁报警', rightText: '2017.03.2315:01:01'}
], // ],
list: [],
tip: Vue.t('alarmInfo.noInfoTip') tip: Vue.t('alarmInfo.noInfoTip')
} }
}, },
...@@ -57,7 +85,57 @@ function initComponentsConfig() { ...@@ -57,7 +85,57 @@ function initComponentsConfig() {
} }
} }
function resolve(self) {
self.setDeviceId(iot.navigator.getExtras().deviceId);
uComponents.showLoading(self);
iot.business.api.sendCustom('lock/getHistoryRecord',
{
data: {
device_id: self.getDeviceId(),
action: 2,
start_id: self.getStartId(),
page_size: PAGE_SIZE
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
let list = [];
let record = data.record;
for(let i=0; i<record.length; i++){
list[i] = {
value: record[i].openId,
leftImage: '../../resources/image/green_alarmInfo'+record[i].mode+'_icon.png',
subtitle: Vue.t('alarmInfo.'+config.alarmMode[record[i].mode]+''),
rightText: moment(record[i].time).format("YYYY.MM.DD HH:mm:ss")
};
}
self.setList(self.getList().concat(list));
if(record.length > 0){
self.setStartId(record[record.length-1].id);
}
//更新列表数据
uComponents.changeList(self, self.getList());
}else{
}
uComponents.hideLoading(self);
},
error: (err) => {
uPublic.openRequestErrorAlert(self);
console.log(err);
},
complete: () => {
uComponents.hideLoading(self);
}
});
}
//tap < //tap <
function backTap(){ function backTap(){
iot.navigator.back(); iot.navigator.back();
} }
//tap 点击加载更多
function listLoadTap(self) {
resolve(self);
}
\ No newline at end of file
...@@ -6,9 +6,12 @@ ...@@ -6,9 +6,12 @@
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved. * Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 劫持记录页面 * 劫持记录页面
*/ */
import moment from 'moment';
const PAGE_SIZE = 10;
import config from '../../public/config.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() {
//通用 list、dialog、loading组件 //通用 list、dialog、loading组件
...@@ -16,11 +19,43 @@ function init() { ...@@ -16,11 +19,43 @@ function init() {
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
list: [],
startId: 0,
deviceId: null,
userInfo: []
}, },
mounted(){ mounted(){
resolve(this);
}, },
methods:{ methods:{
getList(){
return this.list;
},
setList(list){
this.list = list;
},
getStartId(){
return this.startId;
},
setStartId(id){
this.startId = id;
},
getDeviceId(){
return this.deviceId;
},
setDeviceId(id){
this.deviceId = id;
},
getUserInfo(){
return this.userInfo;
},
setUserInfo(info){
this.userInfo = info;
},
onListLoadTap(){
listLoadTap(this);
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -35,10 +70,11 @@ function initComponentsConfig() { ...@@ -35,10 +70,11 @@ function initComponentsConfig() {
hijackRecordList:{ hijackRecordList:{
initParam: { initParam: {
class: 'custom-list', class: 'custom-list',
list: [ // list: [
{value: 1, leftImage: '../../resources/image/green_opendoor2_icon.png', title:'测试用户02', subtitle: '劫持指纹开门', rightText: '2017.07.1306:10:10'}, // {value: 1, leftImage: '../../resources/image/green_opendoor2_icon.png', title:'测试用户02', subtitle: '劫持指纹开门', rightText: '2017.07.1306:10:10'},
{value: 2, leftImage: '../../resources/image/green_opendoor2_icon.png', title:'ID:117', subtitle: '劫持指纹开门', rightText: '2017.07.0322:57:44'} // {value: 2, leftImage: '../../resources/image/green_opendoor2_icon.png', title:'ID:117', subtitle: '劫持指纹开门', rightText: '2017.07.0322:57:44'}
], // ],
list: [],
tip: Vue.t('hijackRecord.noRecordTip') tip: Vue.t('hijackRecord.noRecordTip')
} }
}, },
...@@ -55,7 +91,70 @@ function initComponentsConfig() { ...@@ -55,7 +91,70 @@ function initComponentsConfig() {
} }
} }
function resolve(self) {
self.setDeviceId(iot.navigator.getExtras().deviceId);
uComponents.showLoading(self);
iot.business.api.sendCustom('lock/getHistoryRecord',
{
data: {
device_id: self.getDeviceId(),
action: 3,
start_id: self.getStartId(),
page_size: PAGE_SIZE
},
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
console.log(data);
let list = [];
let record = data.record;
if(data.hasOwnProperty('info')){
self.setUserInfo(data.info);
}
for(let i=0; i<record.length; i++){
list[i] = {
value: record[i].openId,
leftImage: '../../resources/image/green_opendoor5_icon.png',
subtitle: Vue.t('hijackRecord.'+config.openDoorMode[record[i].mode]+''),
// title: ('ID:'+record[i].id),
rightText: moment(record[i].time).format("YYYY.MM.DD HH:mm:ss")
};
for(let j=0; j<self.getUserInfo().length; j++){
if(record[i].openId == self.getUserInfo()[j].openId && record[i].mode == self.getUserInfo()[j].mode){
if(self.getUserInfo()[j].nickname != null && self.getUserInfo()[j].id != null){
list[i].title = self.getUserInfo()[j].nickname + " ID:"+self.getUserInfo()[j].id;
}else if(self.getUserInfo()[j].nickname != null){
list[i].title = "ID:"+self.getUserInfo()[j].id;
}
}
}
}
self.setList(self.getList().concat(list));
if(record.length > 0){
self.setStartId(record[record.length-1].id);
}
//更新列表数据
uComponents.changeList(self, self.getList());
}else{
}
uComponents.hideLoading(self);
},
error: (err) => {
uPublic.openRequestErrorAlert(self);
console.log(err);
},
complete: () => {
uComponents.hideLoading(self);
}
});
}
//tap < //tap <
function backTap(){ function backTap(){
iot.navigator.back(); iot.navigator.back();
} }
//tap 点击加载更多
function listLoadTap(self) {
resolve(self);
}
\ No newline at end of file
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved. * Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 主控页面 * 主控页面
*/ */
import moment from 'moment';
import config from '../../public/config.js';
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
...@@ -30,9 +31,96 @@ function init() { ...@@ -30,9 +31,96 @@ function init() {
activeFlag: true, activeFlag: true,
followShowFlag: false, followShowFlag: false,
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
//电量
batteryState: null,
//电量百分比
batteryPercent: 0,
//响铃时间
ringingTime: null,
//门铃是否响起
doorbellRingingFlag: true,
//远程开门是否开启
remoteOpendoorFlag: true,
//设备ID
deviceId: null,
//设备uuid
uuid: null
}, },
mounted(){ mounted(){
let self = this;
iot.navigator.closeAllBesidesItself();
//获取设备信息
iot.business.sds.getDevicesByUser({
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
self.uuid = data[0].uuid;
self.deviceId = data[0].sn;
iot.business.sds.getDeviceStatus({
data: {
uuid: self.uuid
},
success: (response) => {
console.log(response);
},
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
}
});
iot.business.api.sendCustom('lock/getLockInfo',{
data: {
// device_id:"600194283588"
device_id: self.deviceId
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
console.log(data.info);
let newMsg = moment(data.info[0].time).format("YY.MM.DD HH:mm") + data.info[0].nickname + Vue.t('opendoorRecord.'+config.openDoorMode[data.info[0].mode]+'')
uComponents.changeMarqueeText(self, newMsg);
}else{
}
},
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
}
});
}else{
}
},
error: (error) => {}
});
//注册监听上报
iot.business.sds.registerPushListener({
success: (response) => {
console.log(response);
if(response.hasOwnProperty('params')){
console.log(JSON.parse(response));
setDevceInfo(self, response.params);
}
},
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
}
});
let power = 5;
this.batteryPercent = power/5*100;
this.batteryState = config.powerIcon[power];
let newMsg = '2017.08.02 18:45 宝贝指纹开门';
// uComponents.changeMarqueeText(this, newMsg);
let time = new Date();
this.ringingTime = moment(time).format("HH:mm");
// getNewOpenDoorRecord(this);
}, },
methods:{ methods:{
getValueOpendoorRecord(){ getValueOpendoorRecord(){
...@@ -65,17 +153,57 @@ function init() { ...@@ -65,17 +153,57 @@ function init() {
setFollowShowFlag(boolean){ setFollowShowFlag(boolean){
this.followShowFlag = boolean; this.followShowFlag = boolean;
}, },
getBatteryState(){
return this.batteryState();
},
setBatteryState(number){
this.batteryState = number
},
getBatteryPercent(){
return this.batteryPercent;
},
setBatteryPercent(percent){
this.batteryPercent = percent;
},
getRingingTime(){
return this.ringingTime;
},
setRingingTime(time){
this.ringingTime = time
},
getDoorbellRingingFlag(){
return this.doorbellRingingFlag;
},
setDoorbellRingingFlag(boolean){
this.doorbellRingingFlag = boolean;
},
getRemoteOpendoorFlag(){
return this.remoteOpendoorFlag;
},
setRemoteOpendoorFlag(flag){
this.remoteOpendoorFlag = flag;
},
getUuid(){
return this.uuid;
},
setUuid(){
this.uuid = id;
},
//tap 个人信息
onMyInfoTap(){
myInfoTap(this);
},
//tap 门锁管理 //tap 门锁管理
onDoorlockManageTap(){ onDoorlockManageTap(){
doorlockManageTap(); doorlockManageTap();
}, },
//tap 开门记录 //tap 开门记录
onOpendoorRecordTap(){ onOpendoorRecordTap(){
opendoorRecordTap(); opendoorRecordTap(this);
}, },
//tap 安全报警 //tap 安全报警
onSecurityAlarmTap(){ onSecurityAlarmTap(){
securityAlarmTap(); securityAlarmTap(this);
}, },
//tap 门锁用户 //tap 门锁用户
onDoorlockUserTap(){ onDoorlockUserTap(){
...@@ -83,11 +211,11 @@ function init() { ...@@ -83,11 +211,11 @@ function init() {
}, },
//tap 远程开门 //tap 远程开门
onRemoteOpendoorTap(){ onRemoteOpendoorTap(){
remoteOpendoorTap(); remoteOpendoorTap(this);
}, },
//tap 劫持报警 //tap 劫持报警
onHijackAlarmTap(){ onHijackAlarmTap(){
hijackAlarmTap(); hijackAlarmTap(this);
}, },
//tap 保存二维码到相册 //tap 保存二维码到相册
onSaveQRcodeButtonTap(){ onSaveQRcodeButtonTap(){
...@@ -188,6 +316,49 @@ function initComponentsConfig() { ...@@ -188,6 +316,49 @@ function initComponentsConfig() {
} }
} }
//设置设备信息
function setDevceInfo(self, data) {
self.setBatteryState(config.powerIcon[data.power]);
self.setBatteryPercent(data.power/5*100);
self.setRingingTime(moment(data.time).format("HH:mm"));
self.setDoorbellRingingFlag(data);
self.setRemoteOpendoorFlag(flag);
}
//获取最新开门记录
function getNewOpenDoorRecord(self){
iot.business.api.sendCustom('',{
data: {
uuid: 'uuid',
start_id: 0,
page_size: 0
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
uComponents.changeMarqueeText(self, data.message);
}
},
error: (error) => {
uPublic.openRequestErrorAlert(self);
console.log(error);
},
complete: () => {}
});
}
//tap 个人信息
function myInfoTap(self){
iot.navigator.openWindow({
url: '../myInfo/',
id: 'myInfo',
extras: {
nickname: self.nickname
}
});
}
//tap 门锁管理 //tap 门锁管理
function doorlockManageTap(){ function doorlockManageTap(){
iot.navigator.openWindow({ iot.navigator.openWindow({
...@@ -197,39 +368,54 @@ function doorlockManageTap(){ ...@@ -197,39 +368,54 @@ function doorlockManageTap(){
} }
//tap 开门记录 //tap 开门记录
function opendoorRecordTap(){ function opendoorRecordTap(self){
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './opendoorRecord.html', url: './opendoorRecord.html',
id: 'opendoorRecord' id: 'opendoorRecord',
extras: {
deviceId: self.deviceId
}
}); });
} }
//tap 安全报警 //tap 安全报警
function securityAlarmTap(){ function securityAlarmTap(self){
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './alarmInfo.html', url: './alarmInfo.html',
id: 'alarmInfo' id: 'alarmInfo',
extras: {
deviceId: self.deviceId
}
}); });
} }
//tap 门锁用户 //tap 门锁用户
function doorlockUserTap(){ function doorlockUserTap(){
iot.navigator.openWindow({
url: '../doorlockUsers/',
id: 'doorlockUsers',
});
} }
//tap 远程开门 //tap 远程开门
function remoteOpendoorTap(){ function remoteOpendoorTap(self){
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './remoteOpendoor.html', url: './remoteOpendoor.html',
id: 'remoteOpendoor' id: 'remoteOpendoor',
extras: {
uuid: self.getUuid()
}
}); });
} }
//tap 劫持报警 //tap 劫持报警
function hijackAlarmTap(){ function hijackAlarmTap(self){
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './hijackRecord.html', url: './hijackRecord.html',
id: 'hijackRecord' id: 'hijackRecord',
extras: {
deviceId: self.deviceId
}
}); });
} }
......
...@@ -6,7 +6,9 @@ ...@@ -6,7 +6,9 @@
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved. * Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 开门记录页面 * 开门记录页面
*/ */
import moment from 'moment';
const PAGE_SIZE = 10;
import config from '../../public/config.js';
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
...@@ -16,11 +18,43 @@ function init() { ...@@ -16,11 +18,43 @@ function init() {
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
list: [],
startId: 0,
deviceId: null,
userInfo: []
}, },
mounted(){ mounted(){
resolve(this);
}, },
methods:{ methods:{
getList(){
return this.list;
},
setList(list){
this.list = list;
},
getStartId(){
return this.startId;
},
setStartId(id){
this.startId = id;
},
getDeviceId(){
return this.deviceId;
},
getUserInfo(){
return this.userInfo;
},
setUserInfo(info){
this.userInfo = info;
},
setDeviceId(id){
this.deviceId = id;
},
onListLoadTap(){
listLoadTap(this);
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -35,16 +69,7 @@ function initComponentsConfig() { ...@@ -35,16 +69,7 @@ function initComponentsConfig() {
opendoorRecordList:{ opendoorRecordList:{
initParam: { initParam: {
class: 'custom-list', class: 'custom-list',
list: [ list: [],
{value: 1, leftImage: '../../resources/image/green_opendoor0_icon.png', title:'', subtitle: '手机远程开门', rightText: '2017.08.0310:29:53'},
{value: 2, leftImage: '../../resources/image/green_opendoor0_icon.png', title:'', subtitle: '手机远程开门', rightText: '2017.08.0310:27:56'},
{value: 3, leftImage: '../../resources/image/green_opendoor1_icon.png', title:'ID:6', subtitle: '指纹开门', rightText: '2017.08.0310:25:47'},
{value: 4, leftImage: '../../resources/image/green_opendoor0_icon.png', title:'', subtitle: '手机远程开门', rightText: '2017.07.3117:13:03',},
{value: 5, leftImage: '../../resources/image/green_opendoor2_icon.png', title:'测试用户02', subtitle: '劫持指纹开门', rightText: '2017.07.3117:10:10'},
{value: 6, leftImage: '../../resources/image/green_opendoor3_icon.png', title:'测试用户', subtitle: '密码开门', rightText: '2017.07.3117:09:59'},
{value: 7, leftImage: '../../resources/image/green_opendoor2_icon.png', title:'ID:117', subtitle: '劫持指纹开门', rightText: '2017.07.3117:05:19'},
{value: 8, leftImage: '../../resources/image/green_opendoor3_icon.png', title:'测试用户', subtitle: '密码开门', rightText: '2017.07.3117:03:50',}
],
tip: Vue.t('opendoorRecord.noRecordTip') tip: Vue.t('opendoorRecord.noRecordTip')
} }
}, },
...@@ -61,7 +86,71 @@ function initComponentsConfig() { ...@@ -61,7 +86,71 @@ function initComponentsConfig() {
} }
} }
//调用接口获取开门记录
function resolve(self) {
uComponents.showLoading(self);
self.setDeviceId(iot.navigator.getExtras().deviceId);
iot.business.api.sendCustom('lock/getHistoryRecord',
{
data: {
device_id: self.getDeviceId(),
action: 0,
start_id: self.getStartId(),
page_size: PAGE_SIZE
},
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
console.log(data);
let list = [];
let record = data.record;
if(data.hasOwnProperty('info')){
self.setUserInfo(data.info);
}
for(let i=0; i<record.length; i++){
list[i] = {
value: record[i].openId,
leftImage: '../../resources/image/green_opendoor'+record[i].mode+'_icon.png',
subtitle: Vue.t('opendoorRecord.'+config.openDoorMode[record[i].mode]+''),
rightText: moment(record[i].time).format("YYYY.MM.DD HH:mm:ss")
};
for(let j=0; j<self.getUserInfo().length; j++){
if(record[i].openId == self.getUserInfo()[j].openId && record[i].mode == self.getUserInfo()[j].mode){
if(self.getUserInfo()[j].nickname != null && self.getUserInfo()[j].id != null){
list[i].title = self.getUserInfo()[j].nickname + " ID:"+self.getUserInfo()[j].id;
}else if(self.getUserInfo()[j].nickname != null){
list[i].title = "ID:"+self.getUserInfo()[j].id;
}
}
}
}
self.setList(self.getList().concat(list));
if(record.length > 0){
self.setStartId(record[record.length-1].id);
}
//更新列表数据
uComponents.changeList(self, self.getList());
console.log("in");
}else{
}
uComponents.hideLoading(self);
},
error: (err) => {
uPublic.openRequestErrorAlert(self);
console.log(err);
},
complete: () => {
uComponents.hideLoading(self);
}
});
}
//tap < //tap <
function backTap(){ function backTap(){
iot.navigator.back(); iot.navigator.back();
} }
//tap 点击加载更多
function listLoadTap(self) {
resolve(self);
}
\ No newline at end of file
...@@ -20,11 +20,23 @@ function init() { ...@@ -20,11 +20,23 @@ function init() {
textLoading: 'loading...', textLoading: 'loading...',
status: 0, status: 0,
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
//设备uuid
uuid: null
}, },
mounted(){ mounted(){
resolve(this);
}, },
methods:{ methods:{
getTextPassword(){
return this.textPassword;
},
setTextPassword(pwd){
this.textPassword = pwd;
},
setTextErrorTip(tip){
this.textErrorTip = tip;
},
getTextLoading(){ getTextLoading(){
return this.textLoading; return this.textLoading;
}, },
...@@ -43,6 +55,12 @@ function init() { ...@@ -43,6 +55,12 @@ function init() {
onPasswordChange(text){ onPasswordChange(text){
passwordChange(this,text); passwordChange(this,text);
}, },
getUuid(){
return this.uuid;
},
setUuid(id){
this.uuid = id;
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -50,10 +68,6 @@ function init() { ...@@ -50,10 +68,6 @@ function init() {
//tap 确定 //tap 确定
onConfirmButtonTap(){ onConfirmButtonTap(){
confirmButtonTap(this); confirmButtonTap(this);
},
//tap loading button
onCommstatusLoadingButtonTap(){
commstatusLoadingButtonTap(this);
} }
} }
}).$mount('#app'); }).$mount('#app');
...@@ -95,8 +109,15 @@ function initComponentsConfig() { ...@@ -95,8 +109,15 @@ function initComponentsConfig() {
} }
} }
function resolve(self){
let extras = iot.navigator.getExtras();
self.setUuid(extras.uuid);
console.log(self.getUuid());
}
function passwordChange(self,text){ function passwordChange(self,text){
self.textPassword = text; self.setTextPassword(text);
self.setTextErrorTip('');
console.log('passwordChange: ' + self.textPassword); console.log('passwordChange: ' + self.textPassword);
} }
...@@ -107,26 +128,39 @@ function backTap(){ ...@@ -107,26 +128,39 @@ function backTap(){
//tap 确定 //tap 确定
function confirmButtonTap(self){ function confirmButtonTap(self){
uComponents.showCommstatusloading(self); console.log(self.getTextPassword());
setTimeout(function(){ if(self.getTextPassword() == null || self.getTextPassword().trim() == ''){
self.setTextLoading(Vue.t('commstatusLoading.connectSuccess')); self.setTextErrorTip(Vue.t('remoteOpendoor.error.noPasswordTip'));
setTimeout(function(){ }else{
//绑定成功 uComponents.showLoading(self);
self.setStatus(1); iot.business.sds.setDeviceStatus({
self.setTextLoading(Vue.t('commstatusLoading.bindSuccess')); data: {
//绑定失败 uuid: self.getUuid(),
//self.setStatus(2); setParams: {
//self.setTextLoading(Vue.t('commstatusLoading.bindFailed')); 'POW': {
//uComponents.changeCommstatusButtonText(self,Vue.t('btn.reBound')); 'value': '20'
},3000); }
},3000); }
} },
success: (response) => {
//tap loading button console.log(response);
function commstatusLoadingButtonTap(self) { uComponents.openAlert(self, Vue.t('remoteOpendoor.openDoorSuccess'), {
//绑定成功 text: Vue.t('dialog.confirm'), callback: function () {
uComponents.hideCommstatusloading(self); //返回首页
iot.navigator.back(); iot.navigator.back();
//绑定失败 }
//uComponents.hideCommstatusloading(self); });
},
error: (error) => {
console.log(error);
uComponents.openAlert(self, Vue.t('remoteOpendoor.openDoorFailure'), {
text: Vue.t('dialog.confirm'), callback: function () {
}
});
},
complete(){
uComponents.hideLoading(self);
}
});
}
} }
...@@ -15,14 +15,26 @@ function init() { ...@@ -15,14 +15,26 @@ function init() {
uPublic.componentsInit(['u-text','u-button','u-dialog','u-loading']); uPublic.componentsInit(['u-text','u-button','u-dialog','u-loading']);
const app = new Vue({ const app = new Vue({
data:{ data:{
textName: '门锁-001', textName: iot.navigator.getExtras().nickName,
textErrorTip: null, textErrorTip: null,
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
extras: {}
}, },
mounted(){ mounted(){
this.extras = iot.navigator.getExtras();
this.textName = self.extras.nickname;
}, },
methods:{ methods:{
getTextName(){
return this.textName;
},
setTextName(text){
this.textName = text;
},
setTextErrorTip(text){
this.textErrorTip = text;
},
onNameChange(text){ onNameChange(text){
nameChange(this,text); nameChange(this,text);
}, },
...@@ -32,7 +44,7 @@ function init() { ...@@ -32,7 +44,7 @@ function init() {
}, },
//tap 保存 //tap 保存
onSaveButtonTap(){ onSaveButtonTap(){
saveButtonTap(); saveButtonTap(this);
} }
} }
}).$mount('#app'); }).$mount('#app');
...@@ -67,8 +79,13 @@ function initComponentsConfig() { ...@@ -67,8 +79,13 @@ function initComponentsConfig() {
} }
} }
function alert(){
alert('aaa');
}
function nameChange(self,text){ function nameChange(self,text){
self.textName = text; self.setTextName(text);
self.setTextErrorTip('');
console.log('nameChange: ' + self.textName); console.log('nameChange: ' + self.textName);
} }
...@@ -78,6 +95,46 @@ function backTap(){ ...@@ -78,6 +95,46 @@ function backTap(){
} }
//tap 保存 //tap 保存
function saveButtonTap(){ function saveButtonTap(self){
if(self.getTextName() == null || self.getTextName().trim() == ''){
self.setTextErrorTip(Vue.t('editName.error.nameCanNotBeBlank'));
}else{
uComponents.showLoading(self);
iot.business.device.setNickname({
data: {
sds: true,
uuid: self.extras.uuid,
model: self.extras.model,
nickname: self.textName
},
success: (response) => {
console.log("inn");
uComponents.hideLoading(self);
uComponents.openAlert(self, Vue.t('editName.editNameSuccess'), {
text: Vue.t('btn.confirm'), callback: function () {
let opener = plus.webview.currentWebview().opener();
let view = plus.webview.getWebviewById(opener.id);
console.log(view);
iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{
name: 'zhu'
});
console.log('returnPage');
iot.navigator.back(); iot.navigator.back();
}
});
},
error: (error) => {
uComponents.hideLoading(self);
uComponents.openAlert(self, Vue.t('editName.editNameFailue'), {
text: Vue.t('btn.confirm'), callback: function () {
let opener = plus.webview.currentWebview().opener();
iot.navigator.back();
}
});
},
complete: () => {
uComponents.hideLoading(self);
}
});
}
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
*/ */
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
import {projectMethods} from '../../public/components.js';
iot.ready(init); iot.ready(init);
function init() { function init() {
...@@ -18,11 +19,33 @@ function init() { ...@@ -18,11 +19,33 @@ function init() {
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
//设备列表
deviceList: [],
showDeviceList: []
}, },
mounted(){ mounted(){
let self = this;
window.addEventListener('returnPage',function(event){
self.showDeviceList = [];
getDeviceList(self);
});
//获取设备列表
getDeviceList(self);
}, },
methods:{ methods:{
getDeviceList(){
return this.deviceList;
},
setDeviceList(list){
this.deviceList = list;
},
getShowDeviceList(){
return this.showDeviceList;
},
setShowDeviceList(list){
this.showDeviceList = list;
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
...@@ -47,17 +70,14 @@ function init() { ...@@ -47,17 +70,14 @@ function init() {
}).$mount('#app'); }).$mount('#app');
} }
//配置组件参数 //配置组件参数
function initComponentsConfig() { function initComponentsConfig() {
return { return {
doorlockList: { doorlockList: {
initParam: { initParam: {
class: '', class: '',
list: [{value: 1,'leftImage': '../../resources/image/device.png','title': '门锁-001','buttons': [{'icon': '&#xe728;'},{'icon': '&#xe61b;'},{'icon': '&#xe63e;'},{'icon': '&#xe742;'}]}, list: [],
{value: 2,'leftImage': '../../resources/image/device.png','title': '门锁-002','buttons': [{'icon': '&#xe728;'},{'icon': '&#xe61b;'},{'icon': '&#xe63e;'},{'icon': '&#xe742;'}]},
{value: 3,'leftImage': '../../resources/image/device.png','title': '门锁-003','buttons': [{'icon': '&#xe728;'},{'icon': '&#xe61b;'},{'icon': '&#xe63e;'},{'icon': '&#xe742;'}]},
{value: 4,'leftImage': '../../resources/image/device.png','title': '门锁-004','buttons': [{'icon': '&#xe728;'},{'icon': '&#xe61b;'},{'icon': '&#xe63e;'},{'icon': '&#xe742;'}]},
{value: 5,'leftImage': '../../resources/image/device.png','title': '门锁-005','buttons': [{'icon': '&#xe728;'},{'icon': '&#xe61b;'},{'icon': '&#xe63e;'},{'icon': '&#xe742;'}]}],
tip: Vue.t('doorlockManage.noDeviceTip') tip: Vue.t('doorlockManage.noDeviceTip')
} }
}, },
...@@ -81,6 +101,49 @@ function initComponentsConfig() { ...@@ -81,6 +101,49 @@ function initComponentsConfig() {
} }
} }
//获取所有的设备
function getDeviceList(self){
//显示loading
uComponents.showLoading(self);
iot.business.device.getList({
data: {
sds: true,
// product_id: 'product_id',
// parent_id: 0,
// start_id: 0,
// number: 10
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
self.setDeviceList(data);
for(let i=0; i<data.length; i++){
self.getShowDeviceList().push({
value: data[i].uuid,
leftImage: '../../resources/image/device.png',
title: (data[i].nickName && data[i].nickName != 'null') ? data[i].nickName : Vue.t('doorlockManage.defaultNickname'),
buttons: [{'icon': '&#xe728;'},{'icon': '&#xe61b;'},{'icon': '&#xe63e;'},{'icon': '&#xe742;'}]
});
}
//更新设备列表
projectMethods.changeGridList(self, self.getShowDeviceList());
uComponents.hideLoading(self);
}else{
uComponents.hideLoading(self);
}
},
error: (error) => {
console.log(error);
//请求失败
uPublic.openRequestErrorAlert(self);
},
complete: () => {
uComponents.hideLoading(self);
}
});
}
//tap < //tap <
function backTap(){ function backTap(){
iot.navigator.back(); iot.navigator.back();
...@@ -108,14 +171,22 @@ function doorlockListButtonTap(self, value, buttonValue) { ...@@ -108,14 +171,22 @@ function doorlockListButtonTap(self, value, buttonValue) {
if(buttonValue == '0'){ if(buttonValue == '0'){
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './editName.html', url: './editName.html',
id: 'editName' id: 'editName',
extras: {
uuid: self.getDeviceList()[value].uuid,
model: self.getDeviceList()[value].model,
nickName: self.getDeviceList()[value].nickName
}
}); });
} }
//tap 生成绑定二维码 //tap 生成绑定二维码
else if(buttonValue == '1'){ else if(buttonValue == '1'){
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './qrcode.html', url: './qrcode.html',
id: 'qrcode' id: 'qrcode',
extras: {
uuid: self.getDeviceList()[value].uuid
}
}); });
} }
//tap ID-姓名绑定 //tap ID-姓名绑定
...@@ -128,8 +199,12 @@ function doorlockListButtonTap(self, value, buttonValue) { ...@@ -128,8 +199,12 @@ function doorlockListButtonTap(self, value, buttonValue) {
//tap 删除门锁 //tap 删除门锁
else if(buttonValue == '3'){ else if(buttonValue == '3'){
uComponents.openConfirm(self, Vue.t('doorlockManage.deleteDialogTip', ['门锁-001']), uComponents.openConfirm(self, Vue.t('doorlockManage.deleteDialogTip', ['门锁-001']),
{text: Vue.t('dialog.cancel'), callback: function () {}}, {text: Vue.t('dialog.cancel'), callback: function () {
{text: Vue.t('dialog.confirm'), callback: function () {}}
}},
{text: Vue.t('dialog.confirm'), callback: function () {
deleteDoorlook(self, value);
}}
); );
} }
} }
...@@ -139,10 +214,72 @@ function logoutButtonTap(self){ ...@@ -139,10 +214,72 @@ function logoutButtonTap(self){
uComponents.openConfirm(self, Vue.t('doorlockManage.logoutDialogTip'), uComponents.openConfirm(self, Vue.t('doorlockManage.logoutDialogTip'),
{text: Vue.t('dialog.cancel'), callback: function () {}}, {text: Vue.t('dialog.cancel'), callback: function () {}},
{text: Vue.t('dialog.confirm'), callback: function () { {text: Vue.t('dialog.confirm'), callback: function () {
iot.business.user.logout({
data: {
sds: true
},
success: (response) => {
iot.navigator.openWindow({ iot.navigator.openWindow({
url: '../login/login.html', url: '../login/',
id: 'login' id: 'login'
}); });
let wvs = plus.webview.all();
for (var i = 0; i < wvs.length-1; i++) {
plus.webview.close(wvs[i]);
}
},
error: (error) => {},
complete: () => {
console.log("complete");
}
});
}} }}
); );
} }
//17621209360
//yyl111
function deleteDoorlook(self, index){
// 显示loading
let uuId = self.getDeviceList()[index].id;
uComponents.showLoading(self);
iot.business.sds.unbindDevice({
data: {
sds: true,
uuid: self.getDeviceList()[index].uuid
},
success: function (response){
console.log(response);
if(response.data == 'success'){
//删除成功
self.getDeviceList().splice(index, 1);
self.getShowDeviceList().splice(index, 1);
projectMethods.changeGridList(self, self.getDeviceList());
uComponents.openAlert(self, Vue.t('doorlockManage.deleteSuccess'), {
text: Vue.t('btn.confirm'), callback: function () {
console.log("删除成功");
projectMethods.changeGridList(self, self.getShowDeviceList());
uComponents.hideLoading(self);
}
});
}else{
//删除失败
uComponents.openAlert(self, Vue.t('doorlockManage.deleteFailue'), {
text: Vue.t('btn.confirm'), callback: function () {
console.log("删除失败");
uComponents.hideLoading(self);
}
});
}
},
error: function (err){
console.log(err);
//请求失败
uPublic.openRequestErrorAlert(self);
},
complete: function (){
console.log("complete");
uComponents.hideLoading(self);
}
});
}
...@@ -7,8 +7,9 @@ ...@@ -7,8 +7,9 @@
* 生成绑定二维码页面 * 生成绑定二维码页面
*/ */
var QRCode = require('qrcode');
console.log(QRCode);
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组件
...@@ -16,18 +17,34 @@ function init() { ...@@ -16,18 +17,34 @@ function init() {
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig(),
//页面传递参数
extras: [],
uuid: null,
qrCodeDisabled: false
}, },
mounted(){ mounted(){
this.extras = iot.navigator.getExtras();
console.log(this.extras);
this.setUuid(this.extras.uuid);
}, },
methods:{ methods:{
getUuid(){
return this.uuid;
},
setUuid(id){
this.uuid = id;
},
setQrCodeDisabled(boolean){
this.qrCodeDisabled = boolean;
},
//tap < //tap <
onBackTap(){ onBackTap(){
backTap(); backTap();
}, },
//tap 生成二维码 //tap 生成二维码
onQRcodeButtonTap(){ onQRcodeButtonTap(){
qrcodeButtonTap(); qrcodeButtonTap(this);
} }
} }
}).$mount('#app'); }).$mount('#app');
...@@ -62,6 +79,40 @@ function backTap(){ ...@@ -62,6 +79,40 @@ function backTap(){
} }
//tap 生成二维码 //tap 生成二维码
function qrcodeButtonTap(){ function qrcodeButtonTap(self){
alert("生成二维码"); uComponents.showLoading(self);
iot.business.sds.saveqr({
data: {
uuid: self.getUuid()
},
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
let qrKey = response.data.qrKey;
let qr = self.$refs.qrcode;
QRCode.toCanvas(qr, qrKey, {
scale: 5,
margin: 2
},(error) => {
if (error) {
console.log(error)
} else {
console.log('success');
uComponents.hideLoading(self);
qr.style.width = "5.280rem";
qr.style.height = "5.280rem";
console.log(qr.style);
setTimeout(() => {
self.setQrCodeDisabled(true);
},1000*60*10);
}
});
}else{}
},
error: (error) => {
console.log(error);
//请求失败
uPublic.openRequestErrorAlert(self);
}
});
} }
\ No newline at end of file
/**
* v_index.js
* Version: 0.1
* User: zjx
* Date: 2017-09-29
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 门锁用户
*/
import config from '../../public/config.js';
import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 图片轮播、跑马灯、开关、按钮、dialog、loading组件
uPublic.componentsInit(['u-swipe-list','u-dialog','u-loading']);
const app = new Vue({
data:{
//用户列表
userList: [],
userListIndex: null,
loadShowFlag: false,
loadFlag: false,
loadText: 'loading',
pagesize: 10,
tip: '无数据'
},
mounted(){
this.userList = [{value: 1, role: 0, image: '../../resources/image/green_head_icon.png', title: '我是用户', subtitle: "昵称: MM"},
{value: 1, role: 1, image: '../../resources/image/green_head_icon.png', title: '我是用户', subtitle: "昵称: MM"}]
},
methods:{
onBackTap(){
backTap();
},
onUserTap(){
addUser();
},
setLoadShowFlag(number){
this.loadShowFlag = (number >= this.pagesize);
},
onSwipeLeftRow(index){
swipeLeftRow(this, index);
},
onSwipeRightRow(){
swipeRightRow(this);
},
onTapLoad(){
tapLoad();
},
onTapUserList(index){
onTapUserList(this, index);
},
onTapButton(buttonIndex){
tapButton(buttonIndex);
},
changeUserList(list){
changeUserList(this, list);
}
}
}).$mount('#app');
}
//返回上一页
function backTap(){
iot.navigator.back();
}
//添加用户
function addUser(){
// iot.navigator.openWindow({
// url: '../doorlockUsers/addUser',
// id: 'addUser',
// });
}
// 向左滑动用户列表,修改用户列表下标
function swipeLeftRow(self, index) {
self.userListIndex = index;
}
// 向右滑动用户列表,修改用户列表下标
function swipeRightRow(self) {
self.userListIndex = null;
}
// 点击组件列表 通知事件和当前点击列表下标
function onTapUserList(self, listIndex) {
if (self.userListIndex != null) {
self.userListIndex = null;
}
}
//点击加载更多
function tapLoad(){
if (!self.loadFlag) {
self.loadText = 'loading';
self.loadFlag = true;
//再次发送获取用户列表请求
}
}
//点击按钮
function tapButton(buttonIndex){
console.log(buttonIndex);
}
// 修改userList列表
function changeUserList(self, list) {
self.setLoadShowFlag(list.length - self.swipeList.length);
self.userList = list;
self.$nextTick(function () {
self.loadText = '点击加载更多';
self.loadFlag = false;
});
}
\ No newline at end of file
...@@ -11,19 +11,25 @@ import {iot, uPublic, uComponents} from '../../public/public.js'; ...@@ -11,19 +11,25 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
function init() { function init() {
//通用 按钮、dialog、loading组件 //通用 dialog、loading组件
uPublic.componentsInit(['u-button','u-dialog','u-loading']); uPublic.componentsInit(['u-dialog','u-loading','u-button']);
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig()
}, },
mounted(){ mounted(){
// setTimeout(function(){
// iot.navigator.openWindow({
// url: './login.html',
// id: 'login'
// });
// },2000)
let self = this;
}, },
methods:{ methods:{
//tap 账号/密码登录
onLoginButtonTap(){ onLoginButtonTap(){
loginButtonTap(); loginButtonTap(this);
} }
} }
}).$mount('#app'); }).$mount('#app');
...@@ -52,9 +58,123 @@ function initComponentsConfig() { ...@@ -52,9 +58,123 @@ function initComponentsConfig() {
} }
} }
function loginButtonTap(){ function loginButtonTap(self){
uComponents.showLoading(self);
iot.business.sds.init({
data: {
oa: true
},
success: (response) => {
console.log(response);
iot.business.user.login({
data: {
sds: true
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
cloudsLogin(self, data.UserID);
}else{
}
},
error: (error) => {
console.log(error);
//请求失败
uPublic.openRequestErrorAlert(self);
},
complete: () => {}
});
},
error: (error) => {
console.log(error);
//请求失败
uPublic.openRequestErrorAlert(self);
}
});
}
//云端登陆
function cloudsLogin(self, id){
iot.business.user.autoLogin({
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
uComponents.hideLoading(self);
iot.navigator.openWindow({
url: '../device/',
id: 'device'
});
}else{
}
},
error: (error) => {
console.log(error);
iot.business.user.login({
data: {
username: id,
pwd: id,
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
uComponents.hideLoading(self);
iot.navigator.openWindow({ iot.navigator.openWindow({
url: './login.html', url: '../device/',
id: 'login' id: 'device'
});
}else{
}
},
error: (error) => {
console.log(error);
//不存在此用户
// if(code == 10002){
//用户注册
iot.business.user.reg({
data: {
username: id,
pwd: id,
vcode: id
},
success: (response) => {
console.log(response);
//注册成功
let data = uPublic.checkResponseData(response.data);
if(data){
uComponents.hideLoading(self);
iot.navigator.openWindow({
url: '../device/',
id: 'device'
});
}else{
}
},
error: (error) => {
console.log(error);
//注册失败
uComponents.openAlert(self, 'login.failure', {
text: Vue.t('dialog.confirm'), callback: function () {
plus.webview.currentWebview().reload();
}
});
},
complete: () => {}
});
// }
//请求失败
uPublic.openRequestErrorAlert(self);
},
complete: () => {}
});
},
complete: () => {}
}); });
//
} }
...@@ -22,6 +22,55 @@ function init() { ...@@ -22,6 +22,55 @@ function init() {
componentsConfig: initComponentsConfig() componentsConfig: initComponentsConfig()
}, },
mounted(){ mounted(){
iot.business.sds.init({
data: {
oa: true
},
success: (response) => {
console.log(response);
iot.business.user.login({
data: {
sds: true
},
success: (response) => {
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
iot.business.user.login({
data: {
username: data.UserId,
pwd: data.UserId,
},
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
iot.navigator.openWindow({
url: '../device/',
id: 'device'
});
}else{
}
},
error: (error) => {
},
complete: () => {}
});
}else{
}
},
error: (error) => {
console.log(error);
},
complete: () => {}
});
},
error: (error) => {
console.log(error);
}
});
}, },
methods:{ methods:{
onTelChange(number){ onTelChange(number){
...@@ -106,10 +155,11 @@ function loginButtonTap(){ ...@@ -106,10 +155,11 @@ function loginButtonTap(){
//tap 快速注册 //tap 快速注册
function registerTap(){ function registerTap(){
iot.navigator.openWindow({
url: './register.html', // iot.navigator.openWindow({
id: 'register' // url: './register.html',
}); // id: 'register'
// });
} }
//tap 忘记密码 //tap 忘记密码
......
/**
* v_editNickname.js
* Version: 0.1
* User: zjx
* Date: 2017-09-29
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 引导页面
*/
import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 dialog、loading组件
uPublic.componentsInit(['u-dialog','u-loading','u-text']);
const app = new Vue({
data:{
//配置组件
textNickName: iot.navigator.getExtras().nickname,
textErrorTip: null,
componentsConfig: initComponentsConfig()
},
mounted(){
},
methods:{
getTextNickName(){
return this.textNickName;
},
setTextNickName(text){
this.textNickName = this;
},
onSaveTap(){
saveTap(this);
},
onBackTap(){
backTap();
},
onNicknameChange(text){
nicknameChange(this, text);
}
}
}).$mount('#app');
}
//配置组件参数
function initComponentsConfig() {
return {
nameInput: {
initParam: {
class: 'custom-editNickname-text',
placeholder: Vue.t('editNickname.nickNameInputTip')
}
},
//保存 button 参数
saveButton: {
initParam: {
class: 'custom-button',
text: Vue.t('btn.save')
}
},
dialog: {
initParam: {
class: 'custom-dialog'
}
},
loading: {
initParam: {
class: 'custom-loading'
}
}
}
}
//保存昵称
function saveTap(self){
if(self.textNickName == null || self.textNickName.trim() == ''){
self.textErrorTip = Vue.t('editNickname.nickNameInputTip');
}else{
uComponents.showLoading(self);
iot.business.user.setInfo({
data: {
nickname: self.textNickName,
head: '',
info: {}
},
success: (response) => {
if(response.data = 'success'){
iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{
// name: 'zhu'
});
iot.navigator.back();
}
},
error: (error) => {
console.log(error);
},
complete: () => {
uComponents.hideLoading(self);
}
});
}
}
//返回上一页
function backTap(){
iot.navigator.back();
}
function nicknameChange(self, text){
self.textNickName = text;
self.textErrorTip = '';
}
/**
* v_editPassword.js
* Version: 0.1
* User: zjx
* Date: 2017-09-29
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 引导页面
*/
import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 dialog、loading组件
uPublic.componentsInit(['u-dialog','u-loading','u-text']);
const app = new Vue({
data:{
//配置组件
textNewPassword: null,
textOldPassword: null,
textOldPasswordAgain: null,
textErrorTip: '密码不能为空',
componentsConfig: initComponentsConfig()
},
mounted(){
},
methods:{
onSaveTap(){
saveTap();
},
onBackTap(){
backTap();
}
}
}).$mount('#app');
}
//配置组件参数
function initComponentsConfig() {
return {
newPassword: {
initParam: {
class: 'custom-editPassword-text',
placeholder: Vue.t('editPassword.newPasswordInputTip')
}
},
oldPassword: {
initParam: {
class: 'custom-editPassword-text',
placeholder: Vue.t('editPassword.oldPasswordInputTip')
}
},
oldPasswordAgain: {
initParam: {
class: 'custom-editPassword-text',
placeholder: Vue.t('editPassword.oldPasswordInputTipAgain')
}
},
//保存 button 参数
saveButton: {
initParam: {
class: 'custom-button',
text: Vue.t('btn.save')
}
},
dialog: {
initParam: {
class: 'custom-dialog'
}
},
loading: {
initParam: {
class: 'custom-loading'
}
}
}
}
//保存昵称
function saveTap(){
}
//返回上一页
function backTap(){
iot.navigator.back();
}
/**
* v_index.js
* Version: 0.1
* User: zjx
* Date: 2017-09-26
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 引导页面
*/
import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 dialog、loading组件
uPublic.componentsInit(['u-dialog','u-loading']);
const app = new Vue({
data:{
//配置组件
nickname: 'bank',
componentsConfig: initComponentsConfig()
},
mounted(){
let self = this;
getInfo(this);
window.addEventListener('returnPage',function(event){
console.log("in");
getInfo(self);
});
},
methods:{
//tap 修改昵称
onEditNicknameTap(){
editNicknameTap(this);
},
//tap 修改密码
onEditPasswordTap(){
editPasswordTap();
},
onBackTap(){
backTap();
}
}
}).$mount('#app');
}
//配置组件参数
function initComponentsConfig() {
return {
loading: {
initParam: {
class: 'custom-loading'
}
}
}
}
//tap 修改昵称
function editNicknameTap(self){
iot.navigator.openWindow({
url: '../myInfo/editNickname.html',
id: 'editNickname',
extras: {
nickname: self.nickname
}
});
}
//tap 修改密码
function editPasswordTap(){
iot.navigator.openWindow({
url: '../myInfo/editPassword.html',
id: 'editPassword'
});
}
function backTap(){
iot.navigator.back();
}
function getInfo(self){
iot.business.user.getInfo({
success: (response) => {
let data = uPublic.checkResponseData(response.data);
if(data){
console.log(data);
self.nickname = data.nickname;
}else{
}
},
error: (error) => {},
complete: () => {}
});
}
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
/******/ /******/
/******/ // objects to store loaded and loading chunks /******/ // objects to store loaded and loading chunks
/******/ var installedChunks = { /******/ var installedChunks = {
/******/ 17: 0 /******/ 21: 0
/******/ }; /******/ };
/******/ /******/
/******/ // The require function /******/ // The require function
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
/******/ if (__webpack_require__.nc) { /******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ } /******/ }
/******/ script.src = __webpack_require__.p + "" + ({"0":"bindUser/index","1":"login/register","2":"login/login","3":"login/index","4":"login/forgetPassword","5":"doorlockManage/qrcode","6":"doorlockManage/index","7":"doorlockManage/editName","8":"device/remoteOpendoor","9":"device/opendoorRecord","10":"device/index","11":"device/hijackRecord","12":"device/alarmInfo","13":"addDevice/wifiAddHelp","14":"addDevice/wifiAdd","15":"addDevice/scanCodeAdd","16":"addDevice/index"}[chunkId]||chunkId) + ".js"; /******/ script.src = __webpack_require__.p + "" + ({"0":"device/opendoorRecord","1":"device/index","2":"device/hijackRecord","3":"device/alarmInfo","4":"doorlockManage/qrcode","5":"bindUser/index","6":"doorlockManage/index","7":"myInfo/index","8":"myInfo/editPassword","9":"myInfo/editNickname","10":"login/register","11":"login/login","12":"login/index","13":"login/forgetPassword","14":"doorlockUsers/index","15":"doorlockManage/editName","16":"device/remoteOpendoor","17":"addDevice/wifiAddHelp","18":"addDevice/wifiAdd","19":"addDevice/scanCodeAdd","20":"addDevice/index"}[chunkId]||chunkId) + ".js";
/******/ var timeout = setTimeout(onScriptComplete, 120000); /******/ var timeout = setTimeout(onScriptComplete, 120000);
/******/ script.onerror = script.onload = onScriptComplete; /******/ script.onerror = script.onload = onScriptComplete;
/******/ function onScriptComplete() { /******/ function onScriptComplete() {
...@@ -145,7 +145,8 @@ ...@@ -145,7 +145,8 @@
/******/ }) /******/ })
/************************************************************************/ /************************************************************************/
/******/ ([ /******/ ([
/* 0 */ /* 0 */,
/* 1 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; "use strict";
...@@ -9469,10 +9470,10 @@ Vue$3.compile = compileToFunctions; ...@@ -9469,10 +9470,10 @@ Vue$3.compile = compileToFunctions;
/* harmony default export */ __webpack_exports__["default"] = (Vue$3); /* harmony default export */ __webpack_exports__["default"] = (Vue$3);
/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3), __webpack_require__(7), __webpack_require__(4))) /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(125), __webpack_require__(135), __webpack_require__(132)))
/***/ }), /***/ }),
/* 1 */ /* 2 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -9483,25 +9484,27 @@ Object.defineProperty(exports, "__esModule", { ...@@ -9483,25 +9484,27 @@ Object.defineProperty(exports, "__esModule", {
}); });
exports.uComponents = exports.uPublic = exports.iot = undefined; exports.uComponents = exports.uPublic = exports.iot = undefined;
var _config = __webpack_require__(45); var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _config = __webpack_require__(124);
var _config2 = _interopRequireDefault(_config); var _config2 = _interopRequireDefault(_config);
var _vueI18n = __webpack_require__(51); var _vueI18n = __webpack_require__(202);
var _vueI18n2 = _interopRequireDefault(_vueI18n); var _vueI18n2 = _interopRequireDefault(_vueI18n);
var _ugenComponents = __webpack_require__(48); var _ugenComponents = __webpack_require__(199);
var _ugenComponents2 = _interopRequireDefault(_ugenComponents); var _ugenComponents2 = _interopRequireDefault(_ugenComponents);
var _manage = __webpack_require__(46); var _manage = __webpack_require__(197);
var _manage2 = _interopRequireDefault(_manage); var _manage2 = _interopRequireDefault(_manage);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var VueTouch = __webpack_require__(93); var VueTouch = __webpack_require__(244);
Vue.use(VueTouch); Vue.use(VueTouch);
var uComponents = _ugenComponents2.default.uComponents; var uComponents = _ugenComponents2.default.uComponents;
...@@ -9511,12 +9514,12 @@ var iot = new UIOT({ ...@@ -9511,12 +9514,12 @@ var iot = new UIOT({
lang: ['zh', 'en'], lang: ['zh', 'en'],
vue: Vue, vue: Vue,
i18n: _vueI18n2.default, i18n: _vueI18n2.default,
appId: '10003', appId: '10004',
wx: { wx: {
appId: '' appId: ''
}, },
cloud: { cloud: {
url: 'http://192.168.2.97:20007' url: 'http://192.168.2.96:20000'
}, },
plugin: { plugin: {
log: { log: {
...@@ -9554,16 +9557,166 @@ uPublic.componentsExtend = function (array) { ...@@ -9554,16 +9557,166 @@ uPublic.componentsExtend = function (array) {
}); });
}; };
//请求发送失败弹框
uPublic.openRequestErrorAlert = function (vmObj) {
var content = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Vue.t('request.error');
uComponents.openAlert(vmObj, content, {
text: Vue.t('dialog.confirm'), callback: function callback() {}
});
};
// 检查请求成功后data参数
uPublic.checkResponseData = function (data) {
// json
if (data != null && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {
if (Object.keys(data).length == 0 || data.hasOwnProperty('msg')) {
return false;
} else {
return data;
}
// array
} else if (Array.isArray(data)) {
if (data.length > 0) {
return data;
} else {
return false;
}
}
};
iot.ready(function () { iot.ready(function () {
uPublic.recalc(); uPublic.recalc();
}); });
iot.navigator.getAllWebviw = function () {
return plus.webview.all();
};
iot.navigator.fire = function (webview, eventType, data) {
if (webview) {
if (typeof data === 'undefined') {
data = '';
} else if (typeof data === 'boolean' || typeof data === 'number') {
webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")");
return;
} else if ((typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object' && Object.keys(data).length == 0) {
data = JSON.stringify(data || {}).replace(/\'/g, '\\u0027').replace(/\\/g, '\\u005c');
}
webview.evalJS('iot.navigator.receive("' + eventType + '","' + data + '")');
}
};
window.iot = iot;
iot.navigator.receive = function (eventType, data) {
console.log("receive。。。");
if (eventType) {
try {
if (data && typeof data === 'string') {
data = JSON.parse(data);
}
} catch (e) {}
iot.navigator.trigger(document, eventType, data);
}
};
iot.navigator.trigger = function (element, eventType, eventData) {
console.log("trigger。。。");
console.log(element);
console.log(eventType);
element.dispatchEvent(new CustomEvent(eventType, {
detail: eventData,
bubbles: true,
cancelable: true
}));
return this;
};
iot.navigator.closeAllBesidesItself = function () {
var wvs = plus.webview.all();
// var curWb = plus.webview.currentWebview();
for (var i = 0; i < wvs.length - 1; i++) {
// if (wvs[i].id != curWb.id) {
wvs[i].close();
// }
}
};
iot.navigator.closeAll = function () {
var wvs = plus.webview.all();
var curWb = plus.webview.currentWebview();
for (var i = 0; i < wvs.length; i++) {
wvs[i].close();
}
};
iot.ready(function () {
plus.key.addEventListener('backbutton', iot.navigator.aback, false);
// plus.key.addEventListener('backbutton',iot.navigator.aback,false);
});
iot.navigator.aback = function () {
var wobj = plus.webview.currentWebview();
var parent = wobj.parent();
var wbs = iot.navigator.getAllWebviw();
if (wbs.length > 1) {
// console.log("不止一个webview...");
// return;
iot.navigator.back();
// console.log("有父webview...");
// return;
// parent.evalJS('iot.navigator.back()');
// parent.evalJS('mui&&mui.back();');
} else {
console.log("只有一个webView");
// return;
wobj.canBack(function (e) {
console.log("是否可以返回canback...");
console.log(window.history);
window.history.back();
console.log(e);
//by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
if (e.canBack) {
//webview history back
console.log("e.canback....");
// return;
window.history.back();
// iot.navigator.back();
} else {
//webview close or hide
console.log("不能back。。。");
if (!__back__first) {
__back__first = new Date().getTime();
console.log("给back_first设值....");
plus.nativeUI.toast("再按一次退出应用");
// mui.toast('再按一次退出应用');
setTimeout(function () {
__back__first = null;
}, 2000);
} else {
console.log("back_first不为空....");
if (new Date().getTime() - __back__first < 2000) {
console.log("两次的间隔时间少于2秒");
plus.runtime.quit();
} else {
console.log("时间间隔大于2s");
}
}
return;
}
});
}
};
exports.iot = iot; exports.iot = iot;
exports.uPublic = uPublic; exports.uPublic = uPublic;
exports.uComponents = uComponents; exports.uComponents = uComponents;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 2 */ /* 3 */
/***/ (function(module, exports) { /***/ (function(module, exports) {
// this module is a runtime utility for cleaner component module output and will // this module is a runtime utility for cleaner component module output and will
...@@ -9620,7 +9773,156 @@ module.exports = function normalizeComponent ( ...@@ -9620,7 +9773,156 @@ module.exports = function normalizeComponent (
/***/ }), /***/ }),
/* 3 */ /* 4 */,
/* 5 */,
/* 6 */,
/* 7 */,
/* 8 */,
/* 9 */,
/* 10 */,
/* 11 */,
/* 12 */,
/* 13 */,
/* 14 */,
/* 15 */,
/* 16 */,
/* 17 */,
/* 18 */,
/* 19 */,
/* 20 */,
/* 21 */,
/* 22 */,
/* 23 */,
/* 24 */,
/* 25 */,
/* 26 */,
/* 27 */,
/* 28 */,
/* 29 */,
/* 30 */,
/* 31 */,
/* 32 */,
/* 33 */,
/* 34 */,
/* 35 */,
/* 36 */,
/* 37 */,
/* 38 */,
/* 39 */,
/* 40 */,
/* 41 */,
/* 42 */,
/* 43 */,
/* 44 */,
/* 45 */,
/* 46 */,
/* 47 */,
/* 48 */,
/* 49 */,
/* 50 */,
/* 51 */,
/* 52 */,
/* 53 */,
/* 54 */,
/* 55 */,
/* 56 */,
/* 57 */,
/* 58 */,
/* 59 */,
/* 60 */,
/* 61 */,
/* 62 */,
/* 63 */,
/* 64 */,
/* 65 */,
/* 66 */,
/* 67 */,
/* 68 */,
/* 69 */,
/* 70 */,
/* 71 */,
/* 72 */,
/* 73 */,
/* 74 */,
/* 75 */,
/* 76 */,
/* 77 */,
/* 78 */,
/* 79 */,
/* 80 */,
/* 81 */,
/* 82 */,
/* 83 */,
/* 84 */,
/* 85 */,
/* 86 */,
/* 87 */,
/* 88 */,
/* 89 */,
/* 90 */,
/* 91 */,
/* 92 */,
/* 93 */,
/* 94 */,
/* 95 */,
/* 96 */,
/* 97 */,
/* 98 */,
/* 99 */,
/* 100 */,
/* 101 */,
/* 102 */,
/* 103 */,
/* 104 */,
/* 105 */,
/* 106 */,
/* 107 */,
/* 108 */,
/* 109 */,
/* 110 */,
/* 111 */,
/* 112 */,
/* 113 */,
/* 114 */,
/* 115 */,
/* 116 */,
/* 117 */,
/* 118 */,
/* 119 */,
/* 120 */,
/* 121 */,
/* 122 */,
/* 123 */,
/* 124 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
"powerIcon": ["&#xe6e5;", "&#xe62b;", "&#xe627;", "&#xe628;", "&#xe62a;", "&#xe629;"],
"openDoorMode": {
0: "passwordOpenDoor",
1: "fingerprintOpenDoor",
2: "ICcardOpenDoor",
3: "remoteOpenDoor",
4: "keyOpenDoor",
5: "hijackingAlarm",
6: "appRemoteOpenDoor"
},
"alarmMode": {
0: "tamperAlarm",
1: "trialAlarm",
2: "powerAlarm",
3: "fackLockAlram"
}
};
/***/ }),
/* 125 */
/***/ (function(module, exports) { /***/ (function(module, exports) {
// shim for using process in browser // shim for using process in browser
...@@ -9810,7 +10112,13 @@ process.umask = function() { return 0; }; ...@@ -9810,7 +10112,13 @@ process.umask = function() { return 0; };
/***/ }), /***/ }),
/* 4 */ /* 126 */,
/* 127 */,
/* 128 */,
/* 129 */,
/* 130 */,
/* 131 */,
/* 132 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process, Promise, global) {var require;/*! /* WEBPACK VAR INJECTION */(function(process, Promise, global) {var require;/*!
...@@ -9949,7 +10257,7 @@ function flush() { ...@@ -9949,7 +10257,7 @@ function flush() {
function attemptVertx() { function attemptVertx() {
try { try {
var r = require; var r = require;
var vertx = __webpack_require__(94); var vertx = __webpack_require__(245);
vertxNext = vertx.runOnLoop || vertx.runOnContext; vertxNext = vertx.runOnLoop || vertx.runOnContext;
return useVertxTimer(); return useVertxTimer();
} catch (e) { } catch (e) {
...@@ -10972,10 +11280,10 @@ return Promise; ...@@ -10972,10 +11280,10 @@ return Promise;
}))); })));
//# sourceMappingURL=es6-promise.map //# sourceMappingURL=es6-promise.map
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(4), __webpack_require__(7))) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(125), __webpack_require__(132), __webpack_require__(135)))
/***/ }), /***/ }),
/* 5 */ /* 133 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */ var __WEBPACK_AMD_DEFINE_RESULT__;/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */
...@@ -13073,7 +13381,7 @@ if ( typeof module != 'undefined' && module.exports ) { ...@@ -13073,7 +13381,7 @@ if ( typeof module != 'undefined' && module.exports ) {
/***/ }), /***/ }),
/* 6 */ /* 134 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.8.3 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.8.3
...@@ -14628,7 +14936,7 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscor ...@@ -14628,7 +14936,7 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscor
/***/ }), /***/ }),
/* 7 */ /* 135 */
/***/ (function(module, exports) { /***/ (function(module, exports) {
var g; var g;
...@@ -14655,24 +14963,47 @@ module.exports = g; ...@@ -14655,24 +14963,47 @@ module.exports = g;
/***/ }), /***/ }),
/* 8 */, /* 136 */,
/* 9 */, /* 137 */,
/* 10 */, /* 138 */,
/* 11 */, /* 139 */,
/* 12 */, /* 140 */,
/* 13 */, /* 141 */,
/* 14 */, /* 142 */,
/* 15 */, /* 143 */,
/* 16 */, /* 144 */,
/* 17 */, /* 145 */,
/* 18 */, /* 146 */,
/* 19 */, /* 147 */,
/* 20 */, /* 148 */,
/* 21 */, /* 149 */,
/* 22 */, /* 150 */,
/* 23 */, /* 151 */,
/* 24 */, /* 152 */,
/* 25 */ /* 153 */,
/* 154 */,
/* 155 */,
/* 156 */,
/* 157 */,
/* 158 */,
/* 159 */,
/* 160 */,
/* 161 */,
/* 162 */,
/* 163 */,
/* 164 */,
/* 165 */,
/* 166 */,
/* 167 */,
/* 168 */,
/* 169 */,
/* 170 */,
/* 171 */,
/* 172 */,
/* 173 */,
/* 174 */,
/* 175 */,
/* 176 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -14735,7 +15066,7 @@ function tapButton(self) { ...@@ -14735,7 +15066,7 @@ function tapButton(self) {
} }
/***/ }), /***/ }),
/* 26 */ /* 177 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15019,7 +15350,7 @@ function setTransition(time, select) { ...@@ -15019,7 +15350,7 @@ function setTransition(time, select) {
} }
/***/ }), /***/ }),
/* 27 */ /* 178 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15096,7 +15427,7 @@ function _changeCommLoadingStatusAndText(self, status, text) { ...@@ -15096,7 +15427,7 @@ function _changeCommLoadingStatusAndText(self, status, text) {
} }
/***/ }), /***/ }),
/* 28 */ /* 179 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15198,7 +15529,7 @@ function handleButton(self, name, button) { ...@@ -15198,7 +15529,7 @@ function handleButton(self, name, button) {
} }
/***/ }), /***/ }),
/* 29 */ /* 180 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15319,10 +15650,10 @@ function _changeList(self, list) { ...@@ -15319,10 +15650,10 @@ function _changeList(self, list) {
self.loadFlag = false; self.loadFlag = false;
}); });
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 30 */ /* 181 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15332,7 +15663,7 @@ Object.defineProperty(exports, "__esModule", { ...@@ -15332,7 +15663,7 @@ Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
var _iscroll = __webpack_require__(5); var _iscroll = __webpack_require__(133);
var _iscroll2 = _interopRequireDefault(_iscroll); var _iscroll2 = _interopRequireDefault(_iscroll);
...@@ -15437,10 +15768,10 @@ function _changeList(self, list) { ...@@ -15437,10 +15768,10 @@ function _changeList(self, list) {
self.loadFlag = false; self.loadFlag = false;
}); });
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 31 */ /* 182 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15490,7 +15821,7 @@ exports.default = { ...@@ -15490,7 +15821,7 @@ exports.default = {
}; };
/***/ }), /***/ }),
/* 32 */ /* 183 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15543,7 +15874,7 @@ function _changeText(self, text) { ...@@ -15543,7 +15874,7 @@ function _changeText(self, text) {
} }
/***/ }), /***/ }),
/* 33 */ /* 184 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15681,7 +16012,7 @@ function checkOutOfRange(self) { ...@@ -15681,7 +16012,7 @@ function checkOutOfRange(self) {
} }
/***/ }), /***/ }),
/* 34 */ /* 185 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15691,7 +16022,7 @@ Object.defineProperty(exports, "__esModule", { ...@@ -15691,7 +16022,7 @@ Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
var _underscore = __webpack_require__(6); var _underscore = __webpack_require__(134);
var _underscore2 = _interopRequireDefault(_underscore); var _underscore2 = _interopRequireDefault(_underscore);
...@@ -15971,7 +16302,7 @@ function _changeData(self, data) { ...@@ -15971,7 +16302,7 @@ function _changeData(self, data) {
} }
/***/ }), /***/ }),
/* 35 */ /* 186 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -15981,7 +16312,7 @@ Object.defineProperty(exports, "__esModule", { ...@@ -15981,7 +16312,7 @@ Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
var _underscore = __webpack_require__(6); var _underscore = __webpack_require__(134);
var _underscore2 = _interopRequireDefault(_underscore); var _underscore2 = _interopRequireDefault(_underscore);
...@@ -16123,10 +16454,10 @@ function setScrollPosition(self) { ...@@ -16123,10 +16454,10 @@ function setScrollPosition(self) {
} }
} }
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 36 */ /* 187 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16238,7 +16569,7 @@ function _setValue(self, parameter) { ...@@ -16238,7 +16569,7 @@ function _setValue(self, parameter) {
} }
/***/ }), /***/ }),
/* 37 */ /* 188 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16248,7 +16579,7 @@ Object.defineProperty(exports, "__esModule", { ...@@ -16248,7 +16579,7 @@ Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
var _iscroll = __webpack_require__(5); var _iscroll = __webpack_require__(133);
var _iscroll2 = _interopRequireDefault(_iscroll); var _iscroll2 = _interopRequireDefault(_iscroll);
...@@ -16392,10 +16723,10 @@ function _changeList(self, list) { ...@@ -16392,10 +16723,10 @@ function _changeList(self, list) {
self.loadFlag = false; self.loadFlag = false;
}); });
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 38 */ /* 189 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16467,7 +16798,7 @@ function tapSwitch(self) { ...@@ -16467,7 +16798,7 @@ function tapSwitch(self) {
} }
/***/ }), /***/ }),
/* 39 */ /* 190 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16599,10 +16930,10 @@ function watchInputText(self, text) { ...@@ -16599,10 +16930,10 @@ function watchInputText(self, text) {
} }
/***/ }), /***/ }),
/* 40 */, /* 191 */,
/* 41 */, /* 192 */,
/* 42 */, /* 193 */,
/* 43 */ /* 194 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16706,10 +17037,10 @@ function tapLoad(self) { ...@@ -16706,10 +17037,10 @@ function tapLoad(self) {
self.$emit('grid-list-load-tap'); self.$emit('grid-list-load-tap');
self.loadText = Vue.t('scroll.loading'); self.loadText = Vue.t('scroll.loading');
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 44 */ /* 195 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16806,10 +17137,11 @@ function _changeList(self, list) { ...@@ -16806,10 +17137,11 @@ function _changeList(self, list) {
self.loadFlag = false; self.loadFlag = false;
}); });
} }
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0)["default"])) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1)["default"]))
/***/ }), /***/ }),
/* 45 */ /* 196 */,
/* 197 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -16818,34 +17150,12 @@ function _changeList(self, list) { ...@@ -16818,34 +17150,12 @@ function _changeList(self, list) {
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
var uComponents = {};
uComponents.changeGridList = function (vmObj, list) { var _c_gridList = __webpack_require__(221);
vmObj.$refs.gridlist.changeList(list);
};
uComponents.changeTimeline = function (vmObj, list) {
vmObj.$refs.timeline.changeList(list);
};
exports.uComponents = uComponents;
/***/ }),
/* 46 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _c_gridList = __webpack_require__(70);
var _c_gridList2 = _interopRequireDefault(_c_gridList); var _c_gridList2 = _interopRequireDefault(_c_gridList);
var _c_timeline = __webpack_require__(71); var _c_timeline = __webpack_require__(222);
var _c_timeline2 = _interopRequireDefault(_c_timeline); var _c_timeline2 = _interopRequireDefault(_c_timeline);
...@@ -16858,7 +17168,7 @@ var components = { ...@@ -16858,7 +17168,7 @@ var components = {
exports.default = components; exports.default = components;
/***/ }), /***/ }),
/* 47 */ /* 198 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.7 - 2016-04-22 var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v2.0.7 - 2016-04-22
...@@ -19508,13 +19818,13 @@ if (true) { ...@@ -19508,13 +19818,13 @@ if (true) {
/***/ }), /***/ }),
/* 48 */ /* 199 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; "use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_manage__ = __webpack_require__(50); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__src_manage__ = __webpack_require__(201);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_components__ = __webpack_require__(49); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__src_components__ = __webpack_require__(200);
/** /**
* index.js * index.js
* Version: 0.1 * Version: 0.1
...@@ -19532,7 +19842,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); ...@@ -19532,7 +19842,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/***/ }), /***/ }),
/* 49 */ /* 200 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; "use strict";
...@@ -19600,39 +19910,39 @@ uComponents.changeCommLoadingStatusAndText = function(vmObj, status, text){ ...@@ -19600,39 +19910,39 @@ uComponents.changeCommLoadingStatusAndText = function(vmObj, status, text){
/* harmony default export */ __webpack_exports__["a"] = (uComponents); /* harmony default export */ __webpack_exports__["a"] = (uComponents);
/***/ }), /***/ }),
/* 50 */ /* 201 */
/***/ (function(module, __webpack_exports__, __webpack_require__) { /***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict"; "use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_button_vue__ = __webpack_require__(52); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_button_vue__ = __webpack_require__(203);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_button_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_button_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__components_button_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__components_button_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_carousel_vue__ = __webpack_require__(53); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_carousel_vue__ = __webpack_require__(204);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_carousel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_carousel_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_carousel_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_carousel_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_comm_loading_vue__ = __webpack_require__(54); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_comm_loading_vue__ = __webpack_require__(205);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_comm_loading_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__components_comm_loading_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_comm_loading_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__components_comm_loading_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_dialog_vue__ = __webpack_require__(55); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_dialog_vue__ = __webpack_require__(206);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_dialog_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__components_dialog_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_dialog_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__components_dialog_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_folding_list_vue__ = __webpack_require__(56); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_folding_list_vue__ = __webpack_require__(207);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_folding_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__components_folding_list_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_folding_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__components_folding_list_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_list_vue__ = __webpack_require__(57); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_list_vue__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__components_list_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__components_list_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_loading_vue__ = __webpack_require__(58); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_loading_vue__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_loading_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__components_loading_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_loading_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__components_loading_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_marquee_vue__ = __webpack_require__(59); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_marquee_vue__ = __webpack_require__(210);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_marquee_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__components_marquee_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_marquee_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__components_marquee_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_number_adjustment_vue__ = __webpack_require__(60); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_number_adjustment_vue__ = __webpack_require__(211);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_number_adjustment_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__components_number_adjustment_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_number_adjustment_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__components_number_adjustment_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_picker_vue__ = __webpack_require__(61); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_picker_vue__ = __webpack_require__(212);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_picker_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__components_picker_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_picker_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__components_picker_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_select_vue__ = __webpack_require__(62); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_select_vue__ = __webpack_require__(213);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_select_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__components_select_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_select_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__components_select_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_slide_vue__ = __webpack_require__(63); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_slide_vue__ = __webpack_require__(214);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_slide_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__components_slide_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__components_slide_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__components_slide_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_swipe_list_vue__ = __webpack_require__(64); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_swipe_list_vue__ = __webpack_require__(215);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_swipe_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__components_swipe_list_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__components_swipe_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__components_swipe_list_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_switch_vue__ = __webpack_require__(65); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_switch_vue__ = __webpack_require__(216);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_switch_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__components_switch_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_switch_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__components_switch_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_text_vue__ = __webpack_require__(66); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_text_vue__ = __webpack_require__(217);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_text_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__components_text_vue__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__components_text_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_14__components_text_vue__);
...@@ -19671,7 +19981,7 @@ let manage = { ...@@ -19671,7 +19981,7 @@ let manage = {
/* harmony default export */ __webpack_exports__["a"] = (manage); /* harmony default export */ __webpack_exports__["a"] = (manage);
/***/ }), /***/ }),
/* 51 */ /* 202 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
"use strict"; "use strict";
...@@ -20683,23 +20993,23 @@ if (typeof window !== 'undefined' && window.Vue) { ...@@ -20683,23 +20993,23 @@ if (typeof window !== 'undefined' && window.Vue) {
module.exports = plugin; module.exports = plugin;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(125)))
/***/ }), /***/ }),
/* 52 */ /* 203 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(25), __webpack_require__(176),
/* template */ /* template */
__webpack_require__(78), __webpack_require__(229),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\button.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\button.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] button.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] button.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20720,20 +21030,20 @@ module.exports = Component.exports ...@@ -20720,20 +21030,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 53 */ /* 204 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(26), __webpack_require__(177),
/* template */ /* template */
__webpack_require__(88), __webpack_require__(239),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\carousel.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\carousel.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] carousel.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] carousel.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20754,20 +21064,20 @@ module.exports = Component.exports ...@@ -20754,20 +21064,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 54 */ /* 205 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(27), __webpack_require__(178),
/* template */ /* template */
__webpack_require__(77), __webpack_require__(228),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\comm-loading.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\comm-loading.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] comm-loading.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] comm-loading.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20788,20 +21098,20 @@ module.exports = Component.exports ...@@ -20788,20 +21098,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 55 */ /* 206 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(28), __webpack_require__(179),
/* template */ /* template */
__webpack_require__(80), __webpack_require__(231),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\dialog.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\dialog.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] dialog.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] dialog.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20822,20 +21132,20 @@ module.exports = Component.exports ...@@ -20822,20 +21132,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 56 */ /* 207 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(29), __webpack_require__(180),
/* template */ /* template */
__webpack_require__(75), __webpack_require__(226),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\folding-list.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\folding-list.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] folding-list.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] folding-list.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20856,20 +21166,20 @@ module.exports = Component.exports ...@@ -20856,20 +21166,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 57 */ /* 208 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(30), __webpack_require__(181),
/* template */ /* template */
__webpack_require__(74), __webpack_require__(225),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\list.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\list.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] list.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] list.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20890,20 +21200,20 @@ module.exports = Component.exports ...@@ -20890,20 +21200,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 58 */ /* 209 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(31), __webpack_require__(182),
/* template */ /* template */
__webpack_require__(90), __webpack_require__(241),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\loading.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\loading.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] loading.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] loading.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20924,20 +21234,20 @@ module.exports = Component.exports ...@@ -20924,20 +21234,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 59 */ /* 210 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(32), __webpack_require__(183),
/* template */ /* template */
__webpack_require__(84), __webpack_require__(235),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\marquee.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\marquee.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] marquee.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] marquee.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20958,20 +21268,20 @@ module.exports = Component.exports ...@@ -20958,20 +21268,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 60 */ /* 211 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(33), __webpack_require__(184),
/* template */ /* template */
__webpack_require__(85), __webpack_require__(236),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\number-adjustment.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\number-adjustment.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] number-adjustment.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] number-adjustment.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -20992,20 +21302,20 @@ module.exports = Component.exports ...@@ -20992,20 +21302,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 61 */ /* 212 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(34), __webpack_require__(185),
/* template */ /* template */
__webpack_require__(82), __webpack_require__(233),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\picker.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\picker.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] picker.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] picker.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21026,20 +21336,20 @@ module.exports = Component.exports ...@@ -21026,20 +21336,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 62 */ /* 213 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(35), __webpack_require__(186),
/* template */ /* template */
__webpack_require__(86), __webpack_require__(237),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\select.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\select.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] select.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] select.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21060,20 +21370,20 @@ module.exports = Component.exports ...@@ -21060,20 +21370,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 63 */ /* 214 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(36), __webpack_require__(187),
/* template */ /* template */
__webpack_require__(83), __webpack_require__(234),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\slide.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\slide.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] slide.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] slide.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21094,20 +21404,20 @@ module.exports = Component.exports ...@@ -21094,20 +21404,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 64 */ /* 215 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(37), __webpack_require__(188),
/* template */ /* template */
__webpack_require__(76), __webpack_require__(227),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\swipe-list.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\swipe-list.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] swipe-list.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] swipe-list.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21128,20 +21438,20 @@ module.exports = Component.exports ...@@ -21128,20 +21438,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 65 */ /* 216 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(38), __webpack_require__(189),
/* template */ /* template */
__webpack_require__(73), __webpack_require__(224),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\switch.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\switch.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] switch.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] switch.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21162,20 +21472,20 @@ module.exports = Component.exports ...@@ -21162,20 +21472,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 66 */ /* 217 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(39), __webpack_require__(190),
/* template */ /* template */
__webpack_require__(91), __webpack_require__(242),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\node_modules\\ugen-components\\src\\components\\text.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\node_modules\\ugen-components\\src\\components\\text.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] text.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] text.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21196,23 +21506,23 @@ module.exports = Component.exports ...@@ -21196,23 +21506,23 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 67 */, /* 218 */,
/* 68 */, /* 219 */,
/* 69 */, /* 220 */,
/* 70 */ /* 221 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(43), __webpack_require__(194),
/* template */ /* template */
__webpack_require__(79), __webpack_require__(230),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\src\\view\\c_grid-list.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\src\\view\\c_grid-list.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] c_grid-list.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] c_grid-list.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21233,20 +21543,20 @@ module.exports = Component.exports ...@@ -21233,20 +21543,20 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 71 */ /* 222 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(2)( var Component = __webpack_require__(3)(
/* script */ /* script */
__webpack_require__(44), __webpack_require__(195),
/* template */ /* template */
__webpack_require__(81), __webpack_require__(232),
/* scopeId */ /* scopeId */
null, null,
/* cssModules */ /* cssModules */
null null
) )
Component.options.__file = "D:\\smartHome\\smartHome\\doorlockApp\\dev\\src\\view\\c_timeline.vue" Component.options.__file = "D:\\git_zhu\\doorlock\\dev\\src\\view\\c_timeline.vue"
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")}
if (Component.options.functional) {console.error("[vue-loader] c_timeline.vue: functional components are not supported with templates, they should use render functions.")} if (Component.options.functional) {console.error("[vue-loader] c_timeline.vue: functional components are not supported with templates, they should use render functions.")}
...@@ -21267,8 +21577,8 @@ module.exports = Component.exports ...@@ -21267,8 +21577,8 @@ module.exports = Component.exports
/***/ }), /***/ }),
/* 72 */, /* 223 */,
/* 73 */ /* 224 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21298,7 +21608,7 @@ if (false) { ...@@ -21298,7 +21608,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 74 */ /* 225 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21385,7 +21695,7 @@ if (false) { ...@@ -21385,7 +21695,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 75 */ /* 226 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21486,7 +21796,7 @@ if (false) { ...@@ -21486,7 +21796,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 76 */ /* 227 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21595,7 +21905,7 @@ if (false) { ...@@ -21595,7 +21905,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 77 */ /* 228 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21633,7 +21943,7 @@ if (false) { ...@@ -21633,7 +21943,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 78 */ /* 229 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21659,7 +21969,7 @@ if (false) { ...@@ -21659,7 +21969,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 79 */ /* 230 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21756,7 +22066,7 @@ if (false) { ...@@ -21756,7 +22066,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 80 */ /* 231 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21812,7 +22122,7 @@ if (false) { ...@@ -21812,7 +22122,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 81 */ /* 232 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21888,7 +22198,7 @@ if (false) { ...@@ -21888,7 +22198,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 82 */ /* 233 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -21969,7 +22279,7 @@ if (false) { ...@@ -21969,7 +22279,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 83 */ /* 234 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22020,7 +22330,7 @@ if (false) { ...@@ -22020,7 +22330,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 84 */ /* 235 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22045,7 +22355,7 @@ if (false) { ...@@ -22045,7 +22355,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 85 */ /* 236 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22085,7 +22395,7 @@ if (false) { ...@@ -22085,7 +22395,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 86 */ /* 237 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22159,8 +22469,8 @@ if (false) { ...@@ -22159,8 +22469,8 @@ if (false) {
} }
/***/ }), /***/ }),
/* 87 */, /* 238 */,
/* 88 */ /* 239 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22269,8 +22579,8 @@ if (false) { ...@@ -22269,8 +22579,8 @@ if (false) {
} }
/***/ }), /***/ }),
/* 89 */, /* 240 */,
/* 90 */ /* 241 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22300,7 +22610,7 @@ if (false) { ...@@ -22300,7 +22610,7 @@ if (false) {
} }
/***/ }), /***/ }),
/* 91 */ /* 242 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
...@@ -22377,12 +22687,12 @@ if (false) { ...@@ -22377,12 +22687,12 @@ if (false) {
} }
/***/ }), /***/ }),
/* 92 */, /* 243 */,
/* 93 */ /* 244 */
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
(function (global, factory) { (function (global, factory) {
true ? factory(__webpack_require__(47)) : true ? factory(__webpack_require__(198)) :
typeof define === 'function' && define.amd ? define(['hammerjs'], factory) : typeof define === 'function' && define.amd ? define(['hammerjs'], factory) :
(factory(global.Hammer)); (factory(global.Hammer));
}(this, (function (Hammer) { 'use strict'; }(this, (function (Hammer) { 'use strict';
...@@ -22649,7 +22959,7 @@ if (true) { ...@@ -22649,7 +22959,7 @@ if (true) {
/***/ }), /***/ }),
/* 94 */ /* 245 */
/***/ (function(module, exports) { /***/ (function(module, exports) {
/* (ignored) */ /* (ignored) */
......
@import "../public/public.less";
@import "../public/header.less";
//侧滑列表
.user-list{
width: 100%;
height: 100%;
overflow: auto;
position: absolute;
top: 44px;
bottom: 0;
left: 0;
height: auto;
}
.user-list-scroll .user-list-row{
position: relative;
overflow: hidden;
.user-list-handle{
position: relative;
.transition(left 0.4s ease);
left: 0;
background-color: @BODY-BG-COLOR;
padding: 15px 20px;
.display-box();
.box-vertical-alignment();
z-index: 2;
.user-list-image{
width: 50px;
height: 50px;
margin-right: 10px;
}
.user-list-icon{
margin-right: 10px;
.iconfont(@SWIPELIST-COMPONENT-ICON-FONTSIZE);
}
div{
.flex();
min-width: 0;
}
.user-list-title{
.text_oneRow_ellipsis();
}
.user-sub-image{
width: 17px;
height: 17px;
}
.user-list-subtitle{
.text_oneRow_ellipsis();
display: inline-block;
}
&.user-list-selected{
left: -120px;
}
&:after{
content: "\e611";
display: block;
.iconfont(@TEXT-COMPONENT-ICON-FONTSIZE);
.transform(rotate(180deg));
}
}
.user-list-button{
position: absolute;
top: 0;
bottom: 0;
right: 0;
z-index: 1;
div{
width: 60px;
height: 100%;
.display-box();
.box-horizontal-alignment();
.box-vertical-alignment();
color: @SWIPELIST-COMPONENT-BUTTON-COLOR;
float: left;
&:nth-last-of-type(1){
background-color: transparent;
.iconfont(@TEXT-COMPONENT-ICON-FONTSIZE);
color: #00FFFF;
}
}
}
&:after{
.defaultBorder();
z-index: 2;
.white_gradient_border();
}
}
@import "../public/public.less";
@import "../public/header.less";
.u-text();
.custom-editNickname-text,.custom-editPassword-text{
input{
font-size: @CUSTOM-EDITNAMETEXT-COMPONENT-INPUT-FONTSIZE;
padding-left: 46px;
&::-webkit-input-placeholder{
color: @CUSTOM-TEXT-COMPONENT-INPUT-PLACEHOLDER-COLOR;
}
}
//x icon
.u-text-clear{
right: 41px;
&:before{
content: '\e601';
font-family: iconfont;
color: @CUSTOM-TEXT-COMPONENT-DEFAULTICON-COLOR;
font-size: @CUSTOM-EDITNAMETEXT-COMPONENT-DEFAULTICON-FONTSIZE;
}
}
&:after{
.white_gradient_border();
}
}
.editMyInfo{
position: absolute;
top: 44px;
bottom: 0;
left: 0;
height: auto;
width: 100%;
li{
width: 100%;
height: 55px;
position: relative;
line-height: 55px;
padding: 0 43px;
&:after{
//
.defaultBorder();
.white_gradient_border();
}
span{
//去掉span
// &:first-child{
// font-size: 16px;
// line-height: 1;
// .flex();
// }
&:first-child{
float: right;
font-family: iconfont;
font-size: @TEXT-COMPONENT-ICON-FONTSIZE;
-webkit-font-smoothing: antialiased;
.transform(rotate(180deg));
}
&:last-child{
font-size: 12px;
float: right;
}
}
}
.editPassword{
span{
&:nth-child(2){
font-family: iconfont;
font-size: @TEXT-COMPONENT-ICON-FONTSIZE;
-webkit-font-smoothing: antialiased;
}
}
}
}
.errorTip{
.errorTip();
}
\ 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":"保存二维码到相册"},"dialog":{"confirm":"确认","cancel":"取消"},"title":{"login":"登录","register":"注册","forgetPassword":"忘记密码","device":"智能指纹锁","opendoorRecord":"开门记录","alarmInfo":"报警信息","remoteOpendoor":"远程开门","hijackRecord":"劫持记录","doorlockManage":"门锁管理","editName":"修改名称","qrcode":"生成绑定二维码","addDevice":"添加设备","scanCodeAdd":"扫描绑定设备","wifiAddHelp":"配置Wi-Fi","wifiAdd":"连接Wi-Fi","bindUserHelp":"ID-姓名绑定","bindUser":"绑定用户","userList":"用户列表"},"guide":{"footer":"指纹改变生活"},"login":{"telInputTip":"请输入手机号","passwordInputTip":"请输入密码","register":"快速注册","forgetPassword":"忘记密码","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":"稍后关注"},"opendoorRecord":{"noRecordTip":"暂无记录"},"alarmInfo":{"noInfoTip":"暂无信息"},"remoteOpendoor":{"passwordInputTip":"请输入远程开门密码","error":{}},"hijackRecord":{"noRecordTip":"暂无记录"},"doorlockManage":{"noDeviceTip":"暂无设备","deleteDialogTip":"<span>{0}</span>将被删除","logoutDialogTip":"确定要退出系统吗?"},"editName":{"nameInputTip":"请输入门锁名称","error":{}},"qrcode":{"helpTitle":"注意事项:","helpCont1":"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码","helpCont2":"2.二维码有效时间为10分钟且只能使用一次","helpCont3":"3.用户只需要扫描该二维码即可绑定指纹锁","helpCont4":"4.绑定失败则需要重新生成二维码进行绑定"},"addDevice":{"scanCodeAdd":"扫描绑定设备","wifiAdd":"配置Wi-Fi"},"wifiAddHelp":{"helpTitle":"配置Wi-Fi说明:","helpCont1":"1.按下指纹锁背面的按钮,进入主菜单,选择Wi-Fi设置→配置Wi-Fi,门锁进入等待配网状态","helpCont2":"2.点击页面 “开始配置Wi-Fi” 按钮,进入Wi-Fi配网画面","helpCont3":"3.输入Wi-Fi密码,点击 “l连接” 按钮,等待锁端相应,直至配网成功","helpCont4":"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"},"wifiAdd":{"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":{}},"userList":{"name":"姓名:{0}","id":"指纹ID:<span>{0}</span>密码ID:<span>{1}</span>IC卡ID:<span>{2}</span>","noUserTip":"暂无用户"},"commstatusLoading":{"connectSuccess":"Wi-Fi连接成功,正在绑定...","bindSuccess":"绑定成功","bindFailed":"绑定失败"}} {"loading":"loading...","scroll":{"clickToLoadMore":"点击加载更多","loading":"loading..."},"btn":{"confirm":"确定","guideLogin":"账号/密码登录","login":"登录","getCode":"获取验证码","register":"注册","logout":"退出系统","save":"保存","qrcode":"生成二维码","wifiAdd":"开始配置Wi-Fi","connect":"连接","bindUser":"绑定姓名","bind":"我要绑定","reBound":"请重新绑定","saveQRcode":"保存二维码到相册"},"dialog":{"confirm":"确认","cancel":"取消"},"title":{"login":"登录","register":"注册","forgetPassword":"忘记密码","device":"智能指纹锁","opendoorRecord":"开门记录","alarmInfo":"报警信息","remoteOpendoor":"远程开门","hijackRecord":"劫持记录","doorlockManage":"门锁管理","doorlockUsers":"门锁用户","editName":"修改名称","qrcode":"生成绑定二维码","addDevice":"添加设备","scanCodeAdd":"扫描绑定设备","wifiAddHelp":"配置Wi-Fi","wifiAdd":"连接Wi-Fi","bindUserHelp":"ID-姓名绑定","bindUser":"绑定用户","userList":"用户列表"},"guide":{"footer":"指纹改变生活"},"login":{"telInputTip":"请输入手机号","passwordInputTip":"请输入密码","register":"快速注册","forgetPassword":"忘记密码","error":{"telNull":"请输入手机号","passWordNull":"请输入密码"},"failure":"登陆失败"},"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":"门铃响了"},"opendoorRecord":{"noRecordTip":"暂无记录","passwordOpenDoor":"密码开门","fingerprintOpenDoor":"指纹开门","ICcardOpenDoor":"IC卡开门","remoteOpenDoor":"遥控器开门","keyOpenDoor":"钥匙开门","hijackingAlarm":"劫持报警","appRemoteOpenDoor":"app远程开门"},"alarmInfo":{"noInfoTip":"暂无信息","tamperAlarm":"防撬报警","trialAlarm":"试错报警","powerAlarm":"欠电报警","fackLockAlram":"假锁报警"},"remoteOpendoor":{"passwordInputTip":"请输入远程开门密码","openDoorSuccess":"远程开门成功","openDoorFailure":"远程开门失败","error":{"noPasswordTip":"远程密码不能为空"}},"hijackRecord":{"noRecordTip":"暂无记录","hijackingAlarm":"劫持指纹报警"},"doorlockManage":{"noDeviceTip":"暂无设备","deleteDialogTip":"<span>{0}</span>将被删除","logoutDialogTip":"确定要退出系统吗?","deleteSuccess":"删除成功","deleteFailue":"删除失败","defaultNickname":"门锁"},"editName":{"nameInputTip":"请输入门锁名称","editNameSuccess":"名字修改成功","editNameFailue":"名字修改失败","error":{"nameCanNotBeBlank":"昵称不能为空"}},"qrcode":{"helpTitle":"注意事项:","helpCont1":"1.仅超级管理员(通过Wi-Fi配网绑定的用户为超级管理员)可以生成绑定二维码","helpCont2":"2.二维码有效时间为10分钟且只能使用一次","helpCont3":"3.用户只需要扫描该二维码即可绑定指纹锁","helpCont4":"4.绑定失败则需要重新生成二维码进行绑定"},"addDevice":{"scanCodeAdd":"扫描绑定设备","wifiAdd":"配置Wi-Fi","bindSuccess":"绑定成功","bindFailue":"绑定失败"},"wifiAddHelp":{"helpTitle":"配置Wi-Fi说明:","helpCont1":"1.按下指纹锁背面的按钮,进入主菜单,选择Wi-Fi设置→配置Wi-Fi,门锁进入等待配网状态","helpCont2":"2.点击页面 “开始配置Wi-Fi” 按钮,进入Wi-Fi配网画面","helpCont3":"3.输入Wi-Fi密码,点击 “l连接” 按钮,等待锁端相应,直至配网成功","helpCont4":"(提示:如果指纹锁已经绑定过用户,重新绑定成功后会清除之前所有绑定信息)"},"wifiAdd":{"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":{}},"userList":{"name":"姓名:{0}","id":"指纹ID:<span>{0}</span>密码ID:<span>{1}</span>IC卡ID:<span>{2}</span>","noUserTip":"暂无用户"},"myInfo":{"editNickname":"修改昵称","editPassword":"修改密码"},"editNickname":{"nickNameInputTip":"请输入昵称"},"editPassword":{"newPasswordInputTip":"请输入新密码","oldPasswordInputTip":"请输入旧密码","oldPasswordInputTipAgain":"请再次输入旧密码"},"commstatusLoading":{"connectSuccess":"Wi-Fi连接成功,正在绑定...","bindSuccess":"绑定成功","bindFailed":"绑定失败"},"request":{"error":"请求发送失败"}}
\ No newline at end of file \ No newline at end of file
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<script type="text/javascript" src="../../lib/js/p.js"></script> <script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script> <script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head> </head>
<body ontouchstart="" class="noBottomGradient"> <body ontouchstart="">
<div id="app" v-cloak> <div id="app" v-cloak>
<div class="header"> <div class="header">
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<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.scanCodeAdd') }}</p> <p>{{ $t('title.scanCodeAdd') }}</p>
</div> </div>
<div class="content"> <div class="content" id="bcid" style="width: 100%; height: 560px; margin-top: 40px;">
</div> </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>
......
...@@ -41,11 +41,10 @@ ...@@ -41,11 +41,10 @@
</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-commstatus-loading ref="ucommstatusloading" :text="textLoading" :status="status" <u-comm-loading ref="ucommloading" :init-param="componentsConfig.ucommloading.initParam" v-on:u-comm-loading-tap="onCommLoadingButtonTap()">
:init-param="componentsConfig.ucommstatusloading.initParam" v-on:u-commstatus-loading-tap="onCommstatusLoadingButtonTap()">
<p class="loader"></p> <p class="loader"></p>
<p class="icon"></p> <p class="icon"></p>
</u-commstatus-loading> </u-comm-loading>
<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>
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<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 :init-param="componentsConfig.alarmInfoList.initParam"></u-list> <u-list ref="ulist" :init-param="componentsConfig.alarmInfoList.initParam" v-on:u-list-load-tap="onListLoadTap()"></u-list>
<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>
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<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 :init-param="componentsConfig.hijackRecordList.initParam"></u-list> <u-list ref="ulist" :init-param="componentsConfig.hijackRecordList.initParam" v-on:u-list-load-tap="onListLoadTap()"></u-list>
<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>
......
...@@ -18,10 +18,9 @@ ...@@ -18,10 +18,9 @@
<script type="text/javascript" src="../../lib/js/UIOT.js"></script> <script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head> </head>
<body ontouchstart=""> <body ontouchstart="">
<div id="app" v-cloak> <div id="app" v-cloak>
<div class="header"> <div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onDoorlockManageTap">&#xe66f;</v-touch> <v-touch tag="span" class="header-left icon" v-on:tap="onMyInfoTap()">&#xe66f;</v-touch>
<p>{{ $t('title.device') }}</p> <p>{{ $t('title.device') }}</p>
</div> </div>
<div class="content"> <div class="content">
...@@ -32,13 +31,13 @@ ...@@ -32,13 +31,13 @@
<p></p> <p></p>
</div> </div>
</div> </div>
<div class="doorbellTip"><span>17:30</span>门铃响了</div> <div class="doorbellTip" v-bind:class="[{active: doorbellRingingFlag}]"><span>{{ ringingTime }}</span>{{ $t('device.doorLockRinging') }}</div>
</div> </div>
<p class="batteryState"><span>&#xe629;</span>100%</p> <p class="batteryState"><span v-html="batteryState"></span>{{ batteryPercent }}%</p>
</div> </div>
<div class="deviceHandle"> <div class="deviceHandle">
<p class="title">门锁最新消息</p> <p class="title">{{ $t('device.newMsgDoorlock') }}</p>
<u-marquee :init-param="componentsConfig.marquee.initParam" :active="activeFlag"></u-marquee> <u-marquee ref="umarquee" :init-param="componentsConfig.marquee.initParam" :active="activeFlag"></u-marquee>
<div class="switchGroup"> <div class="switchGroup">
<div class="guoupRow"> <div class="guoupRow">
<!-- 开门记录 --> <!-- 开门记录 -->
...@@ -62,7 +61,7 @@ ...@@ -62,7 +61,7 @@
</div> </div>
<div class="guoupRow"> <div class="guoupRow">
<!-- 远程开门 --> <!-- 远程开门 -->
<div class="col-xs-6 remoteOpendoor"> <div class="col-xs-6 remoteOpendoor" :class="[{newMsg: remoteOpendoorFlag}]">
<u-switch :value="valueRemoteOpendoor" :init-param="componentsConfig.remoteOpendoorSwitch.initParam" v-on:u-switch-tap="onRemoteOpendoorTap"></u-switch> <u-switch :value="valueRemoteOpendoor" :init-param="componentsConfig.remoteOpendoorSwitch.initParam" v-on:u-switch-tap="onRemoteOpendoorTap"></u-switch>
</div> </div>
<!-- 门锁管理 --> <!-- 门锁管理 -->
...@@ -85,7 +84,7 @@ ...@@ -85,7 +84,7 @@
</li> </li>
</ul> </ul>
<u-button :init-param="componentsConfig.saveQRcodeButton.initParam" v-on:u-button-tap="onSaveQRcodeButtonTap"></u-button> <u-button :init-param="componentsConfig.saveQRcodeButton.initParam" v-on:u-button-tap="onSaveQRcodeButtonTap"></u-button>
<p class="linkText"><v-touch tag="span" v-on:tap="onLaterFollowTap">{{ $t('device.laterFollow') }}</v-touch></p> <v-touch tag="p" v-on:tap="onLaterFollowTap">{{ $t('device.laterFollow') }}</v-touch>
</div> </div>
</div> </div>
</transition> </transition>
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<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 :init-param="componentsConfig.opendoorRecordList.initParam"></u-list> <u-list ref="ulist" :init-param="componentsConfig.opendoorRecordList.initParam" v-on:u-list-load-tap="onListLoadTap()"></u-list>
<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>
......
...@@ -32,11 +32,6 @@ ...@@ -32,11 +32,6 @@
</div> </div>
<u-button :init-param="componentsConfig.confirmButton.initParam" v-on:u-button-tap="onConfirmButtonTap"></u-button> <u-button :init-param="componentsConfig.confirmButton.initParam" v-on:u-button-tap="onConfirmButtonTap"></u-button>
</div> </div>
<u-commstatus-loading ref="ucommstatusloading" :text="textLoading" :status="status"
:init-param="componentsConfig.ucommstatusloading.initParam" v-on:u-commstatus-loading-tap="onCommstatusLoadingButtonTap()">
<p class="loader"></p>
<p class="icon"></p>
</u-commstatus-loading>
<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>
......
@font-face {
font-family: 'defaultIconfont';
src: url('../../resources/font/defaultIconfont.ttf') format('truetype');
}
@font-face {
font-family: 'iconfont';
src: url('//at.alicdn.com/t/font_372681_ifeqlzhn1k9e8kt9.ttf') format('truetype');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
background-color: #242635;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom center;
}
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: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.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: uLoading 1s steps(12, end) infinite;
animation: uLoading 1s steps(12, end) infinite;
}
.u-loading .u-loading-box .u-loading-text {
color: #fff;
margin-top: 0.32rem;
text-align: center;
}
@-webkit-keyframes uLoading {
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 uLoading {
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);
}
}
.u-dialog {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1050;
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 .u-dialog-box {
width: 7.2rem;
height: 4rem;
border-radius: 0.133rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 2.667rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-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.48rem;
line-height: 0.587rem;
padding: 0 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
height: 0;
}
.custom-dialog .u-dialog-box .u-dialog-button {
border-spacing: 0.613rem 0;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
background-color: ;
padding: 0.213rem 0;
border-radius: 0.8rem;
}
.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: ;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel {
color: ;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
width: 0;
}
.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: #fff;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.133rem;
}
.header .header-right {
float: right;
padding-right: 0.133rem;
text-align: right;
}
.header .icon {
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.u-text {
width: 100%;
display: table;
position: relative;
}
.u-text input {
display: table-cell;
width: 100%;
border: 0;
outline: 0;
-webkit-appearance: none;
padding: 0.533rem 1.867rem 0.533rem 0.533rem;
background-color: transparent;
}
.u-text input[type=text] ~ .u-text-see {
color: #007aff;
}
.u-text .u-text-icon {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
width: 1.173rem;
padding-left: 0.453rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-icon ~ input {
padding-left: 0;
}
.u-text .u-text-title {
width: 1.92rem;
padding-left: 0.533rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-title ~ input {
padding-left: 0;
}
.u-text .u-text-clear,
.u-text .u-text-see {
position: absolute;
top: 0;
width: 0.8rem;
height: 100%;
}
.u-text .u-text-clear:before,
.u-text .u-text-see:before {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-text .u-text-clear {
right: 0.8rem;
}
.u-text .u-text-clear:before {
content: '\e724';
}
.u-text .u-text-see {
right: 0;
}
.u-text .u-text-see:before {
content: '\e73c';
}
.u-text:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
@media (max-height: 400px /*no*/) {
#app {
height: 17.253rem;
position: relative;
}
}
.u-button {
width: 6.4rem;
color: #fff;
font-size: inherit;
background-color: #007aff;
border-radius: 0.533rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.u-button:active {
background-color: #0065ff;
}
.u-button.disabled {
background-color: #bbb;
}
\ No newline at end of file
@font-face {
font-family: 'defaultIconfont';
src: url('../../resources/font/defaultIconfont.ttf') format('truetype');
}
@font-face {
font-family: 'iconfont';
src: url('//at.alicdn.com/t/font_372681_ifeqlzhn1k9e8kt9.ttf') format('truetype');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
background-color: #242635;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom center;
}
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: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.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: uLoading 1s steps(12, end) infinite;
animation: uLoading 1s steps(12, end) infinite;
}
.u-loading .u-loading-box .u-loading-text {
color: #fff;
margin-top: 0.32rem;
text-align: center;
}
@-webkit-keyframes uLoading {
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 uLoading {
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);
}
}
.u-dialog {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1050;
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 .u-dialog-box {
width: 7.2rem;
height: 4rem;
border-radius: 0.133rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 2.667rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-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.48rem;
line-height: 0.587rem;
padding: 0 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
height: 0;
}
.custom-dialog .u-dialog-box .u-dialog-button {
border-spacing: 0.613rem 0;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
background-color: ;
padding: 0.213rem 0;
border-radius: 0.8rem;
}
.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: ;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel {
color: ;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
width: 0;
}
.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: #fff;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.133rem;
}
.header .header-right {
float: right;
padding-right: 0.133rem;
text-align: right;
}
.header .icon {
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.u-text {
width: 100%;
display: table;
position: relative;
}
.u-text input {
display: table-cell;
width: 100%;
border: 0;
outline: 0;
-webkit-appearance: none;
padding: 0.533rem 1.867rem 0.533rem 0.533rem;
background-color: transparent;
}
.u-text input[type=text] ~ .u-text-see {
color: #007aff;
}
.u-text .u-text-icon {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
width: 1.173rem;
padding-left: 0.453rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-icon ~ input {
padding-left: 0;
}
.u-text .u-text-title {
width: 1.92rem;
padding-left: 0.533rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-title ~ input {
padding-left: 0;
}
.u-text .u-text-clear,
.u-text .u-text-see {
position: absolute;
top: 0;
width: 0.8rem;
height: 100%;
}
.u-text .u-text-clear:before,
.u-text .u-text-see:before {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-text .u-text-clear {
right: 0.8rem;
}
.u-text .u-text-clear:before {
content: '\e724';
}
.u-text .u-text-see {
right: 0;
}
.u-text .u-text-see:before {
content: '\e73c';
}
.u-text:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
@media (max-height: 400px /*no*/) {
#app {
height: 17.253rem;
position: relative;
}
}
.u-button {
width: 6.4rem;
color: #fff;
font-size: inherit;
background-color: #007aff;
border-radius: 0.533rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.u-button:active {
background-color: #0065ff;
}
.u-button.disabled {
background-color: #bbb;
}
\ No newline at end of file
@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');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
background-color: #242635;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom center;
}
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: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.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: uLoading 1s steps(12, end) infinite;
animation: uLoading 1s steps(12, end) infinite;
}
.u-loading .u-loading-box .u-loading-text {
color: #fff;
margin-top: 0.32rem;
text-align: center;
}
@-webkit-keyframes uLoading {
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 uLoading {
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);
}
}
.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: 9.467rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
padding-bottom: 0.933rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 3.733rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-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.48rem;
line-height: 0.587rem;
padding: 0 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content span {
margin-right: 0.32rem;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
display: none;
}
.custom-dialog .u-dialog-box .u-dialog-button {
display: block;
text-align: center;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
width: 3.6rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
padding: 0.267rem 0;
display: inline-block;
}
.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: #fff;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.133rem;
}
.header .header-right {
float: right;
padding-right: 0.133rem;
text-align: right;
}
.header .icon {
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.qrcodeHelp {
margin: 0.8rem 0.8rem 0;
}
.qrcodeHelp li {
color: #91929a;
font-size: 0.427rem;
padding-left: 0.32rem;
text-indent: -0.32rem;
line-height: 0.48rem;
margin-bottom: 0.747rem;
}
.qrcodeHelp li:first-child {
color: inherit;
font-size: 0.48rem;
margin-bottom: 0.48rem;
}
.qrcodeHelp li p {
width: 5.333rem;
height: 5.333rem;
margin: 0 auto;
border: 1px solid;
}
.u-button {
width: 6.4rem;
color: #fff;
font-size: inherit;
background-color: #007aff;
border-radius: 0.533rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.u-button:active {
background-color: #0065ff;
}
.u-button.disabled {
background-color: #bbb;
}
.custom-button {
width: 7.333rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
position: absolute;
bottom: 1.733rem;
left: 0;
right: 0;
}
.custom-button:active {
background-color: #153D4C;
}
.custom-button.disabled {
background-color: transparent;
color: #999;
}
.grid-list {
position: absolute;
top: 1.173rem;
bottom: 3.68rem;
left: 0;
width: 100%;
overflow: auto;
}
.grid-list-scroll .grid-list-row {
margin: 0.267rem;
border: 1px solid #00ffff;
border-radius: 0.133rem;
}
.grid-list-scroll .grid-list-row .grid-list-handle {
height: 1.493rem;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
padding: 0 0.32rem;
}
.grid-list-scroll .grid-list-row .grid-list-handle .grid-list-left-image {
width: 0.693rem;
height: 0.693rem;
margin-right: 0.133rem;
}
.grid-list-scroll .grid-list-row .grid-list-handle div {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
min-width: 0;
}
.grid-list-scroll .grid-list-row .grid-list-handle .grid-list-title {
font-size: 0.48rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.grid-list-scroll .grid-list-row .grid-list-handle .grid-list-right-icon {
font-family: iconfont;
font-size: 0.587rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.grid-list-scroll .grid-list-row .grid-list-handle:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.grid-list-scroll .grid-list-row .grid-list-content {
height: 1.12rem;
display: table;
width: 100%;
table-layout: fixed;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button {
display: table-cell;
vertical-align: middle;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button .grid-list-button-bg {
width: 0.8rem;
height: 0.8rem;
text-align: center;
color: #00ffff;
border: 1px solid;
border-radius: 50%;
font-family: iconfont;
font-size: 0.427rem;
-webkit-font-smoothing: antialiased;
line-height: 0.8rem;
display: inline-block;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(1) {
padding-left: 0.427rem;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(2) {
padding-left: 0.667rem;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(3) {
padding-left: 0.907rem;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(4) {
text-align: right;
padding-right: 0.427rem;
}
.grid-list-load {
color: #00ffff;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
height: 0.933rem;
line-height: 0.933rem;
text-align: center;
}
.grid-list-tip {
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 100%;
text-align: center;
color: #00ffff;
font-size: 0.48rem;
}
.u-text {
width: 100%;
display: table;
position: relative;
}
.u-text input {
display: table-cell;
width: 100%;
border: 0;
outline: 0;
-webkit-appearance: none;
padding: 0.533rem 1.867rem 0.533rem 0.533rem;
background-color: transparent;
}
.u-text input[type=text] ~ .u-text-see {
color: #007aff;
}
.u-text .u-text-icon {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
width: 1.12rem;
padding-left: 0.453rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-icon ~ input {
padding-left: 0;
}
.u-text .u-text-title {
width: 1.92rem;
padding-left: 0.533rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-title ~ input {
padding-left: 0;
}
.u-text .u-text-clear,
.u-text .u-text-see {
position: absolute;
top: 0;
width: 0.8rem;
height: 100%;
}
.u-text .u-text-clear:before,
.u-text .u-text-see:before {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-text .u-text-clear {
right: 0.8rem;
}
.u-text .u-text-clear:before {
content: '\e724';
}
.u-text .u-text-see {
right: 0;
}
.u-text .u-text-see:before {
content: '\e73c';
}
.u-text:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
@media (max-height: 400px /*no*/) {
#app {
height: 17.253rem;
position: relative;
}
}
.custom-editName-text input {
font-size: 0.48rem;
padding-left: 1.227rem;
}
.custom-editName-text input::-webkit-input-placeholder {
color: #91929a;
}
.custom-editName-text .u-text-clear {
right: 1.093rem;
}
.custom-editName-text .u-text-clear:before {
content: '\e601';
font-family: iconfont;
color: #00ffff;
font-size: 0.533rem;
}
.custom-editName-text:after {
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.errorTip {
color: #fc2168;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
text-align: center;
height: 1.067rem;
line-height: 1.067rem;
}
\ No newline at end of file
@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');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
background-color: #242635;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom center;
}
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: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.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: uLoading 1s steps(12, end) infinite;
animation: uLoading 1s steps(12, end) infinite;
}
.u-loading .u-loading-box .u-loading-text {
color: #fff;
margin-top: 0.32rem;
text-align: center;
}
@-webkit-keyframes uLoading {
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 uLoading {
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);
}
}
.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: 9.467rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
padding-bottom: 0.933rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 3.733rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-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.48rem;
line-height: 0.587rem;
padding: 0 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content span {
margin-right: 0.32rem;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
display: none;
}
.custom-dialog .u-dialog-box .u-dialog-button {
display: block;
text-align: center;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
width: 3.6rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
padding: 0.267rem 0;
display: inline-block;
}
.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: #fff;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.133rem;
}
.header .header-right {
float: right;
padding-right: 0.133rem;
text-align: right;
}
.header .icon {
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.qrcodeHelp {
margin: 0.8rem 0.8rem 0;
}
.qrcodeHelp li {
color: #91929a;
font-size: 0.427rem;
padding-left: 0.32rem;
text-indent: -0.32rem;
line-height: 0.48rem;
margin-bottom: 0.747rem;
}
.qrcodeHelp li:first-child {
color: inherit;
font-size: 0.48rem;
margin-bottom: 0.48rem;
}
.qrcodeHelp li p {
width: 5.333rem;
height: 5.333rem;
margin: 0 auto;
border: 1px solid;
}
.u-button {
width: 6.4rem;
color: #fff;
font-size: inherit;
background-color: #007aff;
border-radius: 0.533rem;
text-align: center;
line-height: 1;
margin: 0 auto;
padding: 0.267rem 0;
-webkit-transition: all 0.2s linear;
transition: all 0.2s linear;
background-clip: padding-box;
}
.u-button:active {
background-color: #0065ff;
}
.u-button.disabled {
background-color: #bbb;
}
.custom-button {
width: 7.333rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
position: absolute;
bottom: 1.733rem;
left: 0;
right: 0;
}
.custom-button:active {
background-color: #153D4C;
}
.custom-button.disabled {
background-color: transparent;
color: #999;
}
.grid-list {
position: absolute;
top: 1.173rem;
bottom: 3.68rem;
left: 0;
width: 100%;
overflow: auto;
}
.grid-list-scroll .grid-list-row {
margin: 0.267rem;
border: 1px solid #00ffff;
border-radius: 0.133rem;
}
.grid-list-scroll .grid-list-row .grid-list-handle {
height: 1.493rem;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
padding: 0 0.32rem;
}
.grid-list-scroll .grid-list-row .grid-list-handle .grid-list-left-image {
width: 0.693rem;
height: 0.693rem;
margin-right: 0.133rem;
}
.grid-list-scroll .grid-list-row .grid-list-handle div {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
min-width: 0;
}
.grid-list-scroll .grid-list-row .grid-list-handle .grid-list-title {
font-size: 0.48rem;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.grid-list-scroll .grid-list-row .grid-list-handle .grid-list-right-icon {
font-family: iconfont;
font-size: 0.587rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.grid-list-scroll .grid-list-row .grid-list-handle:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.grid-list-scroll .grid-list-row .grid-list-content {
height: 1.12rem;
display: table;
width: 100%;
table-layout: fixed;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button {
display: table-cell;
vertical-align: middle;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button .grid-list-button-bg {
width: 0.8rem;
height: 0.8rem;
text-align: center;
color: #00ffff;
border: 1px solid;
border-radius: 50%;
font-family: iconfont;
font-size: 0.427rem;
-webkit-font-smoothing: antialiased;
line-height: 0.8rem;
display: inline-block;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(1) {
padding-left: 0.427rem;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(2) {
padding-left: 0.667rem;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(3) {
padding-left: 0.907rem;
}
.grid-list-scroll .grid-list-row .grid-list-content .grid-list-button:nth-child(4) {
text-align: right;
padding-right: 0.427rem;
}
.grid-list-load {
color: #00ffff;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
height: 0.933rem;
line-height: 0.933rem;
text-align: center;
}
.grid-list-tip {
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 100%;
text-align: center;
color: #00ffff;
font-size: 0.48rem;
}
.u-text {
width: 100%;
display: table;
position: relative;
}
.u-text input {
display: table-cell;
width: 100%;
border: 0;
outline: 0;
-webkit-appearance: none;
padding: 0.533rem 1.867rem 0.533rem 0.533rem;
background-color: transparent;
}
.u-text input[type=text] ~ .u-text-see {
color: #007aff;
}
.u-text .u-text-icon {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
width: 1.12rem;
padding-left: 0.453rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-icon ~ input {
padding-left: 0;
}
.u-text .u-text-title {
width: 1.92rem;
padding-left: 0.533rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-title ~ input {
padding-left: 0;
}
.u-text .u-text-clear,
.u-text .u-text-see {
position: absolute;
top: 0;
width: 0.8rem;
height: 100%;
}
.u-text .u-text-clear:before,
.u-text .u-text-see:before {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-text .u-text-clear {
right: 0.8rem;
}
.u-text .u-text-clear:before {
content: '\e724';
}
.u-text .u-text-see {
right: 0;
}
.u-text .u-text-see:before {
content: '\e73c';
}
.u-text:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
@media (max-height: 400px /*no*/) {
#app {
height: 17.253rem;
position: relative;
}
}
.custom-editName-text input {
font-size: 0.48rem;
padding-left: 1.227rem;
}
.custom-editName-text input::-webkit-input-placeholder {
color: #91929a;
}
.custom-editName-text .u-text-clear {
right: 1.093rem;
}
.custom-editName-text .u-text-clear:before {
content: '\e601';
font-family: iconfont;
color: #00ffff;
font-size: 0.533rem;
}
.custom-editName-text:after {
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.errorTip {
color: #fc2168;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
text-align: center;
height: 1.067rem;
line-height: 1.067rem;
}
\ No newline at end of file
...@@ -32,7 +32,9 @@ ...@@ -32,7 +32,9 @@
<li>{{ $t('qrcode.helpCont3') }}</li> <li>{{ $t('qrcode.helpCont3') }}</li>
<li>{{ $t('qrcode.helpCont4') }}</li> <li>{{ $t('qrcode.helpCont4') }}</li>
<li> <li>
<p></p> <p>
<canvas ref="qrcode"></canvas>
</p>
</li> </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>
......
@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');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
background-color: #242635;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom center;
}
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: 9.467rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
padding-bottom: 0.933rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 3.733rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-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.48rem;
line-height: 0.587rem;
padding: 0 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content span {
margin-right: 0.32rem;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
display: none;
}
.custom-dialog .u-dialog-box .u-dialog-button {
display: block;
text-align: center;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
width: 3.6rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
padding: 0.267rem 0;
display: inline-block;
}
.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: #fff;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.133rem;
}
.header .header-right {
float: right;
padding-right: 0.133rem;
text-align: right;
}
.header .icon {
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.user-list {
width: 100%;
height: 100%;
overflow: auto;
position: absolute;
top: 1.173rem;
bottom: 0;
left: 0;
height: auto;
}
.user-list-scroll .user-list-row {
position: relative;
overflow: hidden;
}
.user-list-scroll .user-list-row .user-list-handle {
position: relative;
-webkit-transition: left 0.4s ease;
transition: left 0.4s ease;
left: 0;
background-color: #242635;
padding: 0.4rem 0.533rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
z-index: 2;
}
.user-list-scroll .user-list-row .user-list-handle .user-list-image {
width: 1.333rem;
height: 1.333rem;
margin-right: 0.267rem;
}
.user-list-scroll .user-list-row .user-list-handle .user-list-icon {
margin-right: 0.267rem;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.user-list-scroll .user-list-row .user-list-handle div {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
min-width: 0;
}
.user-list-scroll .user-list-row .user-list-handle .user-list-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.user-list-scroll .user-list-row .user-list-handle .user-sub-image {
width: 0.453rem;
height: 0.453rem;
}
.user-list-scroll .user-list-row .user-list-handle .user-list-subtitle {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: inline-block;
}
.user-list-scroll .user-list-row .user-list-handle.user-list-selected {
left: -3.2rem;
}
.user-list-scroll .user-list-row .user-list-handle:after {
content: "\e611";
display: block;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.user-list-scroll .user-list-row .user-list-button {
position: absolute;
top: 0;
bottom: 0;
right: 0;
z-index: 1;
}
.user-list-scroll .user-list-row .user-list-button div {
width: 1.6rem;
height: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
color: #fff;
float: left;
}
.user-list-scroll .user-list-row .user-list-button div:nth-last-of-type(1) {
background-color: transparent;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
color: #00FFFF;
}
.user-list-scroll .user-list-row:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
z-index: 2;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<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="./doorlockUsers.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
<div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.doorlockUsers') }}</p>
<v-touch tag="span" class="header-right icon" v-on:tap="onUserTap">&#xe600;</v-touch>
</div>
<div class="user-list">
<ul class="user-list-scroll" v-show="userList.length">
<v-touch tag="li" class="user-list-row" v-for="(item, index) in userList" :key="index"
v-on:swipeleft="onSwipeLeftRow(index)"
v-on:swiperight="onSwipeRightRow"
v-bind:swipe-options="{direction: 'horizontal'}">
<v-touch tag="div" class="user-list-handle"
v-bind:class="{'user-list-selected': (index == userListIndex)}"
v-on:tap="onTapUserList(index)">
<img class="user-list-image" v-if="item.image && item.role == 0" v-bind:src="item.image">
<div>
<p class="user-list-title">{{ item.title }}</p>
<p class="user-list-subtitle">
<img class="user-sub-image" v-if="item.image && item.role != 0" v-bind:src="item.image">
{{ item.subtitle }}
</p>
</div>
</v-touch>
<div class="user-list-button">
<v-touch tag="div" v-on:tap="onTapButton(index)">
&#xe66d;
</v-touch>
</div>
</v-touch>
<v-touch tag="li" class="user-list-load" v-on:tap="onTapLoad" v-show="loadShowFlag">{{ loadText }}
</ul>
<p class="user-list-tip" v-show="(userList.length == 0)">{{ tip }}</p>
</div>
</div>
<script type="text/javascript" src="./index.js" defer async></script>
</body>
</html>
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
</div> </div>
<div class="content"> <div class="content">
<div class="inputBox"> <div class="inputBox">
<p class="logo"></p>
<u-text :init-param="componentsConfig.telInput.initParam" :text="numberTel" <u-text :init-param="componentsConfig.telInput.initParam" :text="numberTel"
v-on:u-text-change="onTelChange(arguments[0])"></u-text> v-on:u-text-change="onTelChange(arguments[0])"></u-text>
<div class="code"> <div class="code">
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
</div> </div>
<div class="content"> <div class="content">
<div class="inputBox"> <div class="inputBox">
<u-text :init-param="componentsConfig.telInput.initParam" :text="numberTel" <u-text :init-param="componentsConfig.telInput.initParam" :text="numberTel"
v-on:u-text-change="onTelChange(arguments[0])"></u-text> v-on:u-text-change="onTelChange(arguments[0])"></u-text>
<u-text :init-param="componentsConfig.passwordInput.initParam" :text="textPassword" <u-text :init-param="componentsConfig.passwordInput.initParam" :text="textPassword"
......
<!DOCTYPE html>
<html>
<head>
<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="./myInfo.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
<div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.doorlockUsers') }}</p>
<v-touch tag="span" class="header-right" v-on:tap="onSaveTap">{{ $t('btn.save') }}</v-touch>
</div>
<div class="content">
<u-text :init-param="componentsConfig.nameInput.initParam" :text="textNickName"
v-on:u-text-change="onNicknameChange(arguments[0])"></u-text>
<p class="errorTip" v-if="textErrorTip">{{ textErrorTip }}</p>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div>
</div>
<script type="text/javascript" src="./editNickname.js" defer async></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<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="./myInfo.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
<div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.doorlockUsers') }}</p>
<v-touch tag="span" class="header-right" v-on:tap="onSaveTap">{{ $t('btn.save') }}</v-touch>
</div>
<div class="content">
<u-text :init-param="componentsConfig.newPassword.initParam" :text="textNewPassword"
v-on:u-text-change="onNewPasswordChange(arguments[0])"></u-text>
<u-text :init-param="componentsConfig.oldPassword.initParam" :text="textOldPassword"
v-on:u-text-change="onOldPasswordChange(arguments[0])"></u-text>
<u-text :init-param="componentsConfig.oldPasswordAgain.initParam" :text="textOldPasswordAgain"
v-on:u-text-change="onOldPasswordAgainChange(arguments[0])"></u-text>
<p class="errorTip" v-if="textErrorTip">{{ textErrorTip }}</p>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div>
</div>
<script type="text/javascript" src="./editPassword.js" defer async></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<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="./myInfo.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
<div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.doorlockUsers') }}</p>
</div>
<ul class="editMyInfo">
<v-touch tag="li" class="editNickname" v-on:tap="onEditNicknameTap">
{{ $t('myInfo.editNickname') }}
<span>&#xe611;</span><span>{{ nickname }}</span>
</v-touch>
<v-touch tag="li" class="editPassword" v-on:tap="onEditPasswordTap">
{{ $t('myInfo.editPassword') }}
<span>&#xe611;</span><span>&#xe655;</span>
</v-touch>
</ul>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div>
<script type="text/javascript" src="./index.js" defer async></script>
</body>
</html>
@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');
}
html,
body {
width: 100%;
height: 100%;
}
body {
-webkit-user-select: none;
user-select: none;
color: #fff;
font-size: 0.373rem;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
background-color: #242635;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
background-repeat: no-repeat;
background-position: bottom center;
}
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: 9.467rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
padding-bottom: 0.933rem;
}
.custom-dialog .u-dialog-box .u-dialog-content {
width: 100%;
height: 3.733rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-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.48rem;
line-height: 0.587rem;
padding: 0 0.4rem;
}
.custom-dialog .u-dialog-box .u-dialog-content span {
margin-right: 0.32rem;
}
.custom-dialog .u-dialog-box .u-dialog-content:after {
display: none;
}
.custom-dialog .u-dialog-box .u-dialog-button {
display: block;
text-align: center;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm {
width: 3.6rem;
border-radius: 0.133rem;
background-color: transparent;
border: 1px solid;
color: #00ffff;
font-size: 0.427rem;
padding: 0.267rem 0;
display: inline-block;
}
.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: #fff;
width: 1.467rem;
line-height: 1.173rem;
display: block;
}
.header span:active {
opacity: 0.5;
}
.header .header-left {
float: left;
padding-left: 0.133rem;
}
.header .header-right {
float: right;
padding-right: 0.133rem;
text-align: right;
}
.header .icon {
font-family: iconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1.173rem;
}
.header ~ .content {
padding-top: 1.173rem;
}
.u-text {
width: 100%;
display: table;
position: relative;
}
.u-text input {
display: table-cell;
width: 100%;
border: 0;
outline: 0;
-webkit-appearance: none;
padding: 0.533rem 1.867rem 0.533rem 0.533rem;
background-color: transparent;
}
.u-text input[type=text] ~ .u-text-see {
color: #007aff;
}
.u-text .u-text-icon {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
width: 1.12rem;
padding-left: 0.453rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-icon ~ input {
padding-left: 0;
}
.u-text .u-text-title {
width: 1.92rem;
padding-left: 0.533rem;
display: table-cell;
vertical-align: middle;
}
.u-text .u-text-title ~ input {
padding-left: 0;
}
.u-text .u-text-clear,
.u-text .u-text-see {
position: absolute;
top: 0;
width: 0.8rem;
height: 100%;
}
.u-text .u-text-clear:before,
.u-text .u-text-see:before {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-text .u-text-clear {
right: 0.8rem;
}
.u-text .u-text-clear:before {
content: '\e724';
}
.u-text .u-text-see {
right: 0;
}
.u-text .u-text-see:before {
content: '\e73c';
}
.u-text:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
@media (max-height: 400px /*no*/) {
#app {
height: 17.253rem;
position: relative;
}
}
.custom-editNickname-text input,
.custom-editPassword-text input {
font-size: 0.48rem;
padding-left: 1.227rem;
}
.custom-editNickname-text input::-webkit-input-placeholder,
.custom-editPassword-text input::-webkit-input-placeholder {
color: #91929a;
}
.custom-editNickname-text .u-text-clear,
.custom-editPassword-text .u-text-clear {
right: 1.093rem;
}
.custom-editNickname-text .u-text-clear:before,
.custom-editPassword-text .u-text-clear:before {
content: '\e601';
font-family: iconfont;
color: #00ffff;
font-size: 0.533rem;
}
.custom-editNickname-text:after,
.custom-editPassword-text:after {
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.editMyInfo {
position: absolute;
top: 1.173rem;
bottom: 0;
left: 0;
height: auto;
width: 100%;
}
.editMyInfo li {
width: 100%;
height: 1.467rem;
position: relative;
line-height: 1.467rem;
padding: 0 1.147rem;
}
.editMyInfo li:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.editMyInfo li span:first-child {
float: right;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.editMyInfo li span:last-child {
font-size: 0.32rem;
float: right;
}
.editMyInfo .editPassword span:nth-child(2) {
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
}
.errorTip {
color: #fc2168;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
text-align: center;
height: 1.067rem;
line-height: 1.067rem;
}
\ No newline at end of file
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