Commit bc9ce7cf by jenny

Merge branch 'zjx' into 'master'

Zjx

See merge request iot-project-js/doorlock!3
parents 21830e25 3262d77a
......@@ -37,7 +37,7 @@
"login": "登录",
"register": "注册",
"forgetPassword": "忘记密码",
"device": "智能指纹锁",
"device": "U智锁",
"opendoorRecord": "开门记录",
"alarmInfo": "报警信息",
"remoteOpendoor": "远程开门",
......@@ -134,6 +134,7 @@
"passwordInputTip": "请输入远程开门密码",
"openDoorSuccess": "远程开门成功",
"openDoorFailure": "远程开门失败",
"remoteTimeout": "远程开门超时",
"remoteOpendoorAgain": "请尝试重试",
"error": {
"noPasswordTip": "远程密码不能为空"
......@@ -330,7 +331,8 @@
"oldPasswordInputTipAgain": "请再次输入旧密码"
},
"request":{
"error": "请求发送失败"
"error": "请求发送失败",
"initError": "初始化失败,请关闭APP重试"
},
"deviceList":{
"model": "型号:",
......
......@@ -134,6 +134,7 @@
"passwordInputTip": "请输入远程开门密码",
"openDoorSuccess": "远程开门成功",
"openDoorFailure": "远程开门失败",
"remoteTimeout": "远程开门超时",
"remoteOpendoorAgain": "请尝试重试",
"error": {
"noPasswordTip": "远程密码不能为空"
......@@ -330,7 +331,8 @@
"oldPasswordInputTipAgain": "请再次输入旧密码"
},
"request":{
"error": "请求发送失败"
"error": "请求发送失败",
"initError": "初始化失败,请关闭APP重试"
},
"deviceList":{
"model": "型号:",
......
......@@ -117,17 +117,7 @@ iot.navigator.getAllWebviw = function () {
}
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 + '")');
}
mui.fire(webview, eventType, data);
};
window.iot = iot;
......@@ -238,8 +228,4 @@ iot.navigator.getCurrentWebView = function (){
return plus.webview.currentWebview();
}
uPublic.loopUtils = function(func, opts, intervalTime, time){
}
export {iot, uPublic, uComponents}
\ No newline at end of file
/**
* @class
* unotify
*/
class unotify{
static async getCid(successCallback, errorCallback){
var a = null;
try{
a = await this.getCidPeriotic(3);
if(typeof successCallback == 'function'){
successCallback(a);
}
}
catch (err){
console.log(err);
if(typeof errorCallback == 'function'){
errorCallback(a);
}
}
}
static getCidPeriotic(times){
var self = this;
return new Promise(function(resolve, reject){
var i = 0;
var cid = null;
var handle = null;
i++;
cid = self.getCidOnce(i);
if(cid != null || i >= times){
window.clearInterval(handle);
resolve(cid);
}else{
handle = setInterval(function(){
i++;
cid = self.getCidOnce(i);
if(cid != null || i >= times){
window.clearInterval(handle);
resolve(cid);
}
},1000);
}
});
}
static getCidOnce(i){
var clientInfo = plus.push.getClientInfo();
if(clientInfo && clientInfo.hasOwnProperty('clientid') && clientInfo.clientid){
return(clientInfo.clientid);
}else{
return(null);
}
}
}
export default unotify;
\ No newline at end of file
......@@ -60,9 +60,19 @@ function backTap(){
//tap 扫描绑定设备
function scanAddTap(){
iot.navigator.openWindow({
// iot.navigator.openWindow({
// url: './scanCodeAdd.html',
// id: 'scanCodeAdd'
// });
mui.openWindow({
url: './scanCodeAdd.html',
id: 'scanCodeAdd'
id: 'scanCodeAdd',
show: {
aniShow: "none"
},
waiting: {
autoShow: false
}
});
}
......
......@@ -11,18 +11,21 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
console.log("init" + new Date().getTime());
//通用 dialog、loading组件
uPublic.componentsInit(['u-dialog','u-loading']);
const app = new Vue({
data:{
//配置组件
componentsConfig: initComponentsConfig()
componentsConfig: initComponentsConfig(),
barcode: null
},
mounted(){
let self = this;
if (plus.os.name == 'Android') {
iot.permission.checkPermission(['CAMERA'], function (res) {
console.log('success', res);
console.log("openScanCode"+ new Date().getTime());
openScanCode(self);
}, function (err) {
console.log('error', err);
......@@ -34,7 +37,7 @@ function init() {
methods:{
//tap <
onBackTap(){
backTap();
backTap(this);
}
}
}).$mount('#app');
......@@ -57,21 +60,24 @@ function initComponentsConfig() {
}
//tap <
function backTap(){
function backTap(self){
iot.navigator.back();
console.log(self.barcode);
iot.utils.closeScanBarcode(self.barcode);
}
function openScanCode(self){
iot.utils.scanBarcode({
self.barcode = iot.utils.scanBarcode({
data: {
id: 'bcid',
styles: {
frameColor: '#00ffff',
scanbarColor: '#00ffff',
background: '#242b35'
background: '#3a3d54'
}
},
success: (response) => {
console.log("openScanCodeSuccess"+ new Date().getTime());
console.log(response);
let data = uPublic.checkResponseData(response.data);
if(data){
......@@ -138,6 +144,7 @@ function deviceBind(self, lockId, relId){
if(data.success){
uComponents.openAlert(self, Vue.t('addDevice.bindSuccess'), {
text: Vue.t('dialog.confirm'), callback: function () {
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{});
iot.navigator.openWindow({
url: '../device/index.html',
id: 'device'
......
......@@ -26,6 +26,7 @@ function init() {
},
mounted(){
resolve(this);
},
methods:{
getTextWiFiName(){
......@@ -285,6 +286,8 @@ function commLoadingButtonTap(self) {
if(self.getStatus() == 1){
//绑定成功
uComponents.hideCommLoading(self);
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{});
iot.navigator.openWindow({
url: '../device/index.html',
id: 'device'
......
......@@ -45,7 +45,7 @@ function init() {
//门锁管理
doorlockManageDisabledFlag: false,
//门锁最新消息是否滚动
activeFlag: false,
activeFlag: true,
//配置组件
componentsConfig: initComponentsConfig(),
//
......@@ -485,7 +485,6 @@ function getDevices(self){
self.deviceId = null;
self.uuid = null;
uComponents.changeMarqueeText(self, [Vue.t('device.defaultNewMsg')]);
// console.log("不滚");
self.activeFlag = false;
self.opendoorRecordFlag = false;
self.securityAlarmFlag = false;
......@@ -1025,17 +1024,17 @@ function pushAction(self, msg) {
//推送消息处理方法
function notifyDataProcessing(self, payload){
switch(payload.type){
case 'open':
case 'notify':
case 'alarm':
//开门推送、安全报警、劫持报警
//历史记录信息只拿一遍,不需要轮询
getLockInfo(self);
break;
case 'ring':
//门铃
setBellRing(self, payload.time);
break;
// case 'open':
// case 'notify':
// case 'alarm':
// //开门推送、安全报警、劫持报警
// //历史记录信息只拿一遍,不需要轮询
// getLockInfo(self);
// break;
// case 'ring':
// //门铃
// setBellRing(self, payload.time);
// break;
case 'remoteOpen':
//远程开门
setRemoteOpendoor(self, payload.time);
......@@ -1061,7 +1060,7 @@ function notificationListener(self) {
// 从系统消息中心点击消息启动应用事件
plus.push.addEventListener('click', function (msg) {
// console.log("收到了click");
// pushAction(self, msg);
pushAction(self, msg);
// alert("click"+JSON.stringify(msg));
}, false);
// 应用从推送服务器接收到推送消息事件
......@@ -1286,15 +1285,14 @@ function confirmButtonTap(self){
}
});
}
console.log('aaaa');
setTimeout(function (){
let time = setTimeout(function (){
console.log(self.getStatus());
if(self.getStatus() == 0){
console.log("timeout");
//连接失败
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('remoteOpendoor.openDoorFailure'));
uComponents.changeCommLoadingStatusAndText(self, 2, Vue.t('remoteOpendoor.remoteTimeout'));
uComponents.changeCommButtonText(self, Vue.t('remoteOpendoor.remoteOpendoorAgain'));
self.setStatus(2);
window.clearTimeout(time);
}
},config.remote_opendoor_timeout);
}
......
......@@ -311,6 +311,7 @@ function unbindDoorlockButtonTap(self){
//tap 隐藏提示框
function unbindStateDialogTap(self){
self.setStateShowFlag(false);
iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{});
if(self.getUnbindSucceess){
iot.navigator.openWindow({
url: '../device/index.html',
......
......@@ -8,6 +8,7 @@
*/
import {iot, uPublic, uComponents} from '../../public/public.js';
import unotify from '../../public/unotify.js';
iot.ready(init);
function init() {
......@@ -19,15 +20,16 @@ function init() {
//配置组件
componentsConfig: initComponentsConfig(),
clientId: null,
showLoginButtonFlag: true
showLoginButtonFlag: false
},
mounted(){
if(window.iotDebug){
iotDebug.push('start: Debug');
}
var clientInfo = plus.push.getClientInfo();
this.setClientId(clientInfo.clientid);
var self = this;
unotify.getCid(function(ret){
console.log(ret);
self.setClientId(ret);
if (plus.os.name == 'Android') {
iot.permission.checkPermission(['READ_EXTERNAL_STORAGE'], function (res) {
console.log('success', res);
......@@ -38,6 +40,9 @@ function init() {
}else{
loginButtonTap(self);
}
},function(err){
console.log(err);
})
},
methods:{
getShowLoginButtonFlag(){
......@@ -84,33 +89,37 @@ function initComponentsConfig() {
}
function loginButtonTap(self){
// if(window.iotDebug){
// iotDebug.push('start: initSDSLogin');
// }
// window.SDSPlugin.login({},(res)=>{
// console.log(res);
//// alert(res);
// var data = uPublic.checkResponseData(res.data);
// if(data){
//// alert("sds登陆成功");
// cloudsLogin(self, data.UserID);
// }
// },(err)=>{
// alert(error);
// console.log(err);
// })
iot.business.sds.checkSDSInit({
data: {},
success: (response) => {
//初始化成功
console.log(response);
iot.business.sds.login({
data: {
userinfo: {}
},
success: (response) => {
// alert(JSON.stringify(response));
console.log(response);
if(window.iotDebug){
iotDebug.push('end: SDSloginSuccees');
}
// alert(JSON.stringify(response));
var data = uPublic.checkResponseData(response.data);
if(data){
self.setShowLoginButtonFlag(false);
if(data.hasOwnProperty('UserID')){
console.log("sds登陆成功了");
cloudsLogin(self, data.UserID);
......@@ -120,8 +129,8 @@ function loginButtonTap(self){
}
},
error: (error) => {
self.setShowLoginButtonFlag(true);
console.log(error);
// alert(JSON.stringify(error));
if(window.iotDebug){
iotDebug.push('end: sds登陆失败'+JSON.stringify(error));
}
......@@ -133,6 +142,26 @@ function loginButtonTap(self){
uComponents.hideLoading(self);
}
});
},
error: (error) => {
//初始化失败,重新初始化
console.log(error);
if(window.iotDebug){
iotDebug.push('end: 初始化失败'+JSON.stringify(error));
}
if (window.iotDebug) {
iotDebug.upload(iot,'初始化失败');
}
uPublic.openRequestErrorAlert(self, Vue.t('request.initError'));
uComponents.openAlert(self, Vue.t('request.initError'), {
text: Vue.t('dialog.confirm'), callback: function () {
iot.navigator.closeAll();
}
});
},
complete: () => {}
});
}
function cloudsLogin(self, id){
......@@ -141,7 +170,6 @@ function cloudsLogin(self, id){
iotDebug.push('start: cloudsLogin');
}
iot.business.api.send('user/sds_login',{
// iot.business.user.simpleLogin({
data: {
username: id,
clienId: self.getClientId()
......@@ -153,6 +181,7 @@ function cloudsLogin(self, id){
if (window.iotDebug) {
iotDebug.upload(iot,'登陆流程时间');
}
console.log(response);
var data = uPublic.checkResponseData(response.data);
var infoArray = [];
if(data){
......@@ -179,9 +208,6 @@ function cloudsLogin(self, id){
}
uPublic.openRequestErrorAlert(self);
},
complete: () => {
// uComponents.hideLoading(self);
}
complete: () => {}
},false);
// });
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -1183,8 +1183,8 @@ p {
background-color: transparent;
}
.content {
position: absolute;
.scanContent {
position: fixed;
top: 1.173rem;
bottom: 0;
left: 0;
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -16,7 +16,6 @@
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......@@ -26,7 +25,7 @@
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.scanCodeAdd') }}</p>
</div>
<div class="content" id="bcid" >
<div class="scanContent" id="bcid" >
</div>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
......
......@@ -17,7 +17,6 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -16,7 +16,6 @@
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -16,7 +16,6 @@
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
......@@ -17,7 +17,6 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -18,7 +18,6 @@
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/SDSPlugin.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
......@@ -17,7 +17,6 @@
<!--<script type="text/javascript" src="../../lib/js/start.js"></script>-->
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
......@@ -17,7 +17,6 @@
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
<script type="text/javascript" src="../../lib/js/mui.min.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment