emis-app/App.vue
2024-07-30 14:01:00 +08:00

173 lines
4.1 KiB
Vue
Raw 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=============")
// #ifdef APP-PLUS
// App平台检测升级,服务端代码是通过uniCloud的云函数实现的,详情可参考:https://ext.dcloud.net.cn/plugin?id=4542
// if (plus.runtime.appid !== 'HBuilder') { // 真机运行不需要检查更新,真机运行时appid固定为'HBuilder',这是调试基座的appid
// checkUpdate()
// }
checkUpdate()
// #endif
},
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>