index.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. // pages/yuezhan/search/index.js
  2. const { request, serverName } = require('../../../utils/services');
  3. const { Toast, removeArrItem } = require('../../../utils/util.js');
  4. const { defaultImg, noExhibitionImg, noCollectionImg } = require('../../../utils/images');
  5. const app = getApp();
  6. Page({
  7. /**
  8. * 页面的初始数据
  9. */
  10. data: {
  11. testImg: '../../../imgs/testImg/fdkz.png',
  12. avatar: '../../../imgs/testImg/1.jpg',
  13. isLike: false,
  14. likeNum: 526,
  15. myCollected:[],
  16. noCollectionImg
  17. },
  18. /**
  19. * 生命周期函数--监听页面加载
  20. */
  21. onLoad: function (options) {
  22. wx.getLocation({
  23. type: 'wgs84',
  24. success: (res) => {
  25. this.setData({
  26. latitude: res.latitude||0,
  27. longitude: res.longitude||0
  28. })
  29. },
  30. complete:()=>{
  31. this.getCollectedExhibitions()
  32. }
  33. })
  34. this.setData({
  35. serverName,
  36. defaultImg,
  37. noExhibitionImg
  38. })
  39. },
  40. tapToDetail:function(e){
  41. console.log(e);
  42. let id = e.currentTarget.dataset.id
  43. wx.navigateTo({
  44. url: `../../zl_detail/index?id=${id}`,
  45. success: function(res) {},
  46. fail: function(res) {},
  47. complete: function(res) {},
  48. })
  49. },
  50. onPullDownRefresh: function () {
  51. this.setData({
  52. myCollected: [],
  53. });
  54. this.getCollectedExhibitions()
  55. },
  56. addLike: function (e) {
  57. let { type, id, idx } = e.currentTarget.dataset;
  58. let { myCollected } = this.data;
  59. let { collectedArr, collectedChange } = app.globalData, hasItem = true;
  60. console.log('type', type)
  61. if (type==true){
  62. wx.showModal({
  63. title: '提示',
  64. content: '确定取消收藏吗?',
  65. showCancel: true,
  66. cancelText: '关闭',
  67. cancelColor: '',
  68. confirmText: '确定',
  69. confirmColor: '',
  70. success: res=> {
  71. if (res.cancel) {
  72. return;
  73. }
  74. if (res.confirm) {
  75. Toast.showToast2('loading');
  76. let loginSessionKey = wx.getStorageSync('token') || "";
  77. // if (loginSessionKey){
  78. request['isCollect']({
  79. loginSessionKey,
  80. exhibitionId: id,
  81. type: Number(type),
  82. }, "post", res => {
  83. if (res.data.code > -1) {
  84. for (let i = 0; i < collectedArr.length; i++) {
  85. if (collectedArr[i].collectedId && id == collectedArr[i].collectedId) {
  86. console.log("true")
  87. collectedArr[i] = {
  88. collectedId: id,
  89. status: res.data.data.hasCollect,
  90. }
  91. hasItem = false;
  92. }
  93. }
  94. if (hasItem) {
  95. collectedArr.push({
  96. collectedId: id,
  97. status: res.data.data.hasCollect,
  98. })
  99. }
  100. app.globalData.collectedArr = collectedArr;
  101. app.globalData.collectedChange = true;
  102. myCollected[idx].hasCollect = res.data.data.hasCollect
  103. this.setData({
  104. myCollected: myCollected
  105. })
  106. }
  107. }, err => {
  108. }, complete => {
  109. Toast.hideLoading();
  110. this.getCollectedExhibitions()
  111. })
  112. // }
  113. console.log(this.data.myCollected)
  114. }
  115. },
  116. fail: function(res) {},
  117. complete: function(res) {},
  118. })
  119. }else{
  120. Toast.showToast2('loading');
  121. let loginSessionKey = wx.getStorageSync('token') || "";
  122. // if (loginSessionKey){
  123. request['isCollect']({
  124. loginSessionKey,
  125. exhibitionId: id,
  126. type: Number(type),
  127. }, "post", res => {
  128. if (res.data.code > -1) {
  129. console.log("sdwdwd", myCollected[idx].hasCollect);
  130. console.log('asd', res.data.data.hasCollect)
  131. myCollected[idx].hasCollect = res.data.data.hasCollect
  132. this.setData({
  133. myCollected: myCollected
  134. })
  135. }
  136. }, err => {
  137. }, complete => {
  138. Toast.hideLoading();
  139. })
  140. // }
  141. console.log(this.data.myCollected)
  142. }
  143. },
  144. getCollectedExhibitions:function(){
  145. let loginSessionKey = wx.getStorageSync("token")||"";
  146. let { latitude: lat, longitude: lng } = this.data;
  147. request["collectExhibitions"]({
  148. lat,
  149. lng,
  150. loginSessionKey
  151. },"",res=>{
  152. if(res.data.code>-1){
  153. let { data:myCollected} = res.data;
  154. for (let i = 0; i <myCollected.length;i++){
  155. // myCollected[i].createTime =myCollected[i].createTime.substring(5, 10)
  156. }
  157. this.setData({
  158. myCollected
  159. })
  160. console.log(myCollected)
  161. }
  162. }, err => {
  163. },
  164. complete=>{
  165. wx.stopPullDownRefresh();
  166. })
  167. },
  168. /**
  169. * 生命周期函数--监听页面初次渲染完成
  170. */
  171. onReady: function () {
  172. },
  173. /**
  174. * 生命周期函数--监听页面显示
  175. */
  176. onShow: function () {
  177. let { collectedArr, collectedChange } = app.globalData;
  178. let { myCollected } = this.data
  179. let isLogin = app.globalData.isLogin;
  180. // this.setData({
  181. // myCollected: []
  182. // });
  183. // this.getBanner();
  184. // this.getList(1);
  185. console.log('dwdwasda', isLogin)
  186. this.setData({
  187. isLogin
  188. })
  189. if (collectedChange) {
  190. for (let i = 0; i < myCollected.length; i++) {
  191. for (let j = 0; j < collectedArr.length; j++) {
  192. if (collectedArr[j].collectedId == myCollected[i].id) {
  193. myCollected[i].hasCollect = collectedArr[j].status
  194. if (myCollected[i].hasCollect) {
  195. myCollected[i].collectionsCount += 1;
  196. }
  197. else {
  198. myCollected[i].collectionsCount -= 1;
  199. myCollected = removeArrItem(myCollected, myCollected[i])
  200. }
  201. }
  202. }
  203. }
  204. this.setData({
  205. myCollected,
  206. })
  207. }
  208. },
  209. /**
  210. * 生命周期函数--监听页面隐藏
  211. */
  212. onHide: function () {
  213. },
  214. /**
  215. * 生命周期函数--监听页面卸载
  216. */
  217. onUnload: function () {
  218. },
  219. /**
  220. * 页面相关事件处理函数--监听用户下拉动作
  221. */
  222. /**
  223. * 页面上拉触底事件的处理函数
  224. */
  225. onReachBottom: function () {
  226. },
  227. /**
  228. * 用户点击右上角分享
  229. */
  230. onShareAppMessage: function () {
  231. }
  232. })