import { get, post } from '../../utils/http' const app = getApp() Page({ /** * 页面的初始数据 */ data: { value: '', total: 0, page: 1, list: [] }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { let defaultStore = {} if (options.defaultStore) { defaultStore = JSON.parse(options.defaultStore) } if (Object.keys(defaultStore).length == 0) { defaultStore = app.globalData.storeData } this.setData({ defaultStore: defaultStore }) this.getStore() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () {}, /** * 生命周期函数--监听页面显示 */ onShow: function () {}, /** * 生命周期函数--监听页面隐藏 */ onHide: function () {}, /** * 生命周期函数--监听页面卸载 */ onUnload: function () {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { if (this.data.page * 10 < this.data.total) { this.getStore(++this.data.page) } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () {}, /** * 清除搜索文本 */ onClear() { this.setData({ value: '' }) }, /** * 选中店铺 */ onChangeStore(e) { let pages = getCurrentPages() let prevPage = pages[pages.length - 2] let storeId = e.currentTarget.dataset.item.id prevPage.getStoreInfo(storeId) // prevPage.setData({ // location: e.currentTarget.dataset.item // }) get( 'api/store/info', { store_id: storeId }, (res) => { wx.setStorageSync('store_id', String(storeId)) app.globalData.storeData = res.data wx.navigateBack({ delta: 1 }) } ) }, /** * 监听键盘输入 */ onChange(e) { this.setData({ value: e.detail.value }) }, /** * 搜索店铺 */ onConfirm() { this.getStore(1) }, /** * 获取店铺接口 * /api/store */ getStore(_page) { let { list, current, page } = this.data get( 'api/store', { page: _page || page, limit: 10, keyword: this.data.value }, (res) => { if (_page == 1 || page == 1) { list = [] this.data.page = 1 } list.push(...res.data.list) this.setData({ list, total: res.data.total }) console.log(res,'重复') } ) }, /** * 打卡地图 */ onOpenLocation() { let store = this.data.defaultStore let latitude = parseFloat(store.latitude) let longitude = parseFloat(store.longitude) wx.openLocation({ latitude: parseFloat(store.latitude), // 纬度,范围为-90~90,负数表示南纬 longitude: parseFloat(store.longitude), // 经度,范围为-180~180,负数表示西经 name: store.belong_region }) } })