vue-pro/yudao-vue-ui/App.vue

107 lines
25 KiB
Vue
Raw Normal View History

2021-11-24 23:33:06 +08:00
<script>
2021-11-26 09:47:23 +08:00
import Vue from 'vue'
import { getAuthToken } from '@/common/js/util.js'
let __timerId = 0;
2021-11-24 23:33:06 +08:00
export default {
2021-11-26 09:47:23 +08:00
onLaunch() {
uni.getSystemInfo({
success: e=> {
this.initSize(e);
}
})
this.initLogin();
2021-11-24 23:33:06 +08:00
},
2021-11-26 09:47:23 +08:00
methods: {
// 初始化登陆状态
async initLogin(){
const token = getAuthToken()
if (!token) {
return;
}
// 通过设置 Token 的方式,触发加载用户信息
this.$store.commit('setToken', {
token
});
},
/**
* 存储设备信息 参考colorUI
* @param {Object}
*/
initSize(e){
const systemInfo = e;
let navigationBarHeight;
let custom = {};
// #ifndef MP
custom = {height: 36,width: 88};
navigationBarHeight = 44;
// #endif
// #ifdef MP
custom = wx.getMenuButtonBoundingClientRect();
navigationBarHeight = custom.bottom + custom.top - e.statusBarHeight * 2;
// #endif
systemInfo.custom = custom;
systemInfo.navigationBarHeight = navigationBarHeight;
Vue.prototype.systemInfo = systemInfo;
},
//打开全局定时器
openTimer(){
this.closeTimer();
__timerId = setInterval(()=>{
this.$store.commit('setStateAttr', {
key: 'timerIdent',
val: !this.$store.state.timerIdent
})
}, 1000)
},
//关闭定时器
closeTimer(){
if(__timerId != 0){
clearInterval(__timerId);
__timerId = 0;
}
},
2021-11-24 23:33:06 +08:00
},
2021-11-26 09:47:23 +08:00
onShow() {
console.log('app show');
this.openTimer();
},
onHide() {
this.closeTimer();
2021-11-24 23:33:06 +08:00
}
}
</script>
2021-11-26 09:47:23 +08:00
<style lang="scss">
2021-11-24 23:33:06 +08:00
/*每个页面公共css */
@import url("./common/css/common.css");
@import url("./common/css/icon.css");
2021-11-27 20:09:13 +08:00
@import "@/uni_modules/uview-ui/index.scss";
2021-11-26 09:47:23 +08:00
.lazyload{
position: relative;
&.lazypic{
&:after{
content: '';
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-image: url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QONaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDk2YzE1OGEtNDgwYi1lZjRhLTk1NzYtZWM0MzZmNmMyNDQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2RjVCRUM2QTY0QzExRTlCM0Y1OEVDNUMxRTQ3REE2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2RjVCRUM1QTY0QzExRTlCM0Y1OEVDNUMxRTQ3REE2IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmQ3NTBhNjM2LWIxN2UtOGQ0MS1hMGFlLTllZTliZjkzMzhhMCIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjAyZTYxMzJlLTYyYzItOTQ0My1iMmYwLWE3NzA0NjVmMTljOCIvPiA8L3Jk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
background-size: 100% 100%;
opacity: 0.3;
}
}
image{
position: relative;
z-index: 1;
opacity: 0;
}
&.loaded image{
transition: .7s;
opacity: 1 !important;
}
}
</style>