// 获取城市
const app = getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        winHeight   : 0,    //可视高度
        cityList    : [],   //城市列表
        adcode      : 0,    //城市code
        scrollTop   : 0,    //置顶高度
        scrollTopId : '',   //置顶id
        searchLetter: [],   //热门城市
        regionShow  : false, //区域显示开关
        city        : '',   //城市名称
        area        : '',   //区域名称
        cityName    : '',   //定位城市名称
        defaultcity : '',   //定位区域名称
        defaultregi : '',   //区域名称
        regiList    : [],    //区域列表
        address     : {
            city_code: "",
            area_code: ""
        }
    },

    onLoad(e) {
        wx.getLocation({
            success: res => {
                // 解析坐标
                getApp().qqmapsdk.reverseGeocoder({
                    location: {
                        latitude    : res.latitude,
                        longitude   : res.longitude
                    },
                    success: res=>{
                        this.setData({
                            defaultcity   : res.result.ad_info.city,
                            defaultregi   : res.result.ad_info.district
                        })
                    }
                })
            },
            fail: res => {}
        })

        if(e.area === '') e.area_code = '0'

        this.setData({
            address   : {
                area_code: e.area_code,
                city_code: e.city_code,
                area: e.area,
                city: e.city
            }
        })

        // 获取全部城市
        this.local();
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onShow() {},

    /**
     * 全部城市
     */
    local() {
        wx.$api.index.newCity().then(res=>{
            this.setData({
                cityList  : res.data
            })
            // 获取区级列表
            this.regilist(this.data.address.city_code)
        }).catch(err=>{
            if(!err.login){
                // 写入缓存
                wx.setStorage({
                    key     : 'token',
                    data    : ''
                })
            }
        })
    },

    /**
     * 城市字母
     */
    clickLetter (e) {
        var showLetter = e.currentTarget.dataset.letter;
        this.setData({
            showLetter  : showLetter,
            isShowLetter: true,
            scrollTopId : showLetter,
        })
        var that = this;
        setTimeout(function () {
            that.setData({
                isShowLetter: false
            })
        }, 1000)
    },

    /**
     * 选择城市
     */
    bindCity(e) {
        let stairid     = e.currentTarget.dataset.citycode,
            city        = e.currentTarget.dataset.city

        this.setData({
            address: {
                city_code: stairid,
                city: city
            }
        })

        // 获取区级列表
        this.regilist(stairid)
    },

    /**
     * 地区列表
     */
    regilist(areaCode) {
        wx.$api.index.newidxCity(areaCode).then(res=>{
            res.data.unshift({ code: '0', name:'全部'})
            this.setData({
                regiList : res.data
            })
        })
    },

    /**
     * 选择市区返回
     */
    regionOpt (e) {
        let area_name = e.currentTarget.dataset.city
        var pages       = getCurrentPages();
        var prevPage    = pages[pages.length - 2];

        if(area_name === '全部') area_name = this.data.address.city

        prevPage.setData({
            city: area_name
        })
        wx.navigateBack({
            delta: 1
        })
    },

    /**
     * 选择定位城市返回
     */
    nowLocation () {
        var pages       = getCurrentPages();
        var prevPage    = pages[pages.length - 2];

        prevPage.setData({
            cityName: this.data.defaultcity,
            city    : this.data.defaultregi
        })
        wx.navigateBack({
            delta: 1
        })
    },

    /**
     * 点击当前回到顶部
     */
    hotCity () {
        this.setData({
            scrollTop: 0,
        })
    }
})