emis-app/App.vue
2025-06-29 09:25:27 +08:00

169 lines
3.7 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script>
import {
mapMutations
} from 'vuex'
import {
version
} from './package.json'
// import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update';
import { USERKEY, COMMONKEY } from "@/store/actionKey"
import { checkUpdate } from "@/common/appUpdate"
import { setSessionSystemInfo, getSessionSystemInfo } from "@/session"
import { onPushMessage } from "@/common/messageNotice"
export default {
globalData: {
},
onLaunch: function() {
this.$store.dispatch(USERKEY.GETUSERINFO)
this.$store.dispatch(COMMONKEY.GETDIC)
// 监听消息通知
onPushMessage()
// #ifdef H5
console.log(
`%c hello uniapp %c v${version} `,
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
'background:#007aff ;padding: 1px; border-radius: 0 3px 3px 0; color: #fff; font-weight: bold;'
)
// #endif
// 线上示例使用
console.log('App Launch');
// #ifdef APP-PLUS
// 一键登录预登陆,可以显著提高登录速度
uni.preLogin({
provider: 'univerify',
success: (res) => {
// 成功
this.setUniverifyErrorMsg();
console.log("preLogin success: ", res);
},
fail: (res) => {
this.setUniverifyLogin(false);
this.setUniverifyErrorMsg(res.errMsg);
// 失败
console.log("preLogin fail res: ", res);
}
})
// #endif
},
onShow: function() {
console.log('HHH Show')
this.updateActiveTime()
this.appCheckUpdate()
},
onHide: function() {
this.updateActiveTime({ directUpdate: true })
console.log('HHH Hide')
},
globalData: {
test: ''
},
methods: {
...mapMutations(['setUniverifyErrorMsg', 'setUniverifyLogin']),
appCheckUpdate(){
console.log("appCheckUpdate=============")
checkUpdate()
},
async updateActiveTime(opt = {}){
let { directUpdate } = opt
let { lastActiveTime } = getSessionSystemInfo()
let curTime = new Date().valueOf()
let diff = (curTime - lastActiveTime)
// 活跃时间间隔超过一个小时 需要重新登录
if(diff > 1000 * 60 * 60 && !directUpdate) {
await this.$store.dispatch(USERKEY.LOGOUT)
this.goto(`login/login`, 2)
} else {
setSessionSystemInfo({ lastActiveTime: curTime })
}
}
}
}
</script>
<style lang="scss">
@import '@/common/custom.scss';
@import '@/uni_modules/uview-plus/index.scss';
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
@import '@/uni_modules/uni-scss/index.scss';
/* #ifndef APP-PLUS-NVUE */
/* uni.css - 通用组件、模板样式库,可以当作一套ui库应用 */
@import './common/uni.css';
@import '@/static/customicons.css';
/* H5 兼容 pc 所需 */
/* #ifdef H5 */
@media screen and (min-width: 768px) {
body {
overflow-y: scroll;
}
}
/* 顶栏通栏样式 */
/* .uni-top-window {
left: 0;
right: 0;
} */
uni-page-body {
background-color: #F5F5F5 !important;
min-height: 100% !important;
height: auto !important;
}
.uni-top-window uni-tabbar .uni-tabbar {
background-color: #fff !important;
}
.uni-app--showleftwindow .hideOnPc {
display: none !important;
}
/* #endif */
/* 以下样式用于 hello uni-app 演示所需 */
page {
background-color: #efeff4;
height: 100%;
font-size: 28rpx;
/* line-height: 1.8; */
}
.fix-pc-padding {
padding: 0 50px;
}
.uni-header-logo {
padding: 30rpx;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 10rpx;
}
.uni-header-image {
width: 100px;
height: 100px;
}
.uni-hello-text {
color: #7A7E83;
}
.uni-hello-addfile {
text-align: center;
line-height: 300rpx;
background: #FFF;
padding: 50rpx;
margin-top: 10px;
font-size: 38rpx;
color: #808080;
}
/* #endif*/
</style>