// 获取城市 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) { console.log(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, }) } })