import HomeApi from '../../services/home' import { share } from '../../utils/http' const size = 20 // pages/atphotos/index.ts Page({ /** * 页面的初始数据 */ data: { loading: false, idx: -1, cates: [] as { name: string; url: string }[], total: 0, allItems: [] as any[], items: [] as string[], viewcnt: 0, views: [] as string[], container: null as any, }, /** * 生命周期函数--监听页面加载 */ onLoad({ id }: { id: string }) { this.setData({ loading: true, container: () => this.createSelectorQuery().select('.mainpage'), }) HomeApi.GetActiveDetail({ id, }) .then((rsp) => { const result = rsp.result const items = result.items const idx = this.data.idx let currentItems: any[] = [] let takes: any[] = [] const cates = result.items.map((o) => ({ url: o.image, name: o.name, })) if (idx > -1) { currentItems = items[idx].children takes = currentItems.slice(0, size) } console.log(cates) this.setData({ loading: false, allItems: items, idx: -1, cates, total: currentItems.length, items: currentItems, views: takes, viewcnt: takes.length, }) wx.setNavigationBarTitle({ // @ts-ignore title: result.name, }) }) .catch(() => { this.setData({ loading: false, }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { this.setData({ container: () => this.createSelectorQuery().select('.mainpage'), }) }, /** * 生命周期函数--监听页面显示 */ onShow() {}, /** * 生命周期函数--监听页面隐藏 */ onHide() {}, /** * 生命周期函数--监听页面卸载 */ onUnload() {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { if (this.data.viewcnt < this.data.total) { const takes = this.data.items.slice(0, this.data.viewcnt + size) this.setData({ views: takes, viewcnt: takes.length, }) } }, /** * 用户点击右上角分享 */ onShareAppMessage() { let pages = getCurrentPages(); //获取所有页面栈实例列表 let nowPage = pages[pages.length - 1]; //当前页页面实例 return { title: share.title, path: `/${nowPage.route}`, imageUrl: share.imageUrl, success(res) { console.log('success(res)==', res); }, fail(res) { console.log('fail(res)==', res); } } }, goview(e: WechatMiniprogram.BaseEvent<{}, { idx: number }>) { const { idx } = e.currentTarget.dataset wx.previewImage({ urls: this.data.items, current: this.data.items[idx], }) }, goback() { this.setData({ idx: -1, viewcnt: 0, views: [], items: [], total: 0, }) }, gocate(e: WechatMiniprogram.BaseEvent<{}, { idx: number }>) { const { idx } = e.currentTarget.dataset const currentItems = this.data.allItems[idx].children const takes = currentItems.slice(0, size) this.setData({ idx, total: currentItems.length, items: currentItems, views: takes, viewcnt: takes.length, }) }, })