<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';
import { tabbarManager } from './utils/tabbarManager';
const { $api, navTo, appendScriptTagElement } = inject('globalFunction');
import config from '@/config.js';

onLaunch((options) => {
    useUserStore().initSeesionId(); //更新
    useDictStore().getDictData();

    // 先尝试从缓存恢复用户信息
    const restored = useUserStore().restoreUserInfo();
    
    // 用户信息恢复后再初始化自定义tabbar
    tabbarManager.initTabBar();
    
    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;
}

/* #ifdef H5 */
@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;
}
/* #endif */

body {
    font-family: 'PingFangSC-Regular', 'PingFang SC', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
</style>
