// nova-werun/components/my/index.js
const Parse = getApp().Parse;
const company = getApp().globalData.company;
Component({
    /**
     * 组件的属性列表
     */
    properties: {

    },

    /**
     * 组件的初始数据
     */
    data: {
        //屏幕高度
        statusBarHeight: 0, // 状态栏高度
        screenHeight: 0, // 屏幕高度
        customHeight: 0, // 自定义导航栏高度（如小程序右上角胶囊按钮）
        bottomNavHeight: 0, // 底部导航栏高度
        contentHeight: 0, // 可用内容高度
        contentpadding: 0, //顶部padding高度
        navheight: 0,

        circlecount: 0,
        likesCount: 0,
        User1List: [],
        profile1List2: []
    },
    lifetimes: {

        detached: function () {
            // 在组件实例被从页面节点树移除时执行
        },
        attached: async function () {
            // 在组件实例进入页面节点树时执行
            // 计算
            const systemInfo = wx.getSystemInfoSync();
            const statusBarHeight = systemInfo.statusBarHeight || 0;
            const screenHeight = systemInfo.screenHeight || 0;
            const custom = wx.getMenuButtonBoundingClientRect();
            const customHeight = custom.height + 10 + 2 || 0;
            const bottomNavHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom || 0;

            const contentpadding = (statusBarHeight + customHeight) * 750 / systemInfo.windowWidth;
            const contentHeight = (screenHeight - bottomNavHeight - 50 - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth;
            const navheight = (statusBarHeight + customHeight) * 750 / systemInfo.windowWidth;
            this.setData({
                statusBarHeight,
                screenHeight: (screenHeight - 50 - bottomNavHeight) * 750 / systemInfo.windowWidth,
                customHeight,
                bottomNavHeight,
                contentHeight,
                contentpadding,
                navheight
            });
            this.getcircle()
            this.getname()
        },
    },

    /**
     * 组件的方法列表
     */
    methods: {
        gourl(e) {
            const url = e.currentTarget.dataset.url
            wx.navigateTo({
                url: `${url}` // 目标页面的路径
            });
        },
        gourl2(e) {
            const type = e.currentTarget.dataset.type
            const url = e.currentTarget.dataset.url
            wx.navigateTo({
                url: `${url}?type=` + type // 目标页面的路径
            });
        },
        //查全部朋友圈
        // async getcircle() {
        //     const currentUser = Parse.User.current();
        //     let Profilequery2 = new Parse.Query('Profile');
        //     Profilequery2.equalTo('company', company);
        //     Profilequery2.equalTo('user', currentUser.id);
        //     Profilequery2.equalTo('isCheck', true);
        //     Profilequery2.notEqualTo('isDeleted', true)
        //     let P2 = await Profilequery2.find();
        //     let profile1List2 = P2.map(item => item.toJSON());

        //     let Profilequery = new Parse.Query('AIMoment');
        //     Profilequery.equalTo('company', company);
        //     Profilequery.equalTo('isVisible', true);
        //     Profilequery.notEqualTo('isDeleted', true)
        //     Profilequery.equalTo('profile', profile1List2[0].objectId);
        //     Profilequery.descending('createdAt');

        //     let count = await Profilequery.count();

        //     if (count) {
        //         this.setData({
        //             circlecount: count
        //         })
        //     }
        // },
        async getcircle() {
            const currentUser = Parse.User.current();
            let Profilequery2 = new Parse.Query('Profile');
            Profilequery2.equalTo('company', company);
            Profilequery2.equalTo('user', currentUser.id);
            Profilequery2.equalTo('isCheck', true);
            Profilequery2.notEqualTo('isDeleted', true);
            Profilequery2.include('user');
            Profilequery2.include('center');
            Profilequery2.include('department');
            let P2 = await Profilequery2.find();
            let profile1List2 = P2.map(item => item.toJSON());
            this.setData({
                profile1List2,
            })
            if (profile1List2.length != 0) {
                console.log('信息', this.data.profile1List2);
                let Profilequery = new Parse.Query('AIMoment');
                Profilequery.equalTo('company', company);
                Profilequery.equalTo('isVisible', true);
                Profilequery.notEqualTo('isDeleted', true);
                Profilequery.equalTo('profile', profile1List2[0].objectId);
                Profilequery.descending('createdAt');

                let moments = await Profilequery.find(); // 查找所有动态

                if (moments.length) {
                    this.setData({
                        circlecount: moments.length
                    });

                    // 获取所有动态的ID
                    let momentIds = moments.map(moment => moment.id);

                    // 创建对 AIMomentLike 表的查询
                    let LikeQuery = new Parse.Query('AIMomentLike');
                    LikeQuery.equalTo('isLiked', true);
                    LikeQuery.equalTo('company', company);
                    LikeQuery.notEqualTo('isDeleted', true);
                    LikeQuery.containedIn('moment', momentIds); // 使用 containedIn 来一次性查询多个动态的点赞

                    // 统计点赞数量
                    let likesCount = await LikeQuery.count();

                    // 这里可以进一步处理 likesCount，按动态分配点赞数量
                    console.log(`总点赞数量: ${likesCount}`);
                    this.setData({
                        likesCount,
                    })
                }
            }

        },
        //查看积分
        async getpoint() {

        },
        //获取头像名称
        async getname() {
            const currentUser = Parse.User.current();
            let Userquery = new Parse.Query('_User');
            Userquery.equalTo('company', company);
            Userquery.equalTo('objectId', currentUser.id);
            Userquery.notEqualTo('isDeleted', true)
            let P2 = await Userquery.find();
            let User1List = P2.map(item => item.toJSON());
            this.setData({
                User1List
            })
            console.log(this.data.User1List);
        },
        gourl(e) {
            const url = e.currentTarget.dataset.url
            wx.navigateTo({
                url: `${url}` // 目标页面的路径
            });
        },
    }
})