import { CACHE_LONGITUDE, CACHE_LATITUDE } from '../../config.js' import { storeListApi } from '../../api/store.js' import wxh from '../../utils/wxh.js' const app = getApp() Page({ /** * 页面的初始数据 */ data: { parameter: { navbar: '1', return: '1', title: '门店列表' }, loading: false, //是否加载中 loadend: false, //是否加载完毕 loadTitle: '加载更多', //提示语 page: 1, limit: 10, isClose: false, storeList: [], status: '' // longitude: '', // latitude: '' }, onLoad: function (options) { this.setData({ status: options.go }) // if (options.go === 'order') this.checked(); }, /** * 登录回调 */ onLoadFun: function () { let longitude = wx.getStorageSync(CACHE_LONGITUDE) //经度 let latitude = wx.getStorageSync(CACHE_LATITUDE) //纬度 // this.setData({ latitude: latitude, longitude: longitude }); if (longitude && latitude) { // this.getList(longitude, latitude); } else { // this.selfLocation(); } }, /** * 授权地址 */ // selfLocation: function () { // const that = this; // wxh.selfLocation().then(res => { // that.getList(res.longitude, res.latitude); // }).catch(() => { // that.getList(); // }); // }, /** * 选中门店 */ checked: function (e) { let details = e.currentTarget.dataset.details let pages = getCurrentPages() //当前页面 let prevPage = pages[pages.length - 2] //上一页面 prevPage.setData({ storeItem: details }) if (this.data.status === 'order') wx.navigateBack({ delta: 1 }) }, /** * 获取门店列表数据 */ getList: function (longitudes, latitudes) { if (this.data.loadend) return if (this.data.loading) return this.setData({ loading: true, loadTitle: '' }) let data = { latitude: latitudes || '', //纬度 longitude: longitudes || '', //经度 page: this.data.page, limit: this.data.limit } storeListApi(data) .then(res => { let list = res.data.list || [] let loadend = list.length < this.data.limit this.data.storeList = app.SplitArray(list, this.data.storeList) this.setData({ storeList: this.data.storeList, loadend: loadend, loading: false, loadTitle: loadend ? '我也是有底线的' : '加载更多', page: this.data.page + 1 }) }) .catch(err => { this.setData({ loading: false, loadTitle: '加载更多' }) }) }, /** * 拨打电话 */ makePhone: function (e) { let phone = e.currentTarget.dataset.phone wx.makePhoneCall({ phoneNumber: phone }) }, /** * 打开地图 */ showMaoLocation: function (e) { let details = e.currentTarget.dataset.details if (!details.latitude || !details.longitude) return app.Tips({ title: '缺少经纬度信息无法查看地图!' }) wx.openLocation({ latitude: parseFloat(details.latitude), longitude: parseFloat(details.longitude), scale: 8, name: details.name, address: details.address + details.detailed_address, success: function () {} }) }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { this.setData({ isClose: true }) }, /** * 生命周期函数--监听页面显示 */ onShow: function () { // if (app.globalData.isLog && this.data.isClose) { // this.setData({ loadend: false, page: 1, storeList: [] }); // let longitude = wx.getStorageSync(CACHE_LONGITUDE); //经度 // let latitude = wx.getStorageSync(CACHE_LATITUDE); //纬度 // this.getList(longitude, latitude); // } }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { // let longitude = wx.getStorageSync(CACHE_LONGITUDE); //经度 // let latitude = wx.getStorageSync(CACHE_LATITUDE); //纬度 // this.getList(longitude, latitude); } })