123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- 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()
- };
- },
- })
|