Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
DoorLock
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
朱建香
DoorLock
Commits
824c0d85
Commit
824c0d85
authored
Jan 23, 2018
by
wjd
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'zjx' into 'test/96'
Zjx See merge request iot-project-js/doorlock!18
parents
341e1778
51b2aef1
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
338 additions
and
80 deletions
+338
-80
dev/src/lang/en.json
+8
-5
dev/src/lang/zh.json
+8
-5
dev/src/public/config.js
+5
-2
dev/src/public/defaultConfig.js
+5
-2
dev/src/public/public.js
+2
-2
dev/src/view/addDevice/v_scanCodeAdd.js
+6
-3
dev/src/view/addDevice/v_wifiAdd.js
+71
-11
dev/src/view/device/v_index.js
+158
-49
web/lib/less/addDevice/addDevice.less
+37
-0
web/view/addDevice/addDevice.css
+33
-0
web/view/addDevice/wifiAdd.html
+3
-0
web/view/device/index.html
+2
-1
No files found.
dev/src/lang/en.json
View file @
824c0d85
...
...
@@ -141,6 +141,8 @@
"openDoorFailure"
:
"远程开门失败"
,
"remoteTimeout"
:
"远程开门超时"
,
"remoteOpendoorAgain"
:
"请尝试重试"
,
"offlineTip"
:
"设备已离线,收到远程开门请求后,请尽快处理"
,
"textlengthTip"
:
"密码长度为6~12位数字"
,
"error"
:
{
"noPasswordTip"
:
"远程密码不能为空"
}
...
...
@@ -193,9 +195,9 @@
},
"wifiAdd"
:
{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"
配网中
"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备"
,
"wifiBinding"
:
"
正在连接网络...
"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备
...
"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备
...
"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
...
...
@@ -204,6 +206,7 @@
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"noticeTip"
:
"检测到您还未开启通知,将无法及时<br>接收安全推送"
,
"countDownText"
:
"{0}s"
,
"error"
:
{
}
...
...
@@ -241,7 +244,7 @@
"unbind"
:
"未绑定"
},
"addUser"
:{
"nameInputTip"
:
"请
输入您想添加的用户名
"
,
"nameInputTip"
:
"请
为门锁用户创建显示昵称
"
,
"addUserSuccess"
:
"添加用户成功"
,
"addUserFailure"
:
"添加用户失败"
,
"error"
:
{
...
...
@@ -284,7 +287,7 @@
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
"noInfoTip"
:
"
当前无绑定开锁ID,请添加
"
,
"noInfoTip"
:
"
尚未关联开锁信息
"
,
"passwordOpenDoor"
:
"密码"
,
"fingerprintOpenDoor"
:
"指纹"
,
"ICcardOpenDoor"
:
"IC卡"
,
...
...
dev/src/lang/zh.json
View file @
824c0d85
...
...
@@ -141,6 +141,8 @@
"openDoorFailure"
:
"远程开门失败"
,
"remoteTimeout"
:
"远程开门超时"
,
"remoteOpendoorAgain"
:
"请尝试重试"
,
"offlineTip"
:
"设备已离线,收到远程开门请求后,请尽快处理"
,
"textlengthTip"
:
"密码长度为6~12位数字"
,
"error"
:
{
"noPasswordTip"
:
"远程密码不能为空"
}
...
...
@@ -193,9 +195,9 @@
},
"wifiAdd"
:
{
"unbindWifiTip"
:
"当前无Wi-Fi"
,
"wifiBinding"
:
"
配网中
"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备"
,
"wifiBinding"
:
"
正在连接网络...
"
,
"wifiBindSuccess"
:
"Wi-Fi连接成功,正在激活设备
...
"
,
"deviceActivating"
:
"Wi-Fi连接成功,正在激活设备
...
"
,
"deviceActivateSuccess"
:
"激活成功"
,
"deviceActivateFailure"
:
"激活失败"
,
"bindTimeout"
:
"连接超时"
,
...
...
@@ -204,6 +206,7 @@
"remindCont1"
:
"1. 请确保Wi-Fi信号良好"
,
"remindCont2"
:
"2. 本产品暂不支持5GHz无线网络"
,
"noticeTip"
:
"检测到您还未开启通知,将无法及时<br>接收安全推送"
,
"countDownText"
:
"{0}s"
,
"error"
:
{
}
...
...
@@ -241,7 +244,7 @@
"unbind"
:
"未绑定"
},
"addUser"
:{
"nameInputTip"
:
"请
输入您想添加的用户名
"
,
"nameInputTip"
:
"请
为门锁用户创建显示昵称
"
,
"addUserSuccess"
:
"添加用户成功"
,
"addUserFailure"
:
"添加用户失败"
,
"error"
:
{
...
...
@@ -284,7 +287,7 @@
},
"unlockInfo"
:{
"bindUnlockInfo"
:
"已关联的开锁信息"
,
"noInfoTip"
:
"
当前无绑定开锁ID,请添加
"
,
"noInfoTip"
:
"
尚未关联开锁信息
"
,
"passwordOpenDoor"
:
"密码"
,
"fingerprintOpenDoor"
:
"指纹"
,
"ICcardOpenDoor"
:
"IC卡"
,
...
...
dev/src/public/config.js
View file @
824c0d85
...
...
@@ -27,13 +27,15 @@ export default {
"model"
:
"USMARTLOCK_SECURITY_SMARTDOOR_SMART_LOCK"
,
"GET_MSG_INTERVAL"
:
5000
,
"wifi_add_timeout"
:
150000
,
"add_wifi_timeout"
:
60
,
"active_device_timeout"
:
30
,
//门铃晃动间隔时间
"await_time"
:
3000
,
//门铃晃动次数
"shake_times"
:
3
,
//门锁晃动总时间
"ring_time"
:
12000
,
"remote_opendoor_timeout"
:
30
000
,
"remote_opendoor_timeout"
:
15
000
,
//二维码失效时间
"qrcode_timeout"
:
600000
,
"remote_timeout"
:
120
,
...
...
@@ -41,7 +43,8 @@ export default {
"maxlength"
:
16
},
"password"
:{
"maxlength"
:
6
"maxlength"
:
12
,
"minlength"
:
6
},
"ringBell_timeout"
:
300
,
"intervalTime"
:
3
,
...
...
dev/src/public/defaultConfig.js
View file @
824c0d85
export
default
{
"url"
:
"http://192.168.2.96:20000"
,
"model"
:
"USMARTLOCK_SECURITY_SMARTDOOR_SMART_LOCK"
"url"
:
"https://cloud.iot.u-gen.net/"
,
// "url": "http://192.168.2.96:20000",
"model"
:
"UGEN_SECURITY_SMARTDOOR_YJ2017"
// "model": "USMARTLOCK_SECURITY_SMARTDOOR_SMART_LOCK"
}
\ No newline at end of file
dev/src/public/public.js
View file @
824c0d85
...
...
@@ -12,8 +12,8 @@ const iot = new UIOT({
lang
:
[
'zh'
,
'en'
],
vue
:
Vue
,
i18n
:
VueI18n
,
appId
:
'
1
0004'
,
appSecret
:
'
1
0004'
,
appId
:
'
2
0004'
,
appSecret
:
'
2
0004'
,
wx
:
{
appId
:
''
},
...
...
dev/src/view/addDevice/v_scanCodeAdd.js
View file @
824c0d85
...
...
@@ -39,6 +39,9 @@ function init() {
self
.
noticeTipShowFlag
=
!
iot
.
native
.
isNotifycationOpen
();
scanCodeSuccess
(
self
);
});
plus
.
key
.
addEventListener
(
'backbutton'
,
function
(){
iot
.
utils
.
closeScanBarcode
(
self
.
barcode
);
},
false
);
},
methods
:{
//tap <
...
...
@@ -73,9 +76,8 @@ function initComponentsConfig() {
//tap <
function
backTap
(
self
){
iot
.
navigator
.
back
();
console
.
log
(
self
.
barcode
);
iot
.
utils
.
closeScanBarcode
(
self
.
barcode
);
iot
.
navigator
.
aback
();
}
function
openScanCode
(
self
){
...
...
@@ -246,7 +248,8 @@ function scanCodeFailue(self){
"class"
:
'custom-process-button'
,
'text'
:
Vue
.
t
(
'addDevice.reBindDevice'
),
'callback'
:
()
=>
{
//激活失败
uComponents
.
hideProcess
(
self
);
uComponents
.
showProcess
(
self
,
0
,
Vue
.
t
(
'addDevice.loading'
));
iot
.
utils
.
closeScanBarcode
(
self
.
barcode
);
// uComponents.showProcess(self, 0, Vue.t('addDevice.loading'));
openScanCode
(
self
);
}
}]);
...
...
dev/src/view/addDevice/v_wifiAdd.js
View file @
824c0d85
...
...
@@ -24,7 +24,11 @@ function init() {
//配置组件
componentsConfig
:
initComponentsConfig
(),
noticeTipShowFlag
:
false
,
timeout
:
null
timeout
:
null
,
countDownText
:
config
.
add_wifi_timeout
,
wifiAddSuccess
:
false
,
activeSuccess
:
false
,
activing
:
false
},
mounted
(){
resolve
(
this
);
...
...
@@ -148,6 +152,23 @@ function backTap(){
//tap 连接
function
connectButtonTap
(
self
){
self
.
countDownText
=
config
.
add_wifi_timeout
;
self
.
activing
=
false
;
let
countDown
=
setInterval
(()
=>
{
self
.
countDownText
--
;
if
((
self
.
countDownText
<=
0
)
&&
(
self
.
wifiAddSuccess
==
false
)){
window
.
clearInterval
(
countDown
);
addFailue
(
self
);
// iot.business.sds.stopFindWIFI({
// success: (response) => {},
// error: (error) => {}
// });
iot
.
business
.
sds
.
stopFindDevices
({
success
:
(
response
)
=>
{},
error
:
(
error
)
=>
{}
});
}
},
1000
);
if
(
self
.
getTextWiFiName
()
==
null
||
self
.
getTextWiFiName
().
trim
()
==
''
){
self
.
setTextErrorTip
(
Vue
.
t
(
'wifiAdd.unbindWifiTip'
));
}
else
if
(
self
.
getTextPassword
()
==
null
||
self
.
getTextPassword
().
trim
()
==
''
){
...
...
@@ -204,6 +225,7 @@ function connectButtonTap(self){
iot
.
business
.
sds
.
findDevices
({
success
:
(
response
)
=>
{
console
.
log
(
'findDevices'
);
console
.
log
(
response
);
if
(
window
.
iotDebug
){
iotDebug
.
push
(
'end: 找设备'
+
JSON
.
stringify
(
response
));
}
...
...
@@ -218,6 +240,23 @@ function connectButtonTap(self){
if
(
window
.
iotDebug
)
{
iotDebug
.
upload
(
iot
,
'激活中'
);
}
self
.
wifiAddSuccess
=
true
;
if
(
self
.
activing
==
false
){
self
.
countDownText
=
config
.
active_device_timeout
;
window
.
clearInterval
(
countDown
);
countDown
=
setInterval
(()
=>
{
self
.
countDownText
--
;
if
((
self
.
countDownText
<=
0
)
&&
(
self
.
activeSuccess
==
false
)){
window
.
clearInterval
(
countDown
);
addFailue
(
self
);
iot
.
business
.
sds
.
stopFindDevices
({
success
:
(
response
)
=>
{},
error
:
(
error
)
=>
{}
});
}
},
1000
);
self
.
activing
=
true
;
}
uComponents
.
showProcess
(
self
,
0
,
Vue
.
t
(
'wifiAdd.deviceActivating'
));
}
else
if
(
response
.
data
==
"joined success"
){
if
(
window
.
iotDebug
){
...
...
@@ -227,7 +266,27 @@ function connectButtonTap(self){
iotDebug
.
upload
(
iot
,
'激活成功'
);
}
let
deviceId
=
response
.
info
.
sn
;
unbind
(
self
,
deviceId
,
productId
);
// unbind(self, deviceId, productId);
bind
(
self
,
deviceId
,
productId
);
iot
.
business
.
sds
.
setDeviceStatus
({
data
:
{
uuid
:
response
.
info
.
uuid
,
setParams
:
{
'action'
:
{
'value'
:
'regiserSuccess'
}
}
},
success
:
(
response
)
=>
{
//激活成功
console
.
log
(
response
);
},
error
:
(
error
)
=>
{
console
.
log
(
error
);
uPublic
.
openRequestErrorAlert
(
self
);
},
complete
(){}
});
}
else
if
(
response
.
data
==
"fail"
){
//连接失败
if
(
window
.
iotDebug
){
...
...
@@ -256,15 +315,15 @@ function connectButtonTap(self){
}
});
}
self
.
timeout
=
setTimeout
(
function
(){
console
.
log
(
"timeout"
);
window
.
clearTimeout
(
self
.
timeout
);
addFailue
(
self
);
iot
.
business
.
sds
.
stopFindDevices
({
success
:
(
response
)
=>
{},
error
:
(
error
)
=>
{}
});
},
config
.
wifi_add_timeout
);
//
self.timeout = setTimeout(function (){
//
console.log("timeout");
//
window.clearTimeout(self.timeout);
//
addFailue(self);
//
iot.business.sds.stopFindDevices({
//
success: (response) => {},
//
error: (error) => {}
//
});
//
},config.wifi_add_timeout);
}
//云端绑定之前先解绑
...
...
@@ -313,6 +372,7 @@ function bind(self, deviceId, productId){
let
data
=
response
.
data
;
if
(
data
.
success
){
addSuccess
(
self
);
self
.
activeSuccess
=
true
;
}
if
(
window
.
iotDebug
){
iotDebug
.
push
(
'end: 绑定成功'
+
JSON
.
stringify
(
response
));
...
...
dev/src/view/device/v_index.js
View file @
824c0d85
...
...
@@ -15,6 +15,8 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
import
uloop
from
'../../public/uloop.js'
;
import
unotify
from
'../../public/unotify.js'
;
const
ON_LINE
=
'on'
;
const
OFF_LINE
=
'off'
;
iot
.
ready
(
init
);
function
init
()
{
uPublic
.
closeSlideBack
();
...
...
@@ -89,7 +91,7 @@ function init() {
//最新消息
newMsg
:
[],
//是否第一次获取门锁信息
isFirstGetLockInfo
:
true
,
//
isFirstGetLockInfo: true,
opendoorRecordFlag
:
false
,
securityAlarmFlag
:
false
,
hijackAlarmFlag
:
false
,
...
...
@@ -107,7 +109,8 @@ function init() {
//门铃总计时器
timeout
:
null
,
//远程开门计时器
remoteTime
:
null
remoteTime
:
null
,
boolPasswordMinlength
:
false
},
mounted
(){
//显示loading
...
...
@@ -117,7 +120,7 @@ function init() {
//获取设备信息
getDevices
(
this
);
//注册监听上报
registerPushListener
(
this
);
//
registerPushListener(this);
unotify
.
getCid
((
response
)
=>
{
console
.
log
(
response
);
},(
error
)
=>
{
...
...
@@ -129,12 +132,18 @@ function init() {
//获取设备信息
getDevices
(
self
);
//注册监听上报
registerPushListener
(
self
);
//
registerPushListener(self);
if
(
event
.
detail
.
needClose
){
iot
.
navigator
.
closeAllBesidesItself
();
}
});
// ringBell(self);
// setTimeout(() => {
// ringBell(self);
// setTimeout(() =>{
// ringBell(self);
// },1000);
// },1000);
},
methods
:{
setValueRemoteOpendoor
(
value
){
...
...
@@ -224,12 +233,12 @@ function init() {
setUuid
(){
this
.
uuid
=
id
;
},
getIsFirstGetLockInfo
(){
return
this
.
isFirstGetLockInfo
;
},
setIsFirstGetLockInfo
(
flag
){
this
.
isFirstGetLockInfo
=
flag
},
//
getIsFirstGetLockInfo(){
//
return this.isFirstGetLockInfo;
//
},
//
setIsFirstGetLockInfo(flag){
//
this.isFirstGetLockInfo = flag
//
},
getLockId
(){
return
this
.
lockId
;
},
...
...
@@ -326,6 +335,9 @@ function init() {
//tap 停止闪铃
onStopDoorbellRing
(){
stopDoorbellRing
(
this
);
},
onPasswordMatchlength
(
value
){
passwordMatchlength
(
this
,
value
);
}
}
}).
$mount
(
'#app'
);
...
...
@@ -421,7 +433,8 @@ function initComponentsConfig() {
class
:
'custom-text'
,
icon
:
''
,
placeholder
:
Vue
.
t
(
'remoteOpendoor.passwordInputTip'
),
maxlength
:
config
.
password
.
maxlength
maxlength
:
config
.
password
.
maxlength
,
minlength
:
config
.
password
.
minlength
}
},
ucommloading
:
{
...
...
@@ -533,10 +546,10 @@ function getLockInfoSuccess(self, data){
self
.
setLockId
(
data
.
lock_id
);
self
.
setRole
(
data
.
role
);
//判断是否第一次获取门锁信息
if
(
self
.
isFirstGetLockInfo
){
//
if(self.isFirstGetLockInfo){
getDeviceStatus
(
self
);
self
.
setIsFirstGetLockInfo
(
false
);
}
//
self.setIsFirstGetLockInfo(false);
//
}
//存储最后一条历史记录的ID
let
historyId
=
null
historyId
=
data
.
info
.
historyId
?
data
.
info
.
historyId
:
null
;
...
...
@@ -591,6 +604,10 @@ function getDeviceStatus(self){
let
data
=
uPublic
.
checkResponseData
(
response
.
data
);
if
(
data
){
setBatteryPercentAndIcon
(
self
,
data
.
BatteryPercentage
.
value
);
iot
.
storage
.
setMap
(
'onLineState'
,
data
.
onlineState
.
value
,
(
response
)
=>
{
console
.
log
(
res
);
},
()
=>
{});
registerPushListener
(
self
);
}
},
error
:
(
error
)
=>
{
...
...
@@ -806,10 +823,12 @@ function registerPushListener(self){
}
//sds消息处理方法
function
sdsDataPorcessing
(
self
,
data
){
async
function
sdsDataPorcessing
(
self
,
data
){
let
onlineState
=
await
iot
.
storage
.
getMap
(
'onLineState'
);
console
.
log
(
data
);
//设置电量百分比和icon
setBatteryPercentAndIcon
(
self
,
data
.
BatteryPercentage
.
value
);
if
(
onlineState
==
data
.
onlineState
.
value
){
switch
(
data
.
action
.
value
){
case
'notify'
:
switch
(
data
.
notify_type
.
value
){
...
...
@@ -847,13 +866,18 @@ function sdsDataPorcessing(self, data){
}
break
;
}
}
else
{
iot
.
storage
.
setMap
(
'onLineState'
,
data
.
onlineState
.
value
,
(
response
)
=>
{
console
.
log
(
res
);
},
()
=>
{});
}
}
//设置电量百分比、电量icon
function
setBatteryPercentAndIcon
(
self
,
value
){
console
.
log
(
'setBatteryPercentAndIcon'
+
value
);
self
.
setBatteryPercent
(
value
);
let
state
=
0
;
let
state
=
5
;
if
(
value
>=
10
){
//向上取整
state
=
config
.
powerIcon
[
Math
.
ceil
(
value
/
20
)];
...
...
@@ -906,51 +930,79 @@ function setRemoteOpenDoorLoading(self, status, text, buttonText){
//响铃动画和铃声设置
function
ringBell
(
self
){
window
.
clearInterval
(
self
.
time
);
window
.
clearTimeout
(
self
.
timeout
);
let
i
=
0
;
simpleRingBell
(
self
,
i
);
self
.
setRingTime
(
config
.
ring_time
);
self
.
time
=
setInterval
(
function
(){
i
++
;
simpleRingBell
(
self
,
i
);
},
config
.
await_time
*
2
);
}
//铃声和动画循环一遍
function
simpleRingBell
(
self
,
i
){
window
.
clearTimeout
(
self
.
timeout
);
// window.clearInterval(self.time);
// window.clearTimeout(self.timeout);
// let i = 0;
// simpleRingBell(self,i);
// self.setRingTime(config.ring_time);
// self.time = setInterval(function(){
// i++;
// simpleRingBell(self,i);
// },config.await_time*2);
if
(
self
.
getDoorbellRingingFlag
()
===
false
){
self
.
setDoorbellRingingFlag
(
true
);
let
p
=
plus
.
audio
.
createPlayer
(
config
.
audioUrl
);
self
.
timeout
=
setTimeout
(()
=>
{
p
=
plus
.
audio
.
createPlayer
(
config
.
audioUrl
);
p
.
play
(
function
()
{
console
.
log
(
"Audio play success!"
);
},
function
(
e
)
{
console
.
log
(
"Audio play error: "
+
e
.
message
);
});
self
.
timeout
=
setTimeout
(
function
(){
console
.
log
(
self
.
timeout
);
self
.
timeout
=
setTimeout
(()
=>
{
console
.
log
(
"in2"
);
p
=
plus
.
audio
.
createPlayer
(
config
.
audioUrl
);
p
.
play
(
function
()
{
console
.
log
(
"Audio play success!"
);
},
function
(
e
)
{
console
.
log
(
"Audio play error: "
+
e
.
message
);
});
window
.
clearTimeout
(
self
.
timeout
);
self
.
timeout
=
setTimeout
(
function
()
{
console
.
log
(
self
.
timeout
);
self
.
timeout
=
setTimeout
(()
=>
{
self
.
setDoorbellRingingFlag
(
false
);
window
.
clearTimeout
(
self
.
timeout
);
if
(
i
>=
1
){
window
.
clearInterval
(
self
.
time
);
}
},
config
.
await_time
*
3
/
5
);
if
(
i
>=
1
){
window
.
clearInterval
(
self
.
time
);
}
},
config
.
await_time
*
2
/
5
);
if
(
i
>=
1
){
window
.
clearInterval
(
self
.
time
);
console
.
log
(
self
.
timeout
);
},
1500
);
},
2000
);
},
500
);
}
}
//铃声和动画循环一遍
//function simpleRingBell(self,i){
// window.clearTimeout(self.timeout);
// self.setDoorbellRingingFlag(true);
// let p = plus.audio.createPlayer(config.audioUrl);
// p.play( function () {
// console.log( "Audio play success!" );
// }, function ( e ) {
// console.log( "Audio play error: " + e.message );
// });
//
// self.timeout = setTimeout(function(){
// p = plus.audio.createPlayer(config.audioUrl);
// p.play( function () {
// console.log( "Audio play success!" );
// }, function ( e ) {
// console.log( "Audio play error: " + e.message );
// });
// window.clearTimeout(self.timeout);
// self.timeout = setTimeout(function(){
// self.setDoorbellRingingFlag(false);
// window.clearTimeout(self.timeout);
// if(i>=1){
// window.clearInterval(self.time);
// }
// },1500);
// if(i>=1){
// window.clearInterval(self.time);
// }
// },500);
// if(i>=1){
// window.clearInterval(self.time);
// }
//}
function
pushAction
(
self
,
msg
)
{
var
payload
=
msg
.
payload
;
if
(
typeof
payload
==
'string'
)
{
...
...
@@ -1070,10 +1122,32 @@ function doorlockUserTap(self){
//tap 远程开门
function
remoteOpendoorTap
(
self
){
iot
.
business
.
sds
.
getDeviceStatus
({
data
:
{
uuid
:
self
.
uuid
},
success
:
(
response
)
=>
{
console
.
log
(
response
);
let
data
=
uPublic
.
checkResponseData
(
response
.
data
);
if
(
data
){
if
(
data
.
onlineState
.
value
==
ON_LINE
){
if
(
self
.
valueRemoteOpendoor
){
self
.
setTextPassword
(
''
);
self
.
setRemoteOpendoorShowFlag
(
true
);
}
}
else
{
uComponents
.
openAlert
(
self
,
Vue
.
t
(
'remoteOpendoor.offlineTip'
),
{
text
:
Vue
.
t
(
'dialog.confirm'
),
callback
:
function
()
{
}
});
}
}
},
error
:
(
error
)
=>
{
console
.
log
(
error
);
uPublic
.
openRequestErrorAlert
(
self
);
}
});
}
//tap 门锁管理
...
...
@@ -1121,19 +1195,35 @@ function passwordChange(self,text){
console
.
log
(
'passwordChange: '
+
self
.
textPassword
);
}
//获取远程密码是否达到最小长度
function
passwordMatchlength
(
self
,
bool
)
{
console
.
log
(
bool
);
self
.
boolPasswordMinlength
=
bool
;
}
//tap 确定(远程开门密码)
function
confirmButtonTap
(
self
){
iot
.
business
.
sds
.
getDeviceStatus
({
data
:
{
uuid
:
self
.
uuid
},
success
:
(
response
)
=>
{
console
.
log
(
response
);
let
data
=
uPublic
.
checkResponseData
(
response
.
data
);
if
(
data
){
if
(
data
.
onlineState
.
value
==
ON_LINE
){
if
(
self
.
boolPasswordMinlength
){
if
(
self
.
getTextPassword
()
==
null
||
self
.
getTextPassword
().
trim
()
==
''
){
self
.
setTextErrorTip
(
Vue
.
t
(
'remoteOpendoor.error.noPasswordTip'
));
}
else
{
uComponents
.
showCommLoading
(
self
);
setRemoteOpenDoorLoading
(
self
,
0
,
Vue
.
t
(
'remoteOpendoor.loading'
));
let
keyIv
=
crypto
.
enkey
(
self
.
mac
.
replace
(
/:/g
,
''
));
// console.log(keyIv);
// console.log(keyIv);
let
pwd
=
crypto
.
encode
(
self
.
getTextPassword
(),
keyIv
);
// console.log(pwd);
// let msg = crypto.decode(pwd, keyIv);
// console.log(msg);
// console.log(pwd);
// let msg = crypto.decode(pwd, keyIv);
// console.log(msg);
iot
.
business
.
sds
.
setDeviceStatus
({
data
:
{
uuid
:
self
.
getUuid
(),
...
...
@@ -1169,6 +1259,25 @@ function confirmButtonTap(self){
setRemoteOpenDoorLoading
(
self
,
2
,
Vue
.
t
(
'remoteOpendoor.remoteTimeout'
),
Vue
.
t
(
'remoteOpendoor.remoteOpendoorAgain'
));
}
},
config
.
remote_opendoor_timeout
);
}
else
{
uComponents
.
openAlert
(
self
,
Vue
.
t
(
'remoteOpendoor.textlengthTip'
),
{
text
:
Vue
.
t
(
'dialog.confirm'
),
callback
:
function
()
{
}
});
}
}
else
{
uComponents
.
openAlert
(
self
,
Vue
.
t
(
'remoteOpendoor.offlineTip'
),
{
text
:
Vue
.
t
(
'dialog.confirm'
),
callback
:
function
()
{
}
});
}
}
else
{}
},
error
:
(
error
)
=>
{
console
.
log
(
error
);
uPublic
.
openRequestErrorAlert
(
self
);
}
});
}
//tap comm-loading ‘确认’
...
...
web/lib/less/addDevice/addDevice.less
View file @
824c0d85
...
...
@@ -256,15 +256,52 @@
}
}
.u-process{
.u-process-content{
.loader{
&:before{
.transform(translateZ(0) scale(0.7));
}
}
}
}
.u-process.u-process-status-0{
.u-process-content{
.loading{
position: relative;
.loading-text{
position: absolute;
left: 0;
top: 0;
font-size: 16px;
line-height: 3.750em;
width: 100%;
text-align: center;
}
}
}
}
.u-process.u-process-status-1{
.u-process-content{
top: 200px;
.loading{
.loading-text{
display: none;
}
}
}
}
.u-process.u-process-status-2{
.u-process-content{
top: 200px;
.loading{
.loading-text{
display: none;
}
}
}
}
web/view/addDevice/addDevice.css
View file @
824c0d85
...
...
@@ -1122,6 +1122,11 @@ p {
}
}
.u-process-content
.loader
:before
{
-webkit-transform
:
translateZ
(
0
)
scale
(
0.7
);
transform
:
translateZ
(
0
)
scale
(
0.7
);
}
.scanContent
{
position
:
fixed
;
top
:
1.173rem
;
...
...
@@ -1197,10 +1202,37 @@ p {
background-color
:
transparent
;
}
.u-process
.u-process-content
.loader
:before
{
-webkit-transform
:
translateZ
(
0
)
scale
(
0.7
);
transform
:
translateZ
(
0
)
scale
(
0.7
);
}
.u-process.u-process-status-0
.u-process-content
.loading
{
position
:
relative
;
}
.u-process.u-process-status-0
.u-process-content
.loading
.loading-text
{
position
:
absolute
;
left
:
0
;
top
:
0
;
font-size
:
0.427rem
;
line-height
:
3.750em
;
width
:
100%
;
text-align
:
center
;
}
.u-process.u-process-status-1
.u-process-content
{
top
:
5.333rem
;
}
.u-process.u-process-status-1
.u-process-content
.loading
.loading-text
{
display
:
none
;
}
.u-process.u-process-status-2
.u-process-content
{
top
:
5.333rem
;
}
.u-process.u-process-status-2
.u-process-content
.loading
.loading-text
{
display
:
none
;
}
\ No newline at end of file
web/view/addDevice/wifiAdd.html
View file @
824c0d85
...
...
@@ -48,7 +48,10 @@
<p class="icon"></p>
</u-comm-loading> -->
<u-process
ref=
"uprocess"
:init-param=
"componentsConfig.processLoading.initParam"
>
<div
class=
"loading"
>
<p
class=
"loader"
></p>
<p
class=
"loading-text"
>
{{ $t('wifiAdd.countDownText',[countDownText]) }}
</p>
</div>
<p
class=
"icon"
></p>
<p
class=
"noticeContent"
v-show =
"noticeTipShowFlag"
>
<span>

</span>
...
...
web/view/device/index.html
View file @
824c0d85
...
...
@@ -104,7 +104,8 @@
<div
class=
"content"
>
<div
class=
"inputBox"
>
<u-text
:init-param=
"componentsConfig.passwordInput.initParam"
:text=
"textPassword"
v-on:u-text-change=
"onPasswordChange(arguments[0])"
></u-text>
v-on:u-text-change=
"onPasswordChange(arguments[0])"
v-on:u-text-match-minlength=
"onPasswordMatchlength(arguments[0])"
></u-text>
<p
class=
"errorTip"
v-if=
"textErrorTip"
>
{{ textErrorTip }}
</p>
</div>
<u-button
:init-param=
"componentsConfig.confirmButton.initParam"
v-on:u-button-tap=
"onConfirmButtonTap"
></u-button>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment