拓恒河湖长制全民护河平台WEB端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

173 lines
4.8KB

  1. // pages/FirstPage/index.js
  2. import {getOnlive} from '../../api/home.js'
  3. import {getOpenidData} from '../../utils/getUserInfo.js'
  4. Page({
  5. /**
  6. * 页面的初始数据
  7. */
  8. data: {
  9. announcementList: [], // 公告列表
  10. // 快捷入口
  11. entersList: [
  12. // {
  13. // title:'上报问题',
  14. // iconPath: '../../assets/first/upload.png',
  15. // path: '/pages/all/index',
  16. // type: 'tabbar'
  17. // },
  18. {
  19. title:'护河行动',
  20. iconPath: '../../assets/first/new.png',
  21. path: '/package_first/pages/announceList/index',
  22. type: 'page'
  23. },
  24. {
  25. title:'热点资讯',
  26. iconPath: '../../assets/first/ask.png',
  27. path: '/package_first/pages/askAdmin/index',
  28. type: 'page'
  29. },
  30. {
  31. title:'大好河山',
  32. iconPath: '../../assets/first/rivers.png',
  33. path: '/package_first/pages/beautyList/index',
  34. type: 'page'
  35. },
  36. {
  37. title:'积分商城',
  38. iconPath: '../../assets/first/stores.png',
  39. path: '/package_A/pages/stores/index',
  40. type: 'page'
  41. },
  42. {
  43. title:'积分商城',
  44. iconPath: '../../assets/first/stores.png',
  45. path: '/package_A/pages/stores/index',
  46. type: 'page'
  47. }
  48. ],
  49. infoList: ['name', 'location', 'note'],
  50. liveNum: 0, // 在线人数
  51. list: [], // 河道展示
  52. current: '',
  53. params: {
  54. page: 1,
  55. limit: 3
  56. }
  57. },
  58. /**
  59. * 生命周期函数--监听页面加载
  60. */
  61. onLoad(options) {
  62. this.getTabBar().setData({
  63. selected: 0
  64. })
  65. let tenant = wx.getStorageSync('tenant')
  66. if(!Object.keys(tenant).length) {
  67. const path = '/pages/FirstPage/index'
  68. const fromType = 'tabbar'
  69. wx.redirectTo({
  70. url: `/pages/login/login?path=${path}&fromType=${fromType}`,
  71. })
  72. } else {
  73. this.setData({current: '/stream/index',})
  74. }
  75. },
  76. onShow() {
  77. this.getOnliveNum()
  78. },
  79. /* 更新数据 */
  80. updateList(e) {
  81. let list = this.data.list.concat(e.detail || [])
  82. this.setData({ list })
  83. },
  84. /* 重置数据 */
  85. resetList() {
  86. this.setData({ list: [] })
  87. },
  88. // 获取在线人数
  89. getOnliveNum() {
  90. getOnlive().then(res=> {
  91. if(res.code === 0) {
  92. this.setData({liveNum: res.data})
  93. }
  94. })
  95. },
  96. // 公告详情
  97. showAnnouncementDetail() {
  98. wx.navigateTo({
  99. url:"/package_first/pages/announceList/index"
  100. })
  101. },
  102. // 获取点击详情
  103. getCurrentData(dataKey, e) {
  104. let index = e.currentTarget.dataset.current;
  105. return this.data[dataKey][index]
  106. },
  107. // 进入对应页面
  108. goPage(e) {
  109. let title = e.currentTarget.dataset.title
  110. if(title !== '敬请期待') {
  111. // 判断是否有权限
  112. let tenant = wx.getStorageSync('tenant')
  113. let path = e.currentTarget.dataset.path
  114. let type = e.currentTarget.dataset.type
  115. if(Object.keys(tenant).length) {
  116. if(type === 'tabbar') {
  117. wx.switchTab({
  118. url: path,
  119. })
  120. } else {
  121. wx.navigateTo({
  122. url: path,
  123. })
  124. }
  125. } else {
  126. wx.redirectTo({
  127. url: `/pages/login/login?path=${path}&fromType=${type}`,
  128. })
  129. }
  130. }
  131. },
  132. // 上报问题
  133. uploadProblem(e) {
  134. let detail = e.currentTarget.dataset.detail
  135. let openid = wx.getStorageSync('openid')
  136. if(openid) {
  137. wx.navigateTo({
  138. url: '/package_A/pages/report/index?data=' + JSON.stringify(detail),
  139. })
  140. } else {
  141. getOpenidData().then(res=> {
  142. wx.navigateTo({
  143. url: '/package_A/pages/report/index?data=' + JSON.stringify(detail),
  144. })
  145. })
  146. }
  147. },
  148. /* 跳转至筛选页 */
  149. goSelectLocation(e) {
  150. const path = '/pages/FirstPage/index'
  151. wx.redirectTo({
  152. url: `/pages/login/login?path=${path}`,
  153. })
  154. },
  155. /* 跳转至详情页 */
  156. showDetail(e) {
  157. let data = e.currentTarget.dataset.item
  158. wx.navigateTo({
  159. url: '/package_A/pages/riverDetail/index?data='+ JSON.stringify(data),
  160. })
  161. }
  162. })