shop.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. // pages/shoplist/shoplist.js
  2. import {
  3. default as storeApi
  4. } from "../../api/store"
  5. import commentsApi from '../../api/comments'
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. shopList: [],
  12. pageNo: 1,
  13. pageSum: 0,
  14. loadingEnd: false
  15. },
  16. /**
  17. * 生命周期函数--监听页面加载
  18. */
  19. onLoad: async function (options) {
  20. wx.getSetting({
  21. success: async (res) => {
  22. let authSetting = res.authSetting
  23. if (authSetting['scope.userLocation']) {
  24. console.log('已授权地理位置')
  25. let lon = wx.getStorageSync('lon')
  26. let lat = wx.getStorageSync('lat')
  27. let rs = await storeApi.getStoreList(1, 10, `&lon=${lon}&lat=${lat}`);
  28. this.setData({
  29. shopList: rs.list,
  30. pageSum: rs.pageCount
  31. })
  32. // 已授权
  33. } else {
  34. // 未授权
  35. console.log('未授权地理位置');
  36. wx.getLocation({
  37. type: 'wgs84',
  38. async success(res) {
  39. console.log(res)
  40. const latitude = res.latitude
  41. const longitude = res.longitude
  42. wx.setStorageSync('lon', longitude)
  43. wx.setStorageSync('lat', latitude)
  44. const rs = await storeApi.getNearStore(latitude, longitude)
  45. console.log(rs.info);
  46. self.setData({
  47. locationFlag: true,
  48. storeInfo: rs.info
  49. })
  50. let shopList = await storeApi.getStoreList(1, 10, `&lon=${longitude}&lat=${latitude}`);
  51. this.setData({
  52. shopList: shopList.list,
  53. pageSum: shopList.pageCount
  54. })
  55. }
  56. })
  57. }
  58. }
  59. })
  60. },
  61. getShopList: async function () {
  62. let longitude = wx.getStorageSync('lon')
  63. let latitude = wx.getStorageSync('lat')
  64. let pageNo = this.data.pageNo;
  65. let shopList = this.data.shopList;
  66. let sList = await storeApi.getStoreList(pageNo, 10, `&lon=${longitude}&lat=${latitude}`);
  67. let list = sList.list;
  68. list.forEach((item)=>{
  69. shopList.push(item)
  70. })
  71. this.setData({
  72. shopList,
  73. pageSum: shopList.pageCount
  74. })
  75. },
  76. /**
  77. * 生命周期函数--监听页面初次渲染完成
  78. */
  79. onReady: function () {
  80. },
  81. /**
  82. * 生命周期函数--监听页面显示
  83. */
  84. onShow: function () {
  85. },
  86. /**
  87. * 生命周期函数--监听页面隐藏
  88. */
  89. onHide: function () {
  90. },
  91. /**
  92. * 生命周期函数--监听页面卸载
  93. */
  94. onUnload: function () {
  95. },
  96. /**
  97. * 页面相关事件处理函数--监听用户下拉动作
  98. */
  99. onPullDownRefresh: function () {
  100. },
  101. /**
  102. * 页面上拉触底事件的处理函数
  103. */
  104. onReachBottom: function () {
  105. let pageNo = this.data.pageNo;
  106. pageNo++;
  107. this.setData({
  108. pageNo
  109. })
  110. if (this.data.pageNo <= this.data.pageSum) {
  111. this.getShopList()
  112. return
  113. }
  114. this.setData({
  115. loadingEnd: true
  116. })
  117. },
  118. /**
  119. * 用户点击右上角分享
  120. */
  121. onShareAppMessage: function () {
  122. }
  123. })