flying-monkey/pages/guide-page/guide-page.vue

126 lines
3.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view :style="{height: windowHeight+'px'}" style="overflow: hidden;">
<image :src="ad_img" mode="widthFix" style="width: 100%;"></image>
<view @tap="closeEv" class="disjcac count-box colf fon28 radius10" :class="ifH5?'app-h5-count-box' :'wx-count-box'" :style="{top:ifH5 ? statuHeigh+10+'px' :''}">{{count}} 关闭</view>
</view>
</template>
<script>
export default {
data() {
return {
windowHeight:uni.getSystemInfoSync().windowHeight,
statuHeigh:uni.getSystemInfoSync().statusBarHeight,
// ad_img:'/static/public/icon-guide.png',
ad_img:'',
count:3,//右上角倒计时数
timeNum:3000,//页面延迟跳转秒
countTimer:null,//控制右上角倒计时事件
timeNumTimer:null,//控制页面延迟跳转事件
omg:0,//判断是否已经登录过0未登录 1登录过
ifH5:0
}
},
onLoad() {
// #ifdef APP-PLUS || H5
this.ifH5 = true;
// #endif
// #ifdef MP-WEIXIN
this.ifH5 = false;
// #endif
// this.checkContext();
if(uni.getStorageSync('guideImg')){
this.ad_img = uni.getStorageSync('guideImg');
// 调用倒计时事件
this.countDownEv();
} else {
this.$requst.get('/universal/api.other/advertise').then(res=>{
if(res.code) {
this.ad_img = res.data.ad_img;
uni.setStorageSync('guideImg',this.ad_img);
// 调用倒计时事件
this.countDownEv();
// uni.setStorageSync('adImg',this.ad_img);
}
})
}
},
methods: {
// 倒计时事件
countDownEv(){
this.countTimer = setInterval(()=>{
if(this.count > 1){
this.count--
}
},1000)
this.timeNumTimer = setTimeout(()=>{
this.checkContext();
},this.timeNum)
},
// 关闭事件
closeEv(){
clearInterval(this.countTimer);
clearTimeout(this.timeNumTimer);
this.checkContext();
},
checkContext(){
if(uni.getStorageSync('password')) {
// 是否登录过登录过就直接刷新token重新登录
let params = {
login_type: 'account', // 登陆手机类型: mobile手机登陆、account账号密码登陆
phone: '', // 手机号码login_type 为 mobile 时必填
password: uni.getStorageSync('password'), // 密码login_type 为 account 时必填
sms_code: '', // 短信验证码login_type 为 mobile 时必填
username: uni.getStorageSync('phone'), //账号login_type 为 account 时必填
affiliation: uni.getStorageSync('unitName') // 单位名称
}
this.$requst.post('/universal/api.login/login',params).then(res=>{
if(res.code==1) {
this.$store.commit('setUid',res.data.uid);
// 缓存token和角色类型
uni.setStorageSync('token',res.data.token);
this.omg = 1;
this.goPage();
} else {
this.$toolAll.tools.showToast(res.msg);
this.omg = 0;
this.goPage();
}
})
} else {
this.omg = 0;
this.goPage();
}
},
// 跳转页面
goPage() {
let arr = [
'/pages/login/login',
'/pages/tabbar/pagehome/pagehome'
]
uni.reLaunch({url:arr[this.omg]})
}
}
}
</script>
<style>
page{background-color: #FFFFFF;}
.count-box{
background-color: rgba(0, 0, 0, .3);
/* padding: 16rpx 30rpx; */
width: 120rpx;
height: 60rpx;
}
.app-h5-count-box{
position: fixed;
right: 20rpx;
}
.wx-count-box{
position: fixed;
bottom: 40rpx;
left: 50%;
transform: translateX(-50%);
}
</style>