index.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. // pages/zhanxun/index.js
  2. const { request, serverName, imgServer } = require('../../utils/services');
  3. const {
  4. newRequestFns,
  5. newServerName
  6. } = require('../../utils/newServices.js');
  7. const { Toast, qqmapsdk } = require('../../utils/util.js');
  8. const { defaultImg, noExhibitionImg } = require('../../utils/images');
  9. const WxParse = require('../../common/component/wxParse/wxParse.js');
  10. const app = getApp();
  11. const distItems = [
  12. {
  13. name: '按距离排序',
  14. id: '距离排序',
  15. idx: 1
  16. },
  17. {
  18. name: '按热度排序',
  19. id: '热度排序',
  20. idx: 2
  21. }
  22. ]
  23. const typeItems = [
  24. {
  25. name: '展览中',
  26. id: '展览中',
  27. idx: 1
  28. },
  29. {
  30. name: '即将开始',
  31. id: '即将开始',
  32. idx: 2
  33. },
  34. {
  35. name: '已结束',
  36. id: '已结束',
  37. idx: 3
  38. },
  39. {
  40. name: '全部状态',
  41. id: '全部状态',
  42. idx: 0
  43. }
  44. ]
  45. Page({
  46. data: {
  47. tabs: ['线上看展', '线下展讯'],
  48. activeIndex: 0,
  49. loading: false,
  50. imgServer,
  51. defaultImg,
  52. noExhibitionImg,
  53. // 线上看展数据
  54. onlineExhibitionList: [],
  55. onlineCurrentPage: 1,
  56. onlineLastPage: false,
  57. onlineLikes: {},
  58. // 线下展讯数据
  59. offlineExhibitionList: [],
  60. offlineCurrentPage: 1,
  61. offlineLastPage: false,
  62. navItem: distItems,
  63. indicatorDots: true,
  64. autoplay: true,
  65. interval: 5000,
  66. duration: 1000,
  67. locationName: "北京",
  68. locationNameDesp: "",
  69. isLike: false,
  70. showConfirm: false,
  71. tag: "",
  72. commodityImgs: [
  73. '../../imgs/testImg/thumbSmallImg.jpg',
  74. '../../imgs/testImg/thumbSmallImg.jpg',
  75. ],
  76. type: 5,
  77. testImg: '../../imgs/testImg/fdkz.png',
  78. getLocationBtn: false,
  79. isShow: false,
  80. exhiNum: 0,
  81. activeDist: '距离排序',
  82. activeType: '展览中'
  83. },
  84. onLoad: function () {
  85. this.setData({
  86. serverName,
  87. defaultImg,
  88. noExhibitionImg,
  89. imgServer
  90. });
  91. // 检查 globalData 是否已有位置信息
  92. if (app.globalData.latitude && app.globalData.longitude) {
  93. // 使用 globalData 中的经纬度
  94. this.setData({
  95. latitude: app.globalData.latitude,
  96. longitude: app.globalData.longitude
  97. });
  98. // 处理 city 设置
  99. if (app.globalData.locationName) {
  100. app.globalData.city = app.globalData.locationName;
  101. } else {
  102. app.globalData.city = "北京";
  103. }
  104. }
  105. // this.getLocationName(); 初始进来不在获取位置信息
  106. // 初始加载线上看展数据
  107. this.getOnlineExhibitionList(1);
  108. },
  109. tabClick: function (e) {
  110. const index = e.currentTarget.id;
  111. this.setData({
  112. activeIndex: index
  113. });
  114. // 切换到线上看展
  115. if (index == 0) {
  116. if (this.data.onlineExhibitionList.length === 0) {
  117. this.getOnlineExhibitionList(1);
  118. }
  119. }
  120. // 切换到线下展讯
  121. else {
  122. if (this.data.offlineExhibitionList.length === 0) {
  123. this.getOfflineExhibitionList(1);
  124. }
  125. }
  126. },
  127. // 获取线上看展数据
  128. getOnlineExhibitionList: function (page) {
  129. this.setData({
  130. loading: true
  131. });
  132. newRequestFns["getExhibitionList"]({
  133. page: page,
  134. type: 1 // 线上看展类型
  135. }, '', res => {
  136. let tempContent = this.data.onlineExhibitionList || [];
  137. let { pageData: exhibitionList, total } = res.data.data;
  138. // 判断是否为最后一页(返回空数组表示没有更多数据)
  139. let isLastPage = !exhibitionList || exhibitionList.length === 0;
  140. if (isLastPage) {
  141. this.setData({
  142. loading: false,
  143. onlineLastPage: true // 标记为最后一页
  144. });
  145. return;
  146. }
  147. exhibitionList.forEach((currentValue) => {
  148. currentValue.product ? currentValue.product.link = escape(currentValue.product.link) : '';
  149. currentValue.product ? currentValue.product.imageUrl = escape(currentValue.product.imageUrl) : '';
  150. // 处理状态标签逻辑
  151. if (!currentValue.statusText && currentValue.endTime) {
  152. // 如果没有 statusText,根据 endTime 判断是否已结束
  153. const today = new Date();
  154. const endDate = new Date(currentValue.endTime);
  155. // 将日期设置为当天的开始时间进行比较
  156. today.setHours(0, 0, 0, 0);
  157. endDate.setHours(0, 0, 0, 0);
  158. if (endDate < today) {
  159. currentValue.statusText = '已结束';
  160. currentValue.isExpired = true;
  161. }
  162. } else if (currentValue.statusText === '热门') {
  163. currentValue.isHot = true;
  164. }
  165. });
  166. // 拼接新数据
  167. let newOnlineExhibitionList = page === 1 ? exhibitionList : tempContent.concat(exhibitionList);
  168. this.setData({
  169. onlineCurrentPage: page,
  170. onlineLastPage: false, // 有数据时设为false
  171. loading: false,
  172. onlineExhibitionList: newOnlineExhibitionList,
  173. });
  174. wx.stopPullDownRefresh();
  175. }, err => {
  176. this.setData({
  177. loading: false
  178. });
  179. });
  180. },
  181. // 获取线下展讯数据
  182. getOfflineExhibitionList: function (page) {
  183. let { locationName, activeDist, activeType } = this.data;
  184. let loginSessionKey = wx.getStorageSync("token");
  185. let sort = distItems.find(item => item.id === activeDist).idx;
  186. let type = typeItems.find(item => item.id === activeType).idx;
  187. this.setData({
  188. loading: true
  189. });
  190. newRequestFns["getExhibitionListOffline"]({
  191. page: page,
  192. loginSessionKey,
  193. city: locationName,
  194. sort: sort,
  195. type: type,
  196. lng: this.data.longitude,
  197. lat: this.data.latitude,
  198. }, '', res => {
  199. let tempContent = this.data.offlineExhibitionList || [];
  200. let { pageData: exhibitionList, total } = res.data.data;
  201. // 判断是否为最后一页(返回空数组表示没有更多数据)
  202. let isLastPage = !exhibitionList || exhibitionList.length === 0;
  203. if (isLastPage) {
  204. this.setData({
  205. loading: false,
  206. offlineLastPage: true, // 标记为最后一页
  207. exhiNum: total || 0
  208. });
  209. wx.stopPullDownRefresh();
  210. if (total <= 3) {
  211. this.offlineRecommend();
  212. }
  213. return;
  214. }
  215. exhibitionList.forEach((currentValue) => {
  216. currentValue.product ? currentValue.product.link = escape(currentValue.product.link) : '';
  217. // 处理状态标签逻辑
  218. if (!currentValue.statusText && currentValue.endTime) {
  219. // 如果没有 statusText,根据 endTime 判断是否已结束
  220. const today = new Date();
  221. const endDate = new Date(currentValue.endTime);
  222. // 将日期设置为当天的开始时间进行比较
  223. today.setHours(0, 0, 0, 0);
  224. endDate.setHours(0, 0, 0, 0);
  225. if (endDate < today) {
  226. currentValue.statusText = '已结束';
  227. currentValue.isExpired = true;
  228. }
  229. } else if (currentValue.statusText === '热门') {
  230. currentValue.isHot = true;
  231. }
  232. });
  233. // 拼接新数据
  234. let newOfflineExhibitionList = page === 1 ? exhibitionList : tempContent.concat(exhibitionList);
  235. this.setData({
  236. offlineCurrentPage: page,
  237. offlineLastPage: false, // 有数据时设为false
  238. loading: false,
  239. offlineExhibitionList: newOfflineExhibitionList,
  240. exhiNum: total
  241. });
  242. wx.stopPullDownRefresh();
  243. if (total <= 3) {
  244. this.offlineRecommend();
  245. }
  246. }, err => {
  247. this.setData({
  248. loading: false
  249. });
  250. });
  251. },
  252. // 下拉刷新
  253. onPullDownRefresh: function () {
  254. if (this.data.activeIndex == 0) {
  255. this.setData({
  256. onlineExhibitionList: [],
  257. onlineCurrentPage: 1
  258. });
  259. this.getOnlineExhibitionList(1);
  260. } else {
  261. this.setData({
  262. offlineExhibitionList: [],
  263. offlineCurrentPage: 1
  264. });
  265. this.getOfflineExhibitionList(1);
  266. }
  267. },
  268. // 上拉加载更多
  269. onReachBottom: function () {
  270. if (this.data.loading) return;
  271. if (this.data.activeIndex == 0) {
  272. if (!this.data.onlineLastPage) {
  273. this.getOnlineExhibitionList(this.data.onlineCurrentPage + 1);
  274. }
  275. } else {
  276. if (!this.data.offlineLastPage) {
  277. this.getOfflineExhibitionList(this.data.offlineCurrentPage + 1);
  278. }
  279. }
  280. },
  281. // 收藏/取消收藏展览
  282. addLike: function (e) {
  283. let { type, id, idx, listType } = e.currentTarget.dataset;
  284. let exhibitionList = listType === 'online' ? this.data.onlineExhibitionList : this.data.offlineExhibitionList;
  285. let { collectedArr } = app.globalData;
  286. let hasItem = true;
  287. if (listType === 'online') {
  288. let onlineLikes = this.data.onlineLikes;
  289. onlineLikes[id] = !onlineLikes[id];
  290. this.setData({
  291. onlineLikes: onlineLikes
  292. });
  293. }
  294. Toast.showToast2('loading');
  295. let loginSessionKey = wx.getStorageSync('token') || "";
  296. newRequestFns['isCollect']({
  297. loginSessionKey,
  298. exhibitionId: id,
  299. type: Number(type),
  300. }, "post", res => {
  301. if (res.data.code > -1) {
  302. for (let i = 0; i < collectedArr.length; i++) {
  303. if (collectedArr[i].collectedId && id == collectedArr[i].collectedId) {
  304. collectedArr[i] = {
  305. collectedId: id,
  306. status: res.data.data.hasCollect,
  307. };
  308. hasItem = false;
  309. }
  310. }
  311. if (hasItem) {
  312. collectedArr.push({
  313. collectedId: id,
  314. status: res.data.data.hasCollect,
  315. });
  316. }
  317. app.globalData.collectedArr = collectedArr;
  318. app.globalData.collectedChange = true;
  319. exhibitionList[idx].hasCollect = res.data.data.hasCollect;
  320. if (listType === 'online') {
  321. this.setData({
  322. onlineExhibitionList: exhibitionList
  323. });
  324. } else {
  325. this.setData({
  326. offlineExhibitionList: exhibitionList
  327. });
  328. }
  329. }
  330. }, err => {
  331. // 错误处理
  332. }, complete => {
  333. Toast.hideLoading();
  334. });
  335. },
  336. // 获取位置名称
  337. // getLocationName: function() {
  338. // console.log(11111)
  339. // wx.getLocation({
  340. // type: 'wgs84',
  341. // success: (res) => {
  342. // this.setData({
  343. // latitude: res.latitude,
  344. // longitude: res.longitude
  345. // });
  346. // console.log(res, 22222)
  347. // qqmapsdk.reverseGeocoder({
  348. // location: {
  349. // latitude: res.latitude,
  350. // longitude: res.longitude
  351. // },
  352. // success: (res) => {
  353. // let { city: locationName } = res.result.address_component;
  354. // console.log(locationName, 'locationName')
  355. // locationName = locationName.substring(0, 2);
  356. // app.globalData.city = locationName;
  357. // this.setData({
  358. // locationName,
  359. // locationNameDesp: locationName
  360. // });
  361. // },
  362. // fail: function (res) {
  363. // this.setData({
  364. // locationName: ""
  365. // });
  366. // }
  367. // });
  368. // },
  369. // fail: () => {
  370. // console.log(33333)
  371. // this.setData({
  372. // getLocationBtn: true
  373. // });
  374. // }
  375. // });
  376. // },
  377. // 线下推荐
  378. offlineRecommend: function () {
  379. // wx.getLocation({
  380. // type: 'wgs84',
  381. // success: (res) => {
  382. // this.setData({
  383. // latitude: res.latitude,
  384. // longitude: res.longitude
  385. // });
  386. // }
  387. // });
  388. let { latitude: lat, longitude: lng } = this.data;
  389. newRequestFns["offlineRecommend"]({
  390. lat,
  391. lng,
  392. }, "", res => {
  393. this.setData({
  394. ExhibitionPopular: res.data.data
  395. });
  396. }, err => {
  397. // 错误处理
  398. });
  399. },
  400. // 前往搜索页面
  401. to_search: function() {
  402. // 检查 globalData 是否已有位置信息
  403. if (app.globalData.latitude && app.globalData.longitude && app.globalData.locationName) {
  404. // 已有位置信息,直接跳转
  405. wx.navigateTo({
  406. url: '../tongcheng/search/index'
  407. });
  408. return;
  409. }
  410. // 没有位置信息,显示弹窗
  411. wx.showModal({
  412. title: '获取你的位置信息',
  413. content: '将获取你的具体位置信息,用于推荐你所在定位附近的展览',
  414. confirmText: '同意',
  415. cancelText: '拒绝',
  416. success: (res) => {
  417. if (res.confirm) {
  418. // 用户点击同意,获取位置信息
  419. wx.getLocation({
  420. type: 'wgs84',
  421. success: (locationRes) => {
  422. // 设置坐标到 globalData 和页面数据
  423. app.globalData.latitude = locationRes.latitude;
  424. app.globalData.longitude = locationRes.longitude;
  425. this.setData({
  426. latitude: locationRes.latitude,
  427. longitude: locationRes.longitude
  428. });
  429. // 使用腾讯地图逆地址解析获取城市名称
  430. qqmapsdk.reverseGeocoder({
  431. location: {
  432. latitude: locationRes.latitude,
  433. longitude: locationRes.longitude
  434. },
  435. success: (geoRes) => {
  436. let { city: locationName } = geoRes.result.address_component;
  437. locationName = locationName.substring(0, 2);
  438. // 保存到 globalData
  439. app.globalData.city = locationName;
  440. app.globalData.locationName = locationName;
  441. this.setData({
  442. locationName,
  443. locationNameDesp: locationName
  444. });
  445. // 获取当前城市的展览列表
  446. this.getOfflineExhibitionList(1);
  447. // 获取位置成功,跳转到搜索页面
  448. wx.navigateTo({
  449. url: '../tongcheng/search/index'
  450. });
  451. },
  452. fail: (geoErr) => {
  453. // 逆地址解析失败,使用默认城市(北京),直接跳转
  454. app.globalData.city = "北京";
  455. app.globalData.locationName = "北京";
  456. this.setData({
  457. locationName: "北京"
  458. });
  459. wx.navigateTo({
  460. url: '../tongcheng/search/index'
  461. });
  462. }
  463. });
  464. },
  465. fail: (locationErr) => {
  466. // 获取位置失败,保持默认城市(北京),直接跳转
  467. console.log('获取位置失败:', locationErr);
  468. app.globalData.city = "北京";
  469. app.globalData.locationName = "北京";
  470. this.setData({
  471. getLocationBtn: true,
  472. locationName: "北京"
  473. });
  474. wx.navigateTo({
  475. url: '../tongcheng/search/index'
  476. });
  477. }
  478. })
  479. } else if (res.cancel) {
  480. // 用户点击拒绝,保持默认城市(北京),直接跳转
  481. app.globalData.city = "北京";
  482. app.globalData.locationName = "";
  483. wx.navigateTo({
  484. url: '../tongcheng/search/index'
  485. });
  486. }
  487. },
  488. fail: function (res) {
  489. // 弹窗失败,直接跳转
  490. wx.navigateTo({
  491. url: '../tongcheng/search/index'
  492. });
  493. }
  494. })
  495. },
  496. // 展览搜索
  497. to_search_exhibition: function () {
  498. wx.navigateTo({
  499. url: '../yuezhan/search/index'
  500. });
  501. },
  502. // 显示下拉菜单
  503. showDrop: function(e) {
  504. let tag = e.target.dataset.id;
  505. let name = e.target.dataset.test;
  506. if (tag === 'type') {
  507. this.setData({
  508. navItem: {
  509. type: tag,
  510. name: name,
  511. arr: typeItems
  512. },
  513. isShow: !this.data.isShow
  514. });
  515. } else {
  516. this.setData({
  517. navItem: {
  518. type: tag,
  519. name: name,
  520. arr: distItems
  521. },
  522. isShow: !this.data.isShow
  523. });
  524. }
  525. },
  526. // 关闭下拉菜单
  527. onIsclose: function(e) {
  528. this.setData({
  529. isShow: e.detail
  530. });
  531. },
  532. // 选择下拉菜单项
  533. getActiveItem: function(e) {
  534. let { activeDist, activeType } = e.detail;
  535. this.setData({
  536. activeDist,
  537. activeType,
  538. offlineExhibitionList: []
  539. });
  540. this.getOfflineExhibitionList(1);
  541. },
  542. // 关闭确认对话框
  543. closeDialog: function() {
  544. this.setData({
  545. showConfirm: false
  546. });
  547. },
  548. // 获取附近列表
  549. getNearByList: function (page) {
  550. let { locationName, latitude, longitude } = this.data;
  551. let loginSessionKey = wx.getStorageSync("token");
  552. console.log(locationName, latitude, longitude, 666)
  553. wx.getSetting({
  554. success: res => {
  555. if (!res.authSetting['scope.userLocation']) {
  556. Toast.showToast('tip', "无法获取用户位置", () => {
  557. return;
  558. });
  559. this.setData({
  560. getLocationBtn: true
  561. });
  562. } else {
  563. this.setData({
  564. loading: true,
  565. getLocationBtn: false
  566. });
  567. if (!longitude && !latitude) {
  568. wx.getLocation({
  569. success: res => {
  570. let longitude = res.longitude;
  571. let latitude = res.latitude;
  572. newRequestFns["getNearByList"]({
  573. page: page,
  574. loginSessionKey,
  575. city: locationName,
  576. lng: longitude,
  577. lat: latitude
  578. }, '', res => {
  579. let tempContent = this.data.offlineExhibitionList || [];
  580. let { pageData: exhibitionList, total } = res.data.data;
  581. // 判断是否为最后一页(返回空数组表示没有更多数据)
  582. let isLastPage = !exhibitionList || exhibitionList.length === 0;
  583. if (isLastPage) {
  584. this.setData({
  585. loading: false,
  586. offlineLastPage: true
  587. });
  588. wx.stopPullDownRefresh();
  589. return;
  590. }
  591. // 拼接新数据
  592. let newExhibitionList = page === 1 ? exhibitionList : tempContent.concat(exhibitionList);
  593. this.setData({
  594. offlineCurrentPage: page,
  595. offlineLastPage: false, // 有数据时设为false
  596. loading: false,
  597. longitude,
  598. latitude,
  599. offlineExhibitionList: newExhibitionList,
  600. });
  601. wx.stopPullDownRefresh();
  602. }, err => {
  603. // 错误处理
  604. });
  605. }
  606. });
  607. } else {
  608. newRequestFns["getNearByList"]({
  609. page: page,
  610. loginSessionKey,
  611. city: locationName,
  612. lng: longitude,
  613. lat: latitude
  614. }, '', res => {
  615. let tempContent = this.data.offlineExhibitionList || [];
  616. let { pageData: exhibitionList, total } = res.data.data;
  617. // 判断是否为最后一页(返回空数组表示没有更多数据)
  618. let isLastPage = !exhibitionList || exhibitionList.length === 0;
  619. if (isLastPage) {
  620. this.setData({
  621. loading: false,
  622. offlineLastPage: true
  623. });
  624. wx.stopPullDownRefresh();
  625. return;
  626. }
  627. // 拼接新数据
  628. let newExhibitionList = page === 1 ? exhibitionList : tempContent.concat(exhibitionList);
  629. this.setData({
  630. offlineCurrentPage: page,
  631. offlineLastPage: false, // 有数据时设为false
  632. loading: false,
  633. offlineExhibitionList: newExhibitionList,
  634. });
  635. wx.stopPullDownRefresh();
  636. }, err => {
  637. // 错误处理
  638. });
  639. }
  640. }
  641. }
  642. });
  643. },
  644. onShow: function() {
  645. let { city, clickToSelect, collectedArr, collectedChange } = app.globalData;
  646. if (clickToSelect) {
  647. this.setData({
  648. locationName: city || "北京",
  649. offlineExhibitionList: [],
  650. offlineCurrentPage: 1
  651. });
  652. if (this.data.activeIndex == 1) {
  653. this.getOfflineExhibitionList(1);
  654. }
  655. }
  656. if (collectedChange) {
  657. // 更新线上看展收藏状态
  658. if (this.data.onlineExhibitionList.length > 0) {
  659. let onlineExhibitionList = this.data.onlineExhibitionList;
  660. for (let i = 0; i < onlineExhibitionList.length; i++) {
  661. for (let j = 0; j < collectedArr.length; j++) {
  662. if (collectedArr[j].collectedId == onlineExhibitionList[i].id) {
  663. onlineExhibitionList[i].hasCollect = collectedArr[j].status;
  664. if (onlineExhibitionList[i].hasCollect) {
  665. onlineExhibitionList[i].collectionsCount += 1;
  666. } else {
  667. onlineExhibitionList[i].collectionsCount -= 1;
  668. }
  669. if (onlineExhibitionList[i].collectionsCount < 0) {
  670. onlineExhibitionList[i].collectionsCount = 0;
  671. }
  672. }
  673. }
  674. }
  675. this.setData({ onlineExhibitionList });
  676. }
  677. // 更新线下展讯收藏状态
  678. if (this.data.offlineExhibitionList.length > 0) {
  679. let offlineExhibitionList = this.data.offlineExhibitionList;
  680. for (let i = 0; i < offlineExhibitionList.length; i++) {
  681. for (let j = 0; j < collectedArr.length; j++) {
  682. if (collectedArr[j].collectedId == offlineExhibitionList[i].id) {
  683. offlineExhibitionList[i].hasCollect = collectedArr[j].status;
  684. if (offlineExhibitionList[i].hasCollect) {
  685. offlineExhibitionList[i].collectionsCount += 1;
  686. } else {
  687. offlineExhibitionList[i].collectionsCount -= 1;
  688. }
  689. if (offlineExhibitionList[i].collectionsCount < 0) {
  690. offlineExhibitionList[i].collectionsCount = 0;
  691. }
  692. }
  693. }
  694. }
  695. this.setData({ offlineExhibitionList });
  696. }
  697. }
  698. app.globalData.clickToSelect = false;
  699. app.globalData.collectedChange = false;
  700. },
  701. onShareAppMessage: function () {
  702. // 分享功能
  703. }
  704. })