This repository has been archived on 2024-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
yoshop-wechat/pages/article/index.js
2021-07-16 16:37:55 +08:00

155 lines
3.3 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const App = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
// 分类列表
categoryList: [],
// 文章列表
articleList: [],
// 当前的分类id (0则代表首页)
category_id: 0,
scrollHeight: null,
no_more: false, // 没有更多数据
isLoading: true, // 是否正在加载中
page: 1, // 当前页码
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let _this = this;
// 设置默认的分类
if (options.category_id) {
_this.setData({
category_id: options.category_id
})
}
// 设置文章列表高度
_this.setListHeight();
// Api获取文章首页
_this.getIndexData();
},
/**
* Api获取文章列表
*/
getIndexData() {
let _this = this;
// 获取文章首页
App._get('article/index', {}, function (result) {
_this.setData({
categoryList: result.data.categoryList
});
});
// Api获取文章列表
_this.getArticleList();
},
/**
* Api切换导航栏
*/
onSwitchTab: function (e) {
let _this = this;
// 第一步切换当前的分类id
_this.setData({
category_id: e.currentTarget.dataset.id,
articleList: {},
page: 1,
no_more: false,
isLoading: true,
});
// 第二步:更新当前的文章列表
_this.getArticleList();
},
/**
* Api获取文章列表
*/
getArticleList(isPage, page) {
let _this = this;
App._get('article/lists', {
page: page || 1,
category_id: _this.data.category_id
}, function (result) {
let resList = result.data.list,
dataList = _this.data.articleList;
if (isPage == true) {
_this.setData({
'articleList.data': dataList.data.concat(resList.data),
isLoading: false,
});
} else {
_this.setData({
articleList: resList,
isLoading: false,
});
}
});
},
/**
* 跳转文章详情页
*/
onTargetDetail(e) {
wx.navigateTo({
url: './detail/index?article_id=' + e.currentTarget.dataset.id
});
},
/**
* 下拉到底加载数据
*/
bindDownLoad() {
// 已经是最后一页
if (this.data.page >= this.data.articleList.last_page) {
this.setData({
no_more: true
});
return false;
}
// 加载下一页列表
this.getArticleList(true, ++this.data.page);
},
/**
* 设置文章列表高度
*/
setListHeight() {
let systemInfo = wx.getSystemInfoSync(),
rpx = systemInfo.windowWidth / 750, // 计算rpx
tapHeight = Math.floor(rpx * 98), // tap高度
scrollHeight = systemInfo.windowHeight - tapHeight; // swiper高度
this.setData({
scrollHeight
});
},
/**
* 分享当前页面
*/
onShareAppMessage() {
return {
title: '文章首页',
path: "/pages/article/index?" + App.getShareUrlParams()
};
},
/**
* 分享到朋友圈
* 本接口为 Beta 版本,暂只在 Android 平台支持,详见分享到朋友圈 (Beta)
* https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share-timeline.html
*/
onShareTimeline() {
return {
title: '文章首页',
path: "/pages/article/index?" + App.getShareUrlParams()
};
},
})