123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169 |
- 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,
- })
- },
- })
|