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