//index.js
//获取应用实例
const app = getApp();
// 引入SDK核心类
var QQMapWX = require('../../utils/qqmap-wx-jssdk.min.js');

Page({
    data: {
        is_bingding: false,
        imgUrls: [],
        cur: 0,
        currentSwiper: 0,
        autoplay: true, //是否自动轮播
        interval: 2000, //间隔时间
        duration: 500, //滑动时间
        this_week_test_info: {},
        past_test_info: [],
        is_buy: false,
        student_id: '',
        page_number:1,
        has_more:true,
    },
    //获取购买背景图
    getBuyCard() {
        let url = '/portal/Index/buy';
        let header = {
            "XX-token": wx.getStorageSync('token')
        };
        app.post(url, {}, {}).then((res) => {
            // console.log('获取购买背景图',res);
            this.setData({buy_card: res.info})
        })
    },
    //判断手机号是否绑定
    checkMobile() {
        let url = '/portal/Index/check_mobile';
        let header = {
            "XX-token": wx.getStorageSync('token')
        };
        app.post(url, {},header).then((res) => {
            // console.log(res);
            if(res.is_binding) {
                this.setData({is_bingding: true})
            }else {
                this.setData({is_bingding: false})
            }
        })
    },
    swiperChange: function (e) { //切换轮播图
        // console.log(e, e.detail.current, this.data.currentSwiper, this.data.cur)
        this.setData({
            currentSwiper: e.detail.current,
        })
    },
    //首次登录小程序,跳转到认证手机页面
    goPhoneCode() {
        wx.navigateTo({url: '/pages/index/phone-code/phone-code?from_index=' + true})
    },
    //点击购买畅玩卡
    goBuyCard() {
        wx.navigateTo({url: '/pages/my/buyCard/buyCard?from_index=' + true})
    },
    //点击进入活动详情
    goTestDetail(e) {
        // console.log(e);
        const is_the_week = e.currentTarget.dataset.is_the_week;
        const id = e.currentTarget.dataset.id;
        wx.navigateTo({
            url: './activity-detail/activity-detail?is_the_week=' + is_the_week +
                '&id=' + id
        })
    },
    //前往预约
    goAppointment(e) {
        const id = e.currentTarget.dataset.id;
        // console.log('实验室id', id);
        wx.navigateTo({url: './go-appointment/go-appointment?experiment_id=' + id})
    },
    //获取轮播图
    getSlideImage() {
        let params = {};
        if(wx.getStorageSync('city') === '') {
            params = {
                city: '北京',
            };
        }else {
            params = {
                city: this.data.city,
            };
        }
        let url = '/portal/Index/index';

        app.post(url, params).then((res) => {
            // console.log('轮播图',res);
            this.setData({imgUrls: res.list})
        })
    },
    //获取本周实验
    getTheWeekTest() {
        let url = '/portal/Index/now';
        app.post(url, {},{}).then((res) => {
            // console.log(res);
            this.setData({this_week_test_info: res})
            // console.log(this.data.this_week_test_info);
        })
    },
    //查看本周实验详情
    goDetail() {
        wx.navigateTo({url: '/pages/index/activity-detail/activity-detail?test_id=' + this.data.this_week_test_info.id})
    },
    //获取往期实验
    getPastWeekTest() {
        if(!this.data.has_more) return;
        this.setData({has_more: false});
        let url = '/portal/Index/history';
        let params = {
            page: this.data.page_number,
        }
        app.post(url, params,{}).then((res) => {
            // console.log('获取往期实验',res);
            if(res.this_page < res.total_page) {
                this.setData({has_more: true});
            }
            // console.log('list', list);
            this.setData({past_test_info: this.data.past_test_info.concat(res.list)});
            // console.log(this.data.this_week_test_info);
        })
    },
    //查看往期实验详情
    goPastDetail(e) {
        const id = e.currentTarget.dataset.id;
        wx.navigateTo({url: '/pages/index/activity-detail/activity-detail?test_id=' + id})
    },
    //打卡页面获取位置授权
    getExperiment() {
        const self = this;
        if (wx.getStorageSync('city')) {//如果第一次授权过
            wx.getLocation({
                type: 'wgs84',
                success(res) {
                    let params = {
                        city: wx.getStorageSync('city'),
                        lat: res.latitude,//纬度
                        lng: res.longitude,//经度
                    };
                    self.postPosition(params);
                }
            });
        } else {//重新调起授权
            console.log('获取当前城市');
            wx.getSetting({
                success: (res) => {
                    if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {//非初始化进入该页面,且未授权
                        wx.showModal({
                            title: '是否授权当前位置',
                            content: '需要获取您的地理位置,请确认授权,否则无法完成打卡',
                            success: function (res) {
                                if (res.cancel) {
                                    self.setData({
                                        isshowCIty: false
                                    })
                                    wx.showToast({
                                        title: '授权失败',
                                        icon: 'none',
                                        duration: 1000
                                    })
                                } else if (res.confirm) {
                                    wx.openSetting({
                                        success: function (dataAu) {
                                            if (dataAu.authSetting["scope.userLocation"] == true) {
                                                wx.showToast({
                                                    title: '授权成功',
                                                    icon: 'success',
                                                    duration: 1000
                                                })
                                                //再次授权,调用getLocationt的API
                                                getLocation(self);
                                            } else {
                                                wx.showToast({
                                                    title: '授权失败',
                                                    icon: 'none',
                                                    duration: 1000
                                                })
                                            }
                                        }
                                    })
                                }
                            }
                        })
                    } else if (res.authSetting['scope.userLocation'] == undefined) {//初始化进入
                        getLocation(self);
                    } else { //授权后默认加载
                        // getLocation(self);
                    }
                }
            })
        }
    },

    onLoad: function (options) {
        const self = this;
        // self.setData({is_bingding: +options.is_bingding?+options.is_bingding:''});
        self.setData({is_bingding:  app.globalData.is_bingding});
        // console.log('is_bingding', self.data.is_bingding);
        // console.log('options',options);
        // self.checkMobile();
        self.getTheWeekTest();
        self.getPastWeekTest();
        self.getBuyCard();
        //获取当前城市
        wx.getLocation({
            type: 'wgs84',
            success: function(res) {
                // console.log(res);
                // 实例化API核心类
                var demo = new QQMapWX({
                    key: 'CLVBZ-KHZKP-KWLDW-VDJTA-QVUST-XOBVO' // 必填
                });

                // 调用接口
                demo.reverseGeocoder({
                    location: {
                        latitude: res.latitude,//纬度
                        longitude: res.longitude//经度
                    },
                    success: function (res) {
                        // console.log('获取城市',res.result.address_component.city);
                        self.setData({city: res.result.address_component.city});
                        wx.setStorageSync('city', res.result.address_component.city);
                        self.getSlideImage();
                    },
                    fail: function (res) {
                        console.log(res);
                    },
                    complete: function (res) {
                        // console.log(res);
                    }
                });
            }
        });
    },
    onShow() {
        // console.log('show-globalData',app.globalData.is_bingding,typeof(app.globalData.is_bingding));
    },
    onReachBottom: function () {
        const self = this;
        if(self.data.has_more) {
            self.data.page_number ++;
            self.getPastWeekTest();
        }else {
            wx.showToast({
                title: '没有更多数据了~',
                icon: 'none'
            });
        }
        // console.log('上拉加载');
    },
});