130 lines
3.4 KiB
JavaScript
130 lines
3.4 KiB
JavaScript
// packageE/button/button.js
|
||
Component({
|
||
properties: {
|
||
datas: {
|
||
type: null,
|
||
},
|
||
component_id: {
|
||
type: null,
|
||
},
|
||
},
|
||
// 私有数据,可用于模板渲染
|
||
data: {
|
||
emptyImage: "https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/image.png",
|
||
clientWidth: "375",
|
||
scroll_list: [], //轮播时用的数值结构
|
||
autoplay: false,
|
||
interval: 2000,
|
||
duration: 500,
|
||
},
|
||
|
||
lifetimes: {
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {},
|
||
moved() {},
|
||
detached() {},
|
||
},
|
||
|
||
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
|
||
attached() {},
|
||
// 此处attached的声明会被lifetimes字段中的声明覆盖
|
||
ready() {
|
||
this.initButtons();
|
||
this.setData({
|
||
button_number: this.data.datas.button_number,
|
||
button_line: this.data.datas.button_line,
|
||
clientWidth: wx.getSystemInfoSync().windowWidth,
|
||
});
|
||
},
|
||
|
||
pageLifetimes: {
|
||
// 组件所在页面的生命周期函数
|
||
show() {},
|
||
hide() {},
|
||
resize() {},
|
||
},
|
||
methods: {
|
||
goimgurl(e) {
|
||
let item = e.currentTarget.dataset.item;
|
||
if (item.is_minApp == 2) {
|
||
if (item.gh_id) {
|
||
if (item.minApp_link) {
|
||
try {
|
||
wx.navigateToMiniProgram({
|
||
appId: item.gh_id,
|
||
path: item.minApp_link,
|
||
extraData: {},
|
||
envVersion: "release",
|
||
success(res) {
|
||
// 打开成功
|
||
},
|
||
fail(res) {
|
||
wx.showToast({
|
||
title: "小程序跳转失败",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
},
|
||
});
|
||
} catch (e) {
|
||
wx.showToast({
|
||
title: "小程序跳转失败",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
}
|
||
} else {
|
||
wx.showToast({
|
||
title: "请设置跳转小程序后的跳转链接",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
}
|
||
} else {
|
||
wx.showToast({
|
||
title: "请设置小程序所需跳转appId",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
}
|
||
} else {
|
||
let url = item.h5_link;
|
||
let value = wx.getStorageSync("yz_uid");
|
||
let customParams = { mid: value };
|
||
try {
|
||
if(url.indexOf("pages/live-player-plugin") > 0) {
|
||
url = url + `&open_share_ticket=1&custom_params=${encodeURIComponent(JSON.stringify(customParams))}`;
|
||
}
|
||
wx.navigateTo({
|
||
url: url,
|
||
});
|
||
} catch (e) {
|
||
wx.showToast({
|
||
title: "链接设置错误",
|
||
icon: "none",
|
||
duration: 2000,
|
||
});
|
||
}
|
||
}
|
||
},
|
||
initButtons() {
|
||
let scroll_list = [];
|
||
|
||
let page = Math.ceil(
|
||
this.data.datas.list.length /
|
||
this.data.datas.button_number /
|
||
this.data.datas.button_line
|
||
); //==> 页数
|
||
let num = this.data.datas.button_number * this.data.datas.button_line; // ==> 每页多少个
|
||
|
||
for (let i = 0; i < page; i++) {
|
||
scroll_list.push(this.data.datas.list.slice(i * num, (i + 1) * num));
|
||
}
|
||
|
||
this.setData({
|
||
scroll_list: scroll_list,
|
||
});
|
||
},
|
||
},
|
||
});
|