<template>
    <view>
        <!-- pages/messageCenter/messageCenter.wxml -->
        <nav-bar :navbarData="navbarData"></nav-bar>
        <view v-if="ifLogon" class="home" :style="'margin-top: ' + (height * 2 + 10) + 'rpx; height: calc(100vh - ' + (height * 2 + 10) + 'rpx)'">
            <messageCenter ref="messageCenter" />
        </view>
    </view>
</template>

<script>
import Cache from '../../../utils/cache';
import messageCenter from '@/pages/components/messageCenter/messageCenter';
import navBar from '@/pages/components/navbar/index';
// pages/messageCenter/messageCenter.js
const app = getApp();
export default {
    components: {
        messageCenter,
        navBar
    },
    data() {
        return {
            navbarData: {
                background: '',
                title: '消息',
                //导航栏 中间的标题
                bottom: true,
                cleanPat: 'Y'
            },
            height: app.globalData.height,
            ifLogon: false
        };
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {},
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {},
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        let userData = Cache.get('userData');
        this.setData({
            ifLogon: !!(userData && userData.userID)
        });
        // Vue3 下 zp-mixins 的 pageLifetimes 依赖 $children 遍历子组件，
        // 但 Vue3 移除了 $children，导致组件 handlePageShow 不会被调用。
        // 这里在 DOM 更新后通过 $refs 直接调用，确保消息列表能正常加载。
        var that = this;
        this.$nextTick(function () {
            var comp = that.$refs && that.$refs.messageCenter;
            if (comp && typeof comp.handlePageShow === 'function') {
                comp.handlePageShow();
            }
        });
    },
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {},
    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {},
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {},
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {},
    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {},
    onTabItemTap: function (e) {
        let userData = Cache.get('userData');
        if (!userData || !userData.userID) {
            this.setData({
                ifLogon: false
            });
            uni.showToast({
                title: '请先登录',
                icon: 'none'
            });
            setTimeout(() => {
                uni.switchTab({
                    url: '/pages/tabBar/login/login'
                });
            }, 1500);
        }
    },
    methods: {}
};
</script>
<style>
/* pages/messageCenter/messageCenter.wxss */

.home {
    height: 100%;
    width: 100%;
}
</style>
