287 lines
7.4 KiB
JavaScript
287 lines
7.4 KiB
JavaScript
// packageE/article/article.js
|
||
var app = getApp();
|
||
Component({
|
||
properties: {
|
||
datas: {
|
||
type: null
|
||
},
|
||
component_id: {
|
||
type: null
|
||
},
|
||
U_tabcontrol: {
|
||
type: null
|
||
},
|
||
bottomShowBolIndex: {
|
||
type: null
|
||
},
|
||
index: {
|
||
type: null
|
||
},
|
||
plugin_active: String
|
||
},
|
||
// 私有数据,可用于模板渲染
|
||
data: {
|
||
emptyImage: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png',
|
||
clientWidth: '375',
|
||
language: '',
|
||
|
||
active: "0",
|
||
class_id: "0",
|
||
list: [],
|
||
categories: [],
|
||
isLoadMore: true,
|
||
page: 1,
|
||
total_page: 0,
|
||
pageSize: 12,
|
||
noNotice: false,
|
||
allLoaded: false, // 全部数据已经加载完成
|
||
},
|
||
|
||
lifetimes: {
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {
|
||
let language = wx.getStorageSync('langIndex');
|
||
this.setData({
|
||
'language': language.en
|
||
});
|
||
},
|
||
moved() {},
|
||
detached() {},
|
||
},
|
||
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {},
|
||
// 此处attached的声明会被lifetimes字段中的声明覆盖
|
||
ready() {
|
||
this.setData({
|
||
clientWidth: wx.getSystemInfoSync().windowWidth,
|
||
});
|
||
|
||
if (this.data.datas.get_style == 1 || this.data.datas.get_style == 3) {
|
||
this.initData();
|
||
//获取数据
|
||
this.getNetData(this.data.datas);
|
||
} else {
|
||
this.setData({
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
},
|
||
|
||
pageLifetimes: {
|
||
// 组件所在页面的生命周期函数
|
||
show() {},
|
||
hide() {},
|
||
resize() {},
|
||
},
|
||
methods: {
|
||
initData() {
|
||
this.setData({
|
||
page: 1,
|
||
total_page: 0,
|
||
isLoadMore: true,
|
||
list: [],
|
||
});
|
||
},
|
||
//获取数据
|
||
getNetData(data) {
|
||
let that = this;
|
||
|
||
if (data) {
|
||
this.setData({
|
||
noNotice: false,
|
||
total_page: data.list.last_page,
|
||
pageSize: data.list.per_page,
|
||
isLoadMore: true
|
||
});
|
||
|
||
if (that.data.total_page <= 1) {
|
||
this.setData({
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
|
||
if (data.list.data && data.list.data.length > this.data.datas.get_number) {
|
||
data.list.data.splice(this.data.datas.get_number, data.list.data.length - this.data.datas.get_number);
|
||
this.setData({
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
|
||
this.setData({
|
||
list: data.list.data
|
||
});
|
||
|
||
if (data.cate) {
|
||
this.setData({
|
||
categories: data.cate,
|
||
class_id: data.cate[0] ? data.cate[0].id : "0",
|
||
active: data.cate[0] ? data.cate[0].id : "0",
|
||
});
|
||
if (data.cate.length <= 0) {
|
||
this.setData({
|
||
noNotice: true
|
||
});
|
||
}
|
||
}
|
||
|
||
return;
|
||
}
|
||
|
||
let json = {
|
||
category_id: this.data.class_id,
|
||
page: 1,
|
||
pageSize: 12
|
||
};
|
||
let urlStr = app.getNetAddresss("plugin.article.api.article.get-articles");
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: json,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
noNotice: false,
|
||
total_page: res.data.articles.last_page,
|
||
pageSize: res.data.articles.per_page,
|
||
isLoadMore: true
|
||
});
|
||
if (that.data.total_page <= 1) {
|
||
that.setData({
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
if (res.data.categories.length <= 0) {
|
||
that.setData({
|
||
noNotice: true
|
||
});
|
||
}
|
||
|
||
if (res.data.articles.data.length > this.data.datas.get_number) {
|
||
res.data.articles.data.splice(this.data.datas.get_number, res.data.articles.data.length - this.data.datas.get_number);
|
||
this.setData({
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
|
||
that.setData({
|
||
list: res.data.articles.data,
|
||
});
|
||
|
||
} else {
|
||
that.setData({
|
||
noNotice: true
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
|
||
},
|
||
toNoticeInfo(e) {
|
||
let item = e.currentTarget.dataset.item;
|
||
wx.navigateTo({
|
||
url: '/packageA/member/article/articleContent/articleContent?article_id=' + item.id
|
||
});
|
||
},
|
||
onClick(e) {
|
||
let index = e.detail.index;
|
||
console.log(this.data.categories, '188');
|
||
this.initData();
|
||
if (index === 0) {
|
||
if (this.data.datas.get_style == 1) {
|
||
//分类的"全部"只在get_style == 1的时候才出现
|
||
this.setData({
|
||
class_id: '0',
|
||
active: '0'
|
||
});
|
||
} else {
|
||
this.setData({
|
||
class_id: this.data.categories[index].id,
|
||
active: String(this.data.categories[index].id)
|
||
});
|
||
}
|
||
} else {
|
||
this.setData({
|
||
class_id: this.data.datas.get_style == 1 ? this.data.categories[index - 1].id : this.data.categories[index].id,
|
||
active: this.data.datas.get_style == 1 ? String(this.data.categories[index - 1].id) : String(this.data.categories[index].id)
|
||
});
|
||
}
|
||
this.getNetData();
|
||
},
|
||
getMoreData() {
|
||
let that = this;
|
||
that.setData({
|
||
isLoadMore: false
|
||
});
|
||
if (this.data.page >= this.data.total_page || this.data.list.length > this.data.datas.get_number) {
|
||
that.setData({
|
||
isLoadMore: false
|
||
});
|
||
} else {
|
||
that.setData({
|
||
page: this.data.page + 1
|
||
});
|
||
let json = {
|
||
category_id: this.data.class_id,
|
||
page: this.data.page,
|
||
pageSize: this.data.pageSize
|
||
};
|
||
let urlStr = app.getNetAddresss("plugin.article.api.article.get-articles");
|
||
app._getNetWork({
|
||
url: urlStr,
|
||
data: json,
|
||
success: (resdata) => {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
that.setData({
|
||
total_page: res.data.articles.last_page,
|
||
});
|
||
if (this.data.page < this.data.total_page) {
|
||
that.setData({
|
||
isLoadMore: true
|
||
});
|
||
} else {
|
||
that.setData({
|
||
allLoaded: true
|
||
});
|
||
}
|
||
|
||
let data = that.data.list.concat(res.data.articles.data);
|
||
if (data.length > this.data.datas.get_number) {
|
||
data.splice(this.data.datas.get_number, data.length - this.data.datas.get_number);
|
||
that.setData({
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
that.triggerEvent("setLoadMore", {
|
||
isLoadMore: that.data.isLoadMore,
|
||
});
|
||
that.setData({
|
||
list: data
|
||
});
|
||
|
||
} else {
|
||
that.setData({
|
||
page: that.data.page - 1,
|
||
isLoadMore: false,
|
||
allLoaded: true
|
||
});
|
||
}
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}); |