110 lines
3.0 KiB
Vue
110 lines
3.0 KiB
Vue
<script setup>
|
||
import { reactive, inject, onMounted } from 'vue';
|
||
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app';
|
||
import useUserStore from './stores/useUserStore';
|
||
import useDictStore from './stores/useDictStore';
|
||
const { $api, navTo, appendScriptTagElement } = inject('globalFunction');
|
||
import config from '@/config.js';
|
||
|
||
onLaunch((options) => {
|
||
useUserStore().initSeesionId(); //更新
|
||
useDictStore().getDictData();
|
||
// uni.hideTabBar();
|
||
|
||
// 尝试从缓存恢复用户信息
|
||
const restored = useUserStore().restoreUserInfo();
|
||
|
||
if (restored) {
|
||
// 如果成功恢复用户信息,验证token是否有效
|
||
let token = uni.getStorageSync('token') || '';
|
||
if (token) {
|
||
useUserStore()
|
||
.loginSetToken(token)
|
||
.then(() => {
|
||
console.log('用户登录状态已恢复');
|
||
})
|
||
.catch(() => {
|
||
// token无效,清除缓存(不跳转登录页)
|
||
console.log('token已过期,需要重新登录');
|
||
useUserStore().logOut(false);
|
||
});
|
||
}
|
||
}
|
||
// 不再强制跳转到登录页,而是在需要登录时弹出授权弹窗
|
||
});
|
||
|
||
onMounted(() => {
|
||
// #ifndef MP-WEIXIN
|
||
appendScriptTagElement('https://qd.zhaopinzao8dian.com/file/csn/jweixin-1.4.0.js').then(() => {
|
||
console.log('✅ 微信 JSSDK 加载完成');
|
||
// signatureFn();
|
||
});
|
||
// #endif
|
||
});
|
||
|
||
onShow(() => {
|
||
console.log('App Show');
|
||
});
|
||
|
||
onHide(() => {
|
||
console.log('App Hide');
|
||
});
|
||
</script>
|
||
|
||
<style>
|
||
/*每个页面公共css */
|
||
@import '@/common/animation.css';
|
||
@import '@/common/common.css';
|
||
/* 引入阿里图标库 */
|
||
@import url("/static/iconfont/iconfont.css");
|
||
/* 修改pages tabbar样式 H5有效 */
|
||
.uni-tabbar .uni-tabbar__item:nth-child(4) .uni-tabbar__bd .uni-tabbar__icon {
|
||
height: 110rpx !important;
|
||
width: 122rpx !important;
|
||
margin-top: 6rpx;
|
||
}
|
||
|
||
.uni-tabbar-border {
|
||
background-color: transparent !important;
|
||
/* background-color: #e4e4e4 !important; */
|
||
}
|
||
.uni-popup {
|
||
z-index: 1001 !important;
|
||
}
|
||
/* 提升toast层级 */
|
||
uni-toast,
|
||
uni-modal,
|
||
.uni-modal,
|
||
.uni-mask {
|
||
z-index: 998;
|
||
}
|
||
|
||
@font-face {
|
||
font-family: DingTalk JinBuTi;
|
||
src: url('/static/font/DingTalk JinBuTi_min.woff2') format('woff2');
|
||
font-display: swap;
|
||
}
|
||
|
||
@font-face {
|
||
font-family: PingFangSC-Regular;
|
||
src: url('https://qd.zhaopinzao8dian.com/file/csn/PingFangSC-Regular.woff2') format('woff2');
|
||
font-display: swap;
|
||
}
|
||
|
||
@font-face {
|
||
font-family: PingFangSC-Medium;
|
||
src: url('https://qd.zhaopinzao8dian.com/file/csn/PingFangSC-Medium.woff2') format('woff2');
|
||
font-display: swap;
|
||
}
|
||
|
||
@font-face {
|
||
font-family: DIN-Medium;
|
||
src: url('https://qd.zhaopinzao8dian.com/file/csn/DIN-Medium.woff2') format('woff2');
|
||
font-display: swap;
|
||
}
|
||
|
||
body {
|
||
font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
||
}
|
||
</style>
|