yuminge-app/yun-min-program-plugin-master/packageG/mycomponent/article/article.js

287 lines
7.4 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.

// 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);
}
});
}
}
}
});