|  | @@ -6,299 +6,299 @@ const uid = Parse?.User?.current()?.id
 | 
	
		
			
				|  |  |  let getSportData = require('../../service/getSportData')
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Component({
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * 组件的属性列表
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    properties: {
 | 
	
		
			
				|  |  | +  /**
 | 
	
		
			
				|  |  | +   * 组件的属性列表
 | 
	
		
			
				|  |  | +   */
 | 
	
		
			
				|  |  | +  properties: {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * 组件的初始数据
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    data: {
 | 
	
		
			
				|  |  | -        //屏幕高度
 | 
	
		
			
				|  |  | -        statusBarHeight: 0, // 状态栏高度
 | 
	
		
			
				|  |  | -        screenHeight: 0, // 屏幕高度
 | 
	
		
			
				|  |  | -        customHeight: 0, // 自定义导航栏高度(如小程序右上角胶囊按钮)
 | 
	
		
			
				|  |  | -        bottomNavHeight: 0, // 底部导航栏高度
 | 
	
		
			
				|  |  | -        contentHeight: 0, // 可用内容高度
 | 
	
		
			
				|  |  | -        contentpadding: 0, //顶部padding高度
 | 
	
		
			
				|  |  | -        navheight: 0,
 | 
	
		
			
				|  |  | +  /**
 | 
	
		
			
				|  |  | +   * 组件的初始数据
 | 
	
		
			
				|  |  | +   */
 | 
	
		
			
				|  |  | +  data: {
 | 
	
		
			
				|  |  | +    //屏幕高度
 | 
	
		
			
				|  |  | +    statusBarHeight: 0, // 状态栏高度
 | 
	
		
			
				|  |  | +    screenHeight: 0, // 屏幕高度
 | 
	
		
			
				|  |  | +    customHeight: 0, // 自定义导航栏高度(如小程序右上角胶囊按钮)
 | 
	
		
			
				|  |  | +    bottomNavHeight: 0, // 底部导航栏高度
 | 
	
		
			
				|  |  | +    contentHeight: 0, // 可用内容高度
 | 
	
		
			
				|  |  | +    contentpadding: 0, //顶部padding高度
 | 
	
		
			
				|  |  | +    navheight: 0,
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        circlecount: 0,
 | 
	
		
			
				|  |  | -        likesCount: 0,
 | 
	
		
			
				|  |  | -        User1List: [],
 | 
	
		
			
				|  |  | -        profile1List2: [],
 | 
	
		
			
				|  |  | -        meChick:0,//当前用户累计签到天数
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    lifetimes: {
 | 
	
		
			
				|  |  | +    circlecount: 0,
 | 
	
		
			
				|  |  | +    likesCount: 0,
 | 
	
		
			
				|  |  | +    User1List: [],
 | 
	
		
			
				|  |  | +    profile1List2: [],
 | 
	
		
			
				|  |  | +    meChick: 0, //当前用户累计签到天数
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  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;
 | 
	
		
			
				|  |  | +    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()
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | +      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()
 | 
	
		
			
				|  |  | +      this.getMeChick()
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    /**
 | 
	
		
			
				|  |  | -     * 组件的方法列表
 | 
	
		
			
				|  |  | -     */
 | 
	
		
			
				|  |  | -    methods: {
 | 
	
		
			
				|  |  | -      /**获取累计签到天数 */
 | 
	
		
			
				|  |  | -      async getMeChick() {
 | 
	
		
			
				|  |  | -        let meChick = await getSportData.getChickCount(uid, 'ActivityData')||0
 | 
	
		
			
				|  |  | -        this.setData({
 | 
	
		
			
				|  |  | -          meChick
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -        gourl(e) {
 | 
	
		
			
				|  |  | +  /**
 | 
	
		
			
				|  |  | +   * 组件的方法列表
 | 
	
		
			
				|  |  | +   */
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    /**获取中部数据 */
 | 
	
		
			
				|  |  | +    async getMeChick() {
 | 
	
		
			
				|  |  | +      let meChick = await getSportData.getChickCount(uid, 'EventLog') || 0
 | 
	
		
			
				|  |  | +      this.setData({
 | 
	
		
			
				|  |  | +        meChick
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    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());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            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 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();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        //     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 (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,
 | 
	
		
			
				|  |  | -            })
 | 
	
		
			
				|  |  | +      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.equalTo('user', currentUser.id);
 | 
	
		
			
				|  |  | +      Profilequery.descending('createdAt');
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            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.equalTo('user', currentUser.id);
 | 
	
		
			
				|  |  | -            Profilequery.descending('createdAt');
 | 
	
		
			
				|  |  | +      let moments = await Profilequery.find(); // 查找所有动态
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            let moments = await Profilequery.find(); // 查找所有动态
 | 
	
		
			
				|  |  | +      if (moments.length) {
 | 
	
		
			
				|  |  | +        this.setData({
 | 
	
		
			
				|  |  | +          circlecount: moments.length
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            if (moments.length) {
 | 
	
		
			
				|  |  | -                this.setData({
 | 
	
		
			
				|  |  | -                    circlecount: moments.length
 | 
	
		
			
				|  |  | -                });
 | 
	
		
			
				|  |  | +        // 获取所有动态的ID
 | 
	
		
			
				|  |  | +        let momentIds = moments.map(moment => moment.id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                // 获取所有动态的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 来一次性查询多个动态的点赞
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                // 创建对 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();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                // 统计点赞数量
 | 
	
		
			
				|  |  | -                let likesCount = await LikeQuery.count();
 | 
	
		
			
				|  |  | +        // 这里可以进一步处理 likesCount,按动态分配点赞数量
 | 
	
		
			
				|  |  | +        console.log(`总点赞数量: ${likesCount}`);
 | 
	
		
			
				|  |  | +        this.setData({
 | 
	
		
			
				|  |  | +          likesCount,
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                // 这里可以进一步处理 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);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**退出登录 */
 | 
	
		
			
				|  |  | +    outLogin() {
 | 
	
		
			
				|  |  | +      wx.showModal({
 | 
	
		
			
				|  |  | +        title: '提示',
 | 
	
		
			
				|  |  | +        content: '你确定退出登录吗?',
 | 
	
		
			
				|  |  | +        showCancel: true,
 | 
	
		
			
				|  |  | +        cancelText: '取消',
 | 
	
		
			
				|  |  | +        cancelColor: '#000000',
 | 
	
		
			
				|  |  | +        confirmText: '确定',
 | 
	
		
			
				|  |  | +        confirmColor: '#3CC51F',
 | 
	
		
			
				|  |  | +        success: (result) => {
 | 
	
		
			
				|  |  | +          if (result.confirm) {
 | 
	
		
			
				|  |  | +            auth.logout()
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          },
 | 
	
		
			
				|  |  | -        //查看积分
 | 
	
		
			
				|  |  | -        async getpoint() {
 | 
	
		
			
				|  |  | +        fail: () => {},
 | 
	
		
			
				|  |  | +        complete: () => {}
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    gourl(e) {
 | 
	
		
			
				|  |  | +      const url = e.currentTarget.dataset.url
 | 
	
		
			
				|  |  | +      wx.navigateTo({
 | 
	
		
			
				|  |  | +        url: `${url}` // 目标页面的路径
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        //获取头像名称
 | 
	
		
			
				|  |  | -        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);
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        /**退出登录 */
 | 
	
		
			
				|  |  | -        outLogin() {
 | 
	
		
			
				|  |  | -          wx.showModal({
 | 
	
		
			
				|  |  | -            title: '提示',
 | 
	
		
			
				|  |  | -            content: '你确定退出登录吗?',
 | 
	
		
			
				|  |  | -            showCancel: true,
 | 
	
		
			
				|  |  | -            cancelText: '取消',
 | 
	
		
			
				|  |  | -            cancelColor: '#000000',
 | 
	
		
			
				|  |  | -            confirmText: '确定',
 | 
	
		
			
				|  |  | -            confirmColor: '#3CC51F',
 | 
	
		
			
				|  |  | -            success: (result) => {
 | 
	
		
			
				|  |  | -              if (result.confirm) {
 | 
	
		
			
				|  |  | -                auth.logout()
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | -            fail: () => {},
 | 
	
		
			
				|  |  | -            complete: () => {}
 | 
	
		
			
				|  |  | -          });
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  | -        gourl(e) {
 | 
	
		
			
				|  |  | -            const url = e.currentTarget.dataset.url
 | 
	
		
			
				|  |  | -            wx.navigateTo({
 | 
	
		
			
				|  |  | -                url: `${url}` // 目标页面的路径
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | -        },
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  /**隐私协议 */
 | 
	
		
			
				|  |  | -  async getArticle() {
 | 
	
		
			
				|  |  | -    let query = new Parse.Query("Article")
 | 
	
		
			
				|  |  | -    query.equalTo("company", company)
 | 
	
		
			
				|  |  | -    query.equalTo("type", 'home')
 | 
	
		
			
				|  |  | -    query.equalTo("isEnabled", true)
 | 
	
		
			
				|  |  | -    query.select("title", "attachment")
 | 
	
		
			
				|  |  | -    let res = await query.first()
 | 
	
		
			
				|  |  | -    if (res && res.id) {
 | 
	
		
			
				|  |  | -      let r = res.toJSON()
 | 
	
		
			
				|  |  | -      if (r.attachment && r.attachment.length > 0) {
 | 
	
		
			
				|  |  | -        this.setData({
 | 
	
		
			
				|  |  | -          attachment: r
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  //附件下载
 | 
	
		
			
				|  |  | -  async openFile() {
 | 
	
		
			
				|  |  | -    await this.getArticle()
 | 
	
		
			
				|  |  | -    let {
 | 
	
		
			
				|  |  | -      attachment
 | 
	
		
			
				|  |  | -    } = this.data
 | 
	
		
			
				|  |  | -    let url = attachment.attachment[0].url,
 | 
	
		
			
				|  |  | -      name = attachment.title
 | 
	
		
			
				|  |  | -    const _this = this
 | 
	
		
			
				|  |  | -    let rep = this.getFileType(url)
 | 
	
		
			
				|  |  | -    wx.showLoading({
 | 
	
		
			
				|  |  | -      title: '加载中',
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | -    wx.downloadFile({
 | 
	
		
			
				|  |  | -      url: url, //要预览的PDF的地址
 | 
	
		
			
				|  |  | -      filePath: wx.env.USER_DATA_PATH + `/${name}.${rep}`,
 | 
	
		
			
				|  |  | -      success: function (res) {
 | 
	
		
			
				|  |  | -        if (res.statusCode === 200) { //成功
 | 
	
		
			
				|  |  | -          var Path = res.filePath //返回的文件临时地址,用于后面打开本地预览所用
 | 
	
		
			
				|  |  | -          wx.openDocument({
 | 
	
		
			
				|  |  | -            filePath: Path, //要打开的文件路径
 | 
	
		
			
				|  |  | -            showMenu: true,
 | 
	
		
			
				|  |  | -            success: function (res) {
 | 
	
		
			
				|  |  | -              wx.hideLoading()
 | 
	
		
			
				|  |  | -            },
 | 
	
		
			
				|  |  | -            fail: function (res) {
 | 
	
		
			
				|  |  | -              wx.hideLoading()
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +    /**隐私协议 */
 | 
	
		
			
				|  |  | +    async getArticle() {
 | 
	
		
			
				|  |  | +      let query = new Parse.Query("Article")
 | 
	
		
			
				|  |  | +      query.equalTo("company", company)
 | 
	
		
			
				|  |  | +      query.equalTo("type", 'home')
 | 
	
		
			
				|  |  | +      query.equalTo("isEnabled", true)
 | 
	
		
			
				|  |  | +      query.select("title", "attachment")
 | 
	
		
			
				|  |  | +      let res = await query.first()
 | 
	
		
			
				|  |  | +      if (res && res.id) {
 | 
	
		
			
				|  |  | +        let r = res.toJSON()
 | 
	
		
			
				|  |  | +        if (r.attachment && r.attachment.length > 0) {
 | 
	
		
			
				|  |  | +          this.setData({
 | 
	
		
			
				|  |  | +            attachment: r
 | 
	
		
			
				|  |  |            })
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -      fail: function (res) {
 | 
	
		
			
				|  |  | -        wx.hideLoading()
 | 
	
		
			
				|  |  | -      },
 | 
	
		
			
				|  |  | -    })
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -  //解析文件类型
 | 
	
		
			
				|  |  | -  getFileType(url) {
 | 
	
		
			
				|  |  | -    let pdfReg = /^.+(\.pdf)$/
 | 
	
		
			
				|  |  | -    let txtReg = /^.+(\.txt)$/
 | 
	
		
			
				|  |  | -    let wordReg = /^.+(\.doc|\.docx)$/
 | 
	
		
			
				|  |  | -    let excelReg = /^.+(\.xls|\.xlsx)$/
 | 
	
		
			
				|  |  | -    let jpgPng = /^.+(\.png)$/
 | 
	
		
			
				|  |  | -    let jpgJpg = /^.+(\.jpg)$/
 | 
	
		
			
				|  |  | -    let jpgJpeg = /^.+(\.jpeg)$/
 | 
	
		
			
				|  |  | -    if (pdfReg.test(url)) {
 | 
	
		
			
				|  |  | -      return 'pdf'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (txtReg.test(url)) {
 | 
	
		
			
				|  |  | -      return 'txt'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (wordReg.test(url)) {
 | 
	
		
			
				|  |  | -      return 'doc'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (excelReg.test(url)) {
 | 
	
		
			
				|  |  | -      return 'xls'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (jpgPng.test(url)) {
 | 
	
		
			
				|  |  | -      return 'png'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (jpgJpg.test(url)) {
 | 
	
		
			
				|  |  | -      return 'jpg'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    if (jpgJpeg.test(url)) {
 | 
	
		
			
				|  |  | -      return 'jpeg'
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -  },
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //附件下载
 | 
	
		
			
				|  |  | +    async openFile() {
 | 
	
		
			
				|  |  | +      await this.getArticle()
 | 
	
		
			
				|  |  | +      let {
 | 
	
		
			
				|  |  | +        attachment
 | 
	
		
			
				|  |  | +      } = this.data
 | 
	
		
			
				|  |  | +      let url = attachment.attachment[0].url,
 | 
	
		
			
				|  |  | +        name = attachment.title
 | 
	
		
			
				|  |  | +      const _this = this
 | 
	
		
			
				|  |  | +      let rep = this.getFileType(url)
 | 
	
		
			
				|  |  | +      wx.showLoading({
 | 
	
		
			
				|  |  | +        title: '加载中',
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +      wx.downloadFile({
 | 
	
		
			
				|  |  | +        url: url, //要预览的PDF的地址
 | 
	
		
			
				|  |  | +        filePath: wx.env.USER_DATA_PATH + `/${name}.${rep}`,
 | 
	
		
			
				|  |  | +        success: function (res) {
 | 
	
		
			
				|  |  | +          if (res.statusCode === 200) { //成功
 | 
	
		
			
				|  |  | +            var Path = res.filePath //返回的文件临时地址,用于后面打开本地预览所用
 | 
	
		
			
				|  |  | +            wx.openDocument({
 | 
	
		
			
				|  |  | +              filePath: Path, //要打开的文件路径
 | 
	
		
			
				|  |  | +              showMenu: true,
 | 
	
		
			
				|  |  | +              success: function (res) {
 | 
	
		
			
				|  |  | +                wx.hideLoading()
 | 
	
		
			
				|  |  | +              },
 | 
	
		
			
				|  |  | +              fail: function (res) {
 | 
	
		
			
				|  |  | +                wx.hideLoading()
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        fail: function (res) {
 | 
	
		
			
				|  |  | +          wx.hideLoading()
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    //解析文件类型
 | 
	
		
			
				|  |  | +    getFileType(url) {
 | 
	
		
			
				|  |  | +      let pdfReg = /^.+(\.pdf)$/
 | 
	
		
			
				|  |  | +      let txtReg = /^.+(\.txt)$/
 | 
	
		
			
				|  |  | +      let wordReg = /^.+(\.doc|\.docx)$/
 | 
	
		
			
				|  |  | +      let excelReg = /^.+(\.xls|\.xlsx)$/
 | 
	
		
			
				|  |  | +      let jpgPng = /^.+(\.png)$/
 | 
	
		
			
				|  |  | +      let jpgJpg = /^.+(\.jpg)$/
 | 
	
		
			
				|  |  | +      let jpgJpeg = /^.+(\.jpeg)$/
 | 
	
		
			
				|  |  | +      if (pdfReg.test(url)) {
 | 
	
		
			
				|  |  | +        return 'pdf'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (txtReg.test(url)) {
 | 
	
		
			
				|  |  | +        return 'txt'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (wordReg.test(url)) {
 | 
	
		
			
				|  |  | +        return 'doc'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (excelReg.test(url)) {
 | 
	
		
			
				|  |  | +        return 'xls'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (jpgPng.test(url)) {
 | 
	
		
			
				|  |  | +        return 'png'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (jpgJpg.test(url)) {
 | 
	
		
			
				|  |  | +        return 'jpg'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      if (jpgJpeg.test(url)) {
 | 
	
		
			
				|  |  | +        return 'jpeg'
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  })
 |