Commit c931d845 by 朱建香

2018/01/08 18:43

结合通知组件
parent 8637eb82
...@@ -203,7 +203,7 @@ ...@@ -203,7 +203,7 @@
"remindTitle": "配置Wi-Fi提醒:", "remindTitle": "配置Wi-Fi提醒:",
"remindCont1": "1. 请确保Wi-Fi信号良好", "remindCont1": "1. 请确保Wi-Fi信号良好",
"remindCont2": "2. 本产品暂不支持5GHz无线网络", "remindCont2": "2. 本产品暂不支持5GHz无线网络",
"noticeTip": "检测到您还未开启通知,将无法及时<br>接安全推送", "noticeTip": "检测到您还未开启通知,将无法及时<br>接安全推送",
"error": { "error": {
} }
...@@ -279,7 +279,8 @@ ...@@ -279,7 +279,8 @@
"title": "绑定方法:", "title": "绑定方法:",
"cont1": "1.受邀用户登录“U智锁”APP", "cont1": "1.受邀用户登录“U智锁”APP",
"cont2": "2.选择“扫描绑定设备”", "cont2": "2.选择“扫描绑定设备”",
"cont3": "3.扫描上方二维码完成绑定" "cont3": "3.扫描上方二维码完成绑定",
"tip": "注: 二维码有效时间为10分钟,过期请重新生成"
}, },
"unlockInfo":{ "unlockInfo":{
"bindUnlockInfo": "已关联的开锁信息", "bindUnlockInfo": "已关联的开锁信息",
...@@ -360,5 +361,20 @@ ...@@ -360,5 +361,20 @@
"contText2-2": "在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。", "contText2-2": "在设置中找到电量与性能,点击受保护的后台应用,找到本app并开启保护。",
"contText3-1": "安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。", "contText3-1": "安卓手机须将应用加入白名单中,否则清理后台杀掉应用进程后,只有手动开启应用才能恢复消息推送。",
"contText3-2": "启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。" "contText3-2": "启动本app后打开多任务页面(清理后台应用的页面),将本app加入白名单。"
},
"androidNotify":{
"toSettingTitle":"开启系统通知",
"toSettingsub":"去开启",
"checkSetting":"检查Android系统设置",
"IKonw":"我已阅读",
"checkSettingsubTitle":"部分安卓系统的手机在开启通知后仍无法收到推送信息,您可以依次检查以下几项设置",
"step1Title":"1. 应用是否设置为自启动状态",
"step1content":"操作步骤:在软件授权管理或启动管理中(通常在手机管家或设置菜单中)找到本APP并开启自启动。",
"step2Title":"2. 应用是否已开启后台保护",
"step2content":"操作步骤:在设置中找到电量与性能,点击受保护的后台应用,找到本APP并开启保护。",
"step3Title":"3. 是否已将应用加入系统白名单",
"step3content":"操作步骤:启动本APP后打开多任务页面(清理后台应用的页面),将本APP加入白名单。",
"endSetting":"保存设置并开启应用",
"toIndex":"进入首页"
} }
} }
\ No newline at end of file
export default { export default {
"url": "http://192.168.2.96:20000" "url": "http://192.168.2.96:20000",
"model": "UGEN_SECURITY_SMARTDOOR_YJ2017"
} }
\ No newline at end of file
import androidNotify from '../view/c_android-notify.vue';
import gridList from '../view/c_grid-list.vue'; import gridList from '../view/c_grid-list.vue';
import timeline from '../view/c_timeline.vue'; import timeline from '../view/c_timeline.vue';
var components = { var components = {
'android-notify': androidNotify,
'grid-list': gridList, 'grid-list': gridList,
'timeline': timeline 'timeline': timeline
}; };
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
*/ */
import config from '../../public/config.js'; import config from '../../public/config.js';
import defaultConfig from '../../public/defaultConfig.js';
import {iot, uPublic, uComponents} from '../../public/public.js'; import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init); iot.ready(init);
...@@ -157,7 +158,7 @@ function connectButtonTap(self){ ...@@ -157,7 +158,7 @@ function connectButtonTap(self){
uComponents.showProcess(self, 0, Vue.t('addDevice.loading')); uComponents.showProcess(self, 0, Vue.t('addDevice.loading'));
iot.business.sds.findWifi({ iot.business.sds.findWifi({
data: { data: {
model: config.model, model: defaultConfig.model,
ssid: self.getTextWiFiName(), ssid: self.getTextWiFiName(),
wifiPwd: self.getTextPassword(), wifiPwd: self.getTextPassword(),
timeout: 20000 timeout: 20000
...@@ -213,7 +214,7 @@ function connectButtonTap(self){ ...@@ -213,7 +214,7 @@ function connectButtonTap(self){
if (window.iotDebug) { if (window.iotDebug) {
iotDebug.upload(iot,'找设备'); iotDebug.upload(iot,'找设备');
} }
let productId = config.model; let productId = defaultConfig.model;
if(response.data == "onJoining"){ if(response.data == "onJoining"){
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('end: 激活中'+JSON.stringify(response)); iotDebug.push('end: 激活中'+JSON.stringify(response));
...@@ -375,14 +376,14 @@ function addSuccess(self){ ...@@ -375,14 +376,14 @@ function addSuccess(self){
"class": 'custom-process-button', 'text': Vue.t('btn.openNotify'), 'callback': () => { "class": 'custom-process-button', 'text': Vue.t('btn.openNotify'), 'callback': () => {
//开启推送通知 //开启推送通知
if(plus.os.name == 'Android'){ if(plus.os.name == 'Android'){
alert("打开通知页面"); // alert("打开通知页面");
// iot.navigator.openWindow({ iot.navigator.openWindow({
// url: './notify.html', url: '../device/notify.html',
// id: 'notify', id: 'notify',
// styles: { styles: {
// popGesture: 'none' popGesture: 'none'
// } }
// }); });
}else{ }else{
iot.native.toNotifycationSetting(); iot.native.toNotifycationSetting();
} }
......
/**
* newnotify-dialog.vue
* Version: 0.1
* User: wujie
* Date: 2017-12-26
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* newnotify-dialog
*
******************************************************************************
* 依赖
通知栏插件 isNotifycationOpen toNotifycationSetting
多语言 需要配置多语言
* 支持环境
App
*
*/
<template>
<div id="app" v-cloak>
<div class="header">
<p>开启通知</p>
</div>
<div class="content">
<ul class="u-android-notify">
<li class="u-android-notify-row" v-bind:class = "setp1Active">
<span class="u-android-notify-icon">&#xe6c1;</span>
<span class="u-android-notify-finish-icon" v-show="isStep1Finish"></span>
<div class="u-android-notify-title">
{{toSettingTitle}}
<v-touch tag="div" class="u-android-notify-button" v-show="isToSetting" v-on:tap="onOpenNotify">{{toSettingsub}}
<span></span></v-touch>
</div>
</li>
<li class="u-android-notify-row" v-bind:class = "setp2Active">
<span class="u-android-notify-icon">&#xe6c0;</span>
<span class="u-android-notify-finish-icon" v-show="isStep2Finish"></span>
<div class="u-android-notify-title">
{{checkSetting}}
<v-touch tag="div" class="u-android-notify-button" v-show="isKnow" v-on:tap="onIKnow">{{IKonw}}</v-touch>
</div>
<div class="u-android-notify-tip">{{checkSettingsubTitle}}</div>
<div class="u-android-notify-subtitle">{{step1Title}}</div>
<div class="u-android-notify-subcontent">{{step1content}}</div>
<div class="u-android-notify-subtitle">{{step2Title}}</div>
<div class="u-android-notify-subcontent">{{step2content}}</div>
<div class="u-android-notify-subtitle">{{step3Title}}</div>
<div class="u-android-notify-subcontent">{{step3content}}</div>
</li>
<li class="u-android-notify-row" v-bind:class = "setp3Active">
<span class="u-android-notify-icon">&#xe6c2;</span>
<span class="u-android-notify-finish-icon" v-show="isStep3Finish"></span>
<div class="u-android-notify-title">
{{endSetting}}
<v-touch tag="div" class="u-android-notify-button" v-show="isToIndex" v-on:tap="onToIndex">{{toAppIndex}}
<span></span></v-touch>
</div>
</li>
</ul>
</div>
</div>
</template>
<script>
export default {
props: ['initParam','toIndex'],
data () {
return {
toSettingTitle:Vue.t('androidNotify.toSettingTitle'),
toSettingsub:Vue.t('androidNotify.toSettingsub'),
checkSetting:Vue.t('androidNotify.checkSetting'),
IKonw:Vue.t('androidNotify.IKonw'),
checkSettingsubTitle:Vue.t('androidNotify.checkSettingsubTitle'),
step1Title:Vue.t('androidNotify.step1Title'),
step1content:Vue.t('androidNotify.step1content'),
step2Title:Vue.t('androidNotify.step2Title'),
step2content:Vue.t('androidNotify.step2content'),
step3Title:Vue.t('androidNotify.step3Title'),
step3content:Vue.t('androidNotify.step3content'),
endSetting:Vue.t('androidNotify.endSetting'),
toAppIndex:Vue.t('androidNotify.toIndex'),
notifyState:false, // 当前是否开启了通知
gotoIndex:this.toIndex,// 处理点击到index按钮事件
isKnow:iot.native.isNotifycationOpen(),//是否需要显示 我已阅读
isToIndex:false,// 是否需要显示去首页按钮
isStep1Finish:iot.native.isNotifycationOpen(),//是否需要显示步骤1的勾
isStep2Finish:false,//是否需要显示步骤2的勾
isStep3Finish:false,//是否需要显示步骤3的勾
isToSetting:!iot.native.isNotifycationOpen(),//是否需要显示去设置按钮
setp1Active:'active',
setp2Active:null,// 默认为灰色 不显示active
setp3Active:null,
}
},
mounted: function () {
console.log("notifyState:"+iot.native.isNotifycationOpen())
// 监听程序恢复前台
document.addEventListener("resume", ()=>{
onAppReume(this);
}, false);
},
watch: {
},
methods: {
// 点击按钮关闭弹出框
onOpenNotify(){
openNotify(this);
},
onIKnow(){
IKonw(this);
},
onToIndex(){
toIndex(this);
}
}
};
function openNotify(self) {
console.log("去开启");
iot.native.toNotifycationSetting("notify");
self.setp1Active = 'active changeBorder';
}
function IKonw(self){
console.log("点击了我已阅读");
self.isStep2Finish = true; // 点击阅读后显示步骤2的勾
self.setp2Active = "active changeBorder";// 点击阅读后显示步骤2的字体亮度调高
self.setp3Active = "active";// 同时步骤3的字体亮度也调高
self.isStep3Finish = true; // 步骤3的勾勾选
self.isToIndex = true;//显示去首页按钮
self.isKnow = false; // 点击我已阅读隐藏我已阅读按钮
}
function toIndex(self){
console.log("gotoIndex...");
self.gotoIndex();
}
function onAppReume(self){
let notifyState = iot.native.isNotifycationOpen();
console.log("notifyState:"+notifyState);
if (notifyState) {self.setp2Active = "active changeBorder";}
self.isStep1Finish = iot.native.isNotifycationOpen();// 再次判断当前通知是否开启
self.isToSetting = !iot.native.isNotifycationOpen(); // 再次判断是否需要显示去设置按钮
self.isKnow = iot.native.isNotifycationOpen(),// 再次判断是否需要显示 我已阅读
self.$nextTick(function () {
console.log("重新渲染");
});
}
</script>
...@@ -168,14 +168,14 @@ function listLoad(self) { ...@@ -168,14 +168,14 @@ function listLoad(self) {
//android跳转到通知页面 //android跳转到通知页面
function notifycationSetting(){ function notifycationSetting(){
if(plus.os.name == 'Android'){ if(plus.os.name == 'Android'){
alert("打开通知页面"); // alert("打开通知页面");
// iot.navigator.openWindow({ iot.navigator.openWindow({
// url: './notify.html', url: './notify.html',
// id: 'notify', id: 'notify',
// styles: { styles: {
// popGesture: 'none' popGesture: 'none'
// } }
// }); });
}else{ }else{
iot.native.toNotifycationSetting(); iot.native.toNotifycationSetting();
} }
......
...@@ -190,14 +190,14 @@ function refreshFresh(self){ ...@@ -190,14 +190,14 @@ function refreshFresh(self){
//android跳转到通知页面 //android跳转到通知页面
function notifycationSetting(){ function notifycationSetting(){
if(plus.os.name == 'Android'){ if(plus.os.name == 'Android'){
alert("打开通知页面"); // alert("打开通知页面");
// iot.navigator.openWindow({ iot.navigator.openWindow({
// url: './notify.html', url: './notify.html',
// id: 'notify', id: 'notify',
// styles: { styles: {
// popGesture: 'none' popGesture: 'none'
// } }
// }); });
}else{ }else{
iot.native.toNotifycationSetting(); iot.native.toNotifycationSetting();
} }
......
import {iot, uPublic, uComponents} from '../../public/public.js';
import config from '../../public/public.js';
iot.ready(init);
function init() {
uPublic.componentsExtend(['android-notify']);
var form = new Vue({
el: '#content',
data:{
initButtonText: "测试按钮",
componentsConfig: initComponentsConfig(),//初始化数据
dialogFlag:true,
showFlags:false,
onNotifyToIndex:notifyToIndex //改方法传入
},
mounted:function(){
},
methods: {
onTapButton(){
tapButton(this);
},
onAddDeviceButtonTap(){
console.log("onAddDeviceButtonTap......");
},
onToSetting(){
console.log("点击了toSetting");
}
}
});
function notifyToIndex(){
iot.navigator.fire(plus.webview.getWebviewById('device'),'returnPage',{
needClose: true
});
iot.navigator.openWindow({
url: './index.html',
id: 'device',
styles: {
popGesture: 'none'
},
extras: {
needClose: true
}
});
}
function tapButton(self){
console.log("tapButton.......");
}
//初始化组件参数
function initComponentsConfig() {
return {
// 设置通知弹出框参数
notifyDialog: {
// 默认参数
initParam: {
// appName:"js.通用门锁",
// time:"js.刚刚",
// title:'js.开启通知',
// content1:'js.开启通知后您将可以及时获取门锁报警',
// content2:'js.提醒、门锁开门消息通知',
// accept:'js.我知道了!',
// buttonTitle:'js.前往开启通知设置'
}
},
addDeviceButton:{
// 默认参数
initParam: {
class: 'edit-name-button',
text: "这是测试button"
}
}
};
}
}
...@@ -224,14 +224,13 @@ function setListData(self, response){ ...@@ -224,14 +224,13 @@ function setListData(self, response){
//android跳转到通知页面 //android跳转到通知页面
function notifycationSetting(){ function notifycationSetting(){
if(plus.os.name == 'Android'){ if(plus.os.name == 'Android'){
alert("打开通知页面"); iot.navigator.openWindow({
// iot.navigator.openWindow({ url: './notify.html',
// url: './notify.html', id: 'notify',
// id: 'notify', styles: {
// styles: { popGesture: 'none'
// popGesture: 'none' }
// } });
// });
}else{ }else{
iot.native.toNotifycationSetting(); iot.native.toNotifycationSetting();
} }
......
...@@ -201,7 +201,6 @@ function initComponentsConfig() { ...@@ -201,7 +201,6 @@ function initComponentsConfig() {
//获取设备信息 //获取设备信息
function getDoorlockInfo(self){ function getDoorlockInfo(self){
uComponents.showLoading(self); uComponents.showLoading(self);
let productId = config.model;
iot.business.device.getInfo({ iot.business.device.getInfo({
data: { data: {
device_id: self.extras.lockInfo.lock_id device_id: self.extras.lockInfo.lock_id
...@@ -319,11 +318,11 @@ function backTap(){ ...@@ -319,11 +318,11 @@ function backTap(){
} }
////重写mui.back ////重写mui.back
//mui.back = function(){ mui.back = function(){
// iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{}); iot.navigator.fire(plus.webview.currentWebview().opener(),'returnPage',{});
// console.log("fire"); console.log("fire");
// iot.navigator.back(); iot.navigator.back();
//} }
// 选择: 是否接收门铃消息推送 // 选择: 是否接收门铃消息推送
function doorbellSwitchTap(self, value){ function doorbellSwitchTap(self, value){
......
...@@ -18,14 +18,6 @@ function init() { ...@@ -18,14 +18,6 @@ function init() {
if(iot.navigator.getExtras().needClose){ if(iot.navigator.getExtras().needClose){
iot.navigator.closeAllBesidesItself(); iot.navigator.closeAllBesidesItself();
} }
var isSdsBack = false;
console.log(isSdsBack);
if(!isSdsBack){
document.addEventListener("resume", () => {
loginButtonTap(this);
}, false);
}
const app = new Vue({ const app = new Vue({
data:{ data:{
//配置组件 //配置组件
...@@ -37,17 +29,13 @@ function init() { ...@@ -37,17 +29,13 @@ function init() {
if(window.iotDebug){ if(window.iotDebug){
iotDebug.push('start: Debug'); iotDebug.push('start: Debug');
} }
var self = this; resolve(this);
if (plus.os.name == 'Android') {
iot.permission.checkPermission(['READ_EXTERNAL_STORAGE'], function (res) { document.addEventListener("resume", () => {
console.log('success', res); if(!this.showLoginButtonFlag){
loginButtonTap(self); resolve(this);
}, function (err) {
console.log('error', err);
});
}else{
loginButtonTap(self);
} }
}, false);
}, },
methods:{ methods:{
getShowLoginButtonFlag(){ getShowLoginButtonFlag(){
...@@ -93,6 +81,19 @@ function initComponentsConfig() { ...@@ -93,6 +81,19 @@ function initComponentsConfig() {
} }
} }
function resolve(self){
if (plus.os.name == 'Android') {
iot.permission.checkPermission(['READ_EXTERNAL_STORAGE'], function (res) {
console.log('success', res);
loginButtonTap(self);
}, function (err) {
console.log('error', err);
});
}else{
loginButtonTap(self);
}
}
//sds登陆 //sds登陆
function loginButtonTap(self){ function loginButtonTap(self){
iot.business.sds.checkSDSInit({ iot.business.sds.checkSDSInit({
...@@ -112,7 +113,6 @@ function loginButtonTap(self){ ...@@ -112,7 +113,6 @@ function loginButtonTap(self){
var data = uPublic.checkResponseData(response.data); var data = uPublic.checkResponseData(response.data);
if(data){ if(data){
if(data.hasOwnProperty('UserID')){ if(data.hasOwnProperty('UserID')){
console.log("sds登陆成功了");
cloudsLogin(self, data.UserID); cloudsLogin(self, data.UserID);
} }
}else{ }else{
...@@ -120,7 +120,6 @@ function loginButtonTap(self){ ...@@ -120,7 +120,6 @@ function loginButtonTap(self){
} }
}, },
error: (error) => { error: (error) => {
isSdsBack = true;
self.setShowLoginButtonFlag(true); self.setShowLoginButtonFlag(true);
console.log(error); console.log(error);
if(window.iotDebug){ if(window.iotDebug){
......
...@@ -198,13 +198,14 @@ ...@@ -198,13 +198,14 @@
} }
.noticeContent{ .noticeContent{
color: #FF0000; color: #c8225b;
line-height: 1.5; line-height: 1.5;
text-align: center; text-align: center;
width: 100%; width: 100%;
display: inline-block; display: inline-block;
position: absolute; position: absolute;
bottom: -100%; bottom: -200px;
font-size: 12px ;
span{ span{
&:first-child{ &:first-child{
.iconfont(20px); .iconfont(20px);
...@@ -254,3 +255,16 @@ ...@@ -254,3 +255,16 @@
background-color: transparent; background-color: transparent;
} }
} }
.u-process.u-process-status-1{
.u-process-content{
top: 200px;
}
}
.u-process.u-process-status-2{
.u-process-content{
top: 200px;
}
}
@import "../public/public.less";
@import "../public/header.less";
.u-android-notify{
margin: 53px 40px 0;
.u-android-notify-row{
color: rgba(204,204,204,.5);
padding-left: 34px;
position: relative;
.u-android-notify-title{
font-size: 16px;
position: relative;
}
.u-android-notify-tip{
font-size: 12px;
line-height: 15px;
padding: 3px 5px 1px;
margin: 6px -4px -7px;
border-radius: 5px;
position: relative;
border: 1px dashed transparent;/*no*/
&:before{
content: '';
position: absolute;
top: -6px;
left: 90px;
.bgImgSize(10px,6px,"blue_arrow_icon.png",center,cover);
display: none;
}
}
.u-android-notify-subtitle{
margin-top: 15px;
}
.u-android-notify-subcontent{
font-size: 12px;
line-height: 15px;
padding-left: 21px;
margin-top: 6px;
}
//1、2、3
.u-android-notify-icon{
position: absolute;
left: 0;
display: inline-block;
width: 22px;
height: 22px;
border: 1px solid;/*no*/
border-radius: 50%;
text-align: center;
.iconfont(12px,22px);
background-color: #242635;
outline: 3px solid #242635;/*no*/
}
// √
.u-android-notify-finish-icon{
position: absolute;
top: 10px;
left: 12px;
&:before{
content:'\e730';
color: #00ffff;
.defaultIconfont(16px);
background-color: #242635;
border-radius: 50%;
.transform(scale(0.6));
display: block;
}
}
.u-android-notify-button{
.transformV_center(right,0);
color: #00ffff;
font-size: 12px;
line-height: 1;
border-bottom: 1px solid;/*no*/
padding-bottom: 1px;/*no*/
// >>
span{
margin-left: 6px;
&:before{
content:'\e6c4';
.iconfont(12px);
}
}
}
&:not(:last-child){
padding-bottom: 55px;
}
&:before{
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 11px;
width: 1px;/*no*/
background-color: #595b63;
}
}
.active{
color: #fff;
.u-android-notify-tip{
color: #91929a;
border-color: #91929a;
&:before{
display: block;
}
}
.u-android-notify-subcontent{
color: #91929a;
}
.u-android-notify-icon{
color: #00ffff;
}
}
.changeBorder:before{
background-color: #00ffff;
}
}
\ No newline at end of file
...@@ -49,18 +49,6 @@ ...@@ -49,18 +49,6 @@
} }
} }
.notice{
span{
&:first-child{
.iconfont(24px);
}
}
height: 20px;
~.custom-list{
top: 64px;
}
}
@-webkit-keyframes refresh { @-webkit-keyframes refresh {
0% { 0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg); -webkit-transform: rotate3d(0, 0, 1, 0deg);
...@@ -81,3 +69,38 @@ ...@@ -81,3 +69,38 @@
transform: rotate3d(0, 0, 1, 360deg); transform: rotate3d(0, 0, 1, 360deg);
} }
} }
.notice{
height: 62px;
line-height: 62px;
border-bottom: 2px solid #50515D;/*no*/
text-align: center;
color: #00ffff;
font-size: 12px;
> span{
color: #fc2168;
.iconfont(20px);
vertical-align: middle;
margin-right: 9px;
}
p{
display: inline-block;
color: #00ffff;
font-size: 12px;
line-height: 1;
border-bottom: 1px solid;/*no*/
padding-bottom: 1px;/*no*/
margin-left: 24px;
// >>
span{
margin-left: 6px;
&:before{
content:'\e6c4';
.iconfont(12px);
}
}
}
~ .custom-list{
top: 106px;
}
}
\ No newline at end of file
...@@ -179,6 +179,11 @@ ...@@ -179,6 +179,11 @@
} }
} }
} }
.timeTip{
text-align: center;
font-size: 12px;
padding-left: 0;
}
} }
.unbindState-dialog(); .unbindState-dialog();
......
...@@ -1131,13 +1131,14 @@ p { ...@@ -1131,13 +1131,14 @@ p {
} }
.noticeContent { .noticeContent {
color: #FF0000; color: #c8225b;
line-height: 1.5; line-height: 1.5;
text-align: center; text-align: center;
width: 100%; width: 100%;
display: inline-block; display: inline-block;
position: absolute; position: absolute;
bottom: -100%; bottom: -5.333rem;
font-size: 0.32rem;
} }
.noticeContent span:first-child { .noticeContent span:first-child {
...@@ -1195,3 +1196,11 @@ p { ...@@ -1195,3 +1196,11 @@ p {
.custom-process-cancelButton.disabled { .custom-process-cancelButton.disabled {
background-color: transparent; background-color: transparent;
} }
.u-process.u-process-status-1 .u-process-content {
top: 5.333rem;
}
.u-process.u-process-status-2 .u-process-content {
top: 5.333rem;
}
\ No newline at end of file
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
<div class="notice" v-if="noticeTipShowFlag"> <div class="notice" v-if="noticeTipShowFlag">
<span>&#xe637;</span> <span>&#xe637;</span>
{{ $t('notice.tip') }} {{ $t('notice.tip') }}
<v-touch tag="span" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}</v-touch> <v-touch tag="p" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}
<span></span></v-touch>
</div> </div>
<u-list ref="ulist" :init-param="componentsConfig.alarmInfoList.initParam" v-on:u-list-load="onListLoad()"></u-list> <u-list ref="ulist" :init-param="componentsConfig.alarmInfoList.initParam" v-on:u-list-load="onListLoad()"></u-list>
</div> </div>
......
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
<div class="notice" v-if="noticeTipShowFlag"> <div class="notice" v-if="noticeTipShowFlag">
<span>&#xe637;</span> <span>&#xe637;</span>
{{ $t('notice.tip') }} {{ $t('notice.tip') }}
<v-touch tag="span" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}</v-touch> <v-touch tag="p" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}
<span></span></v-touch>
</div> </div>
<u-list ref="ulist" :init-param="componentsConfig.hijackRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list> <u-list ref="ulist" :init-param="componentsConfig.hijackRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list>
</div> </div>
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="format-detection" content="telephone=no"/>
<title></title>
<link rel="stylesheet" type="text/css" href="../../lib/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./notify.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<script type="text/javascript" src="../../lib/js/start.js"></script>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head>
<body>
<div id="content" v-cloak>
<android-notify :to-index="onNotifyToIndex"> </android-notify>
</div>
<script type="text/javascript" src="notify.js"></script>
</body>
</html>
\ No newline at end of file
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
<div class="notice" v-if="noticeTipShowFlag"> <div class="notice" v-if="noticeTipShowFlag">
<span>&#xe637;</span> <span>&#xe637;</span>
{{ $t('notice.tip') }} {{ $t('notice.tip') }}
<v-touch tag="span" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}</v-touch> <v-touch tag="p" v-on:tap="onNotifycationSetting()">{{ $t('notice.button') }}
<span></span></v-touch>
</div> </div>
<u-list ref="ulist" :init-param="componentsConfig.opendoorRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list> <u-list ref="ulist" :init-param="componentsConfig.opendoorRecordList.initParam" v-on:u-list-load="onListLoad()"></u-list>
</div> </div>
......
...@@ -599,21 +599,6 @@ p { ...@@ -599,21 +599,6 @@ p {
padding-top: 2.347rem; padding-top: 2.347rem;
} }
.notice {
height: 0.533rem;
}
.notice span:first-child {
font-family: iconfont;
font-size: 0.64rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.notice ~ .custom-list {
top: 1.707rem;
}
@-webkit-keyframes refresh { @-webkit-keyframes refresh {
0% { 0% {
-webkit-transform: rotate3d(0, 0, 1, 0deg); -webkit-transform: rotate3d(0, 0, 1, 0deg);
...@@ -637,3 +622,48 @@ p { ...@@ -637,3 +622,48 @@ p {
transform: rotate3d(0, 0, 1, 360deg); transform: rotate3d(0, 0, 1, 360deg);
} }
} }
.notice {
height: 1.653rem;
line-height: 1.653rem;
border-bottom: 2px solid #50515D;
text-align: center;
color: #00ffff;
font-size: 0.32rem;
}
.notice > span {
color: #fc2168;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
vertical-align: middle;
margin-right: 0.24rem;
}
.notice p {
display: inline-block;
color: #00ffff;
font-size: 0.32rem;
line-height: 1;
border-bottom: 1px solid;
padding-bottom: 1px;
margin-left: 0.64rem;
}
.notice p span {
margin-left: 0.16rem;
}
.notice p span:before {
content: '\e6c4';
font-family: iconfont;
font-size: 0.32rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.notice ~ .custom-list {
top: 2.827rem;
}
\ No newline at end of file
...@@ -845,6 +845,12 @@ p { ...@@ -845,6 +845,12 @@ p {
width: 100%; width: 100%;
} }
.inviteBind .timeTip {
text-align: center;
font-size: 0.32rem;
padding-left: 0;
}
.unbindState-dialog { .unbindState-dialog {
position: fixed; position: fixed;
top: 0; top: 0;
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
<li>{{ $t('inviteBind.cont1') }}</li> <li>{{ $t('inviteBind.cont1') }}</li>
<li>{{ $t('inviteBind.cont2') }}</li> <li>{{ $t('inviteBind.cont2') }}</li>
<li>{{ $t('inviteBind.cont3') }}</li> <li>{{ $t('inviteBind.cont3') }}</li>
<li class="timeTip">{{ $t('inviteBind.tip') }}</li>
</ul> </ul>
<u-button :init-param="componentsConfig.qrcodeButton.initParam" v-on:u-button-tap="onQRcodeButtonTap"></u-button> <u-button :init-param="componentsConfig.qrcodeButton.initParam" v-on:u-button-tap="onQRcodeButtonTap"></u-button>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment