// pages/posterList/posterList.js // import Notify from '../../src/vant-weapp/notify/notify'; import utils from '../../utils/util' const app = getApp(); Page({ /** * 页面的初始数据 */ data: { activeKey: 0, activeTabIndex: 0, windowHeight: 600, selectedTag: '全部', isShowMyPoster: false, isHiddenTypePoster: false, scrollTop: 0 }, /** * 生命周期函数--监听页面加载 */ onLoad: async function (options) { // console.log(wx.$http) let [typeListError, typeList] = await this.getPosterType(); if (typeListError) { console.log('出错了。。。', typeListError); return; } this.setData({ posterTypeList: typeList, isShowMyPoster: true }) console.log('海报TypeList', typeList); let allTagList = this.getAllTagList(); this.setData({ allTagList }) await this.changePosterType(0); // this.setData({ // isShowMyPoster:true // }) }, async changePosterType(index) { let [posterListError, posterList] = await this.getPosterList(this.data.posterTypeList[index].PosterTypeId); if (posterListError) { console.log('出错了。。。', posterListError); return; } this.setData({ posterList, scrollTop: 0 }) console.log('海报图TypeList', posterList); // let tagList = this.getTagList(0); // this.setData({ // tagList // }) // this.setData({ // posterGroup:this.getPosterGroup() // }) // this.getPosterGroup(); }, sleep(time) { return new Promise((resolve, reject) => { setTimeout(() => { console.log(8888) resolve(); }, time * 1000) }) }, async getPosterType() { let [err, res] = await utils.to( wx.$http.request({ url: '/shopping/poster/getPosterTypeList.do' }) ) return [err, res && res.List]; }, async getPosterList(id, tagName) { let [err, res] = await utils.to( wx.$http.request({ url: '/shopping/poster/getPosterList.do', data: { PosterTypeId: id, PosterTypeTag: tagName || '' } }) ) return [err, res && res.List]; }, // 对海报进行分组 getPosterGroup() { let posterList = this.data.posterList; let tagList = this.data.tagList.slice(1); console.log(posterList, tagList); let group = []; let tempArr = []; // console.log('展开数组',array.flat(2)); tagList.map((tagItem, tagIndex) => { group[tagIndex] = []; posterList.map((item, index) => { if (item.PosterTypeTag == tagItem) { group[tagIndex] = group[tagIndex].concat(item.Images); } }) }) group.map((item) => { tempArr = tempArr.concat(item); }) // group.splice(0,0,[]) group.unshift(tempArr) console.log('最后分组', group); return group; }, getTagList(index) { return ['全部'].concat(this.data.posterTypeList[index].PosterTypeTag.split(',')); // console.log(arr) }, getAllTagList() { let allTagList = []; this.data.posterTypeList.map((item, index) => { allTagList.push(this.getTagList(index)) }) return allTagList; }, posterTagChange(e) { console.log(e) let index = e.detail.index; wx.showToast({ // title: `切换到标签 ${e.detail.name}`, icon: 'loading', duration: 150 }); this.setData({ selectedTag: e.detail.title }) }, // 左侧海报类型切换 typeOnChange(event) { console.log(event) // let tagList = this.getTagList(event.detail); this.setData({ activeKey: event.detail, selectedTag: '全部', isHiddenTypePoster: false, // activeTabIndex:0, // tagList, }) this.changePosterType(event.detail); }, async getMyPoster(isGoTop=true) { let [error, myPosterList] = await utils.to( wx.$http.request({ url: '/shopping/poster/getPosterForMeList.do' }) ) if (error) { console.log('出错了。。。', error); return; } // console.log(myPosterList) this.setData({ myPosterList: myPosterList.List, isHiddenTypePoster: true, }) if (isGoTop) { this.setData({ scrollTop: 0 }) } }, // 查看我上传的海报 viewMyPoster(e) { console.log(e) let src = e.currentTarget.dataset.src; wx.previewImage({ current: src, // 当前显示图片的http链接 urls: [src] // 需要预览的图片http链接列表 }) }, // 删除我上传的海报 deletePoster(e) { console.log(e) // /shopping/poster/deletePosterForMe.do?FromUserId=XXX&rowid=XXX let userid = e.currentTarget.dataset.userid; let rowid = e.currentTarget.dataset.rowid; wx.showModal({ title: '提示', content: '您确定要删除当前海报吗?', success: async (res)=> { if (res.confirm) { console.log('用户点击确定') let [error, result] = await utils.to( wx.$http.request({ url: '/shopping/poster/deletePosterForMe.do', data: { FromUserId: userid, rowid } }) ) if (error) { console.log('出错了。。。', error); return; } console.log(result); this.getMyPoster(false); } else if (res.cancel) { console.log('用户点击取消') } } }) // wx.previewImage({ // current: src, // 当前显示图片的http链接 // urls: [src] // 需要预览的图片http链接列表 // }) }, // 前往生成 goCreatePoster(e) { let src = e.target.dataset.src; console.log(src); // app.globalData.mydata = src; // app.globalData.tempData = { // posterSrc:src // }; wx.navigateTo({ url: '../sharePoster/sharePoster', success: function (res) { // 通过eventChannel向被打开页面传送数据 res.eventChannel.emit('getSelectedPosterImg', { src }) } }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { var res = wx.getSystemInfoSync(); this.setData({ // 可使用窗口高度-状态栏的高度 windowHeight: res.windowHeight, }) console.log(this.data.windowHeight) }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ // onShareAppMessage: function () { // } })