// packageE/newDiy/newDiy.js var app = getApp(); Page({ /** * 页面的初始数据 */ data: { page_id: "", is_store: false, // 门店装修 store_id: "", // 门店装修 clientWidth: "375", page_name: "", showPage: true, btnFlag: false, fullShow: false, popShow: false, advertising: {}, full_screen: {}, top_info: {}, bottom_info: {}, components: [], mailInfo: {}, // 商城信息 foot_type: "", current_page: 1, total_page: 0, decorate_isLoadMore: true, isWatch: true, //会员浏览权限 bottomShowBol: false, bottomShowBolIndex: 0, }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (options.page_id) { this.setData({ page_id: options.page_id, }); } if (options.store_id) { this.setData({ is_store: true, store_id: options.store_id, }); } if (options.scene) { let scene = decodeURIComponent(options.scene); if (scene) { var info_arr = []; info_arr = scene.split(","); for (let i = 0; i < info_arr.length; i++) { let chil_arr = []; chil_arr = info_arr[i].split("="); if (chil_arr[0] == "mid") { app._setMid(chil_arr[1]); } if (chil_arr[0] == "page_id") { this.setData({ page_id: chil_arr[1], }); } if (chil_arr[0] == "store_id") { this.setData({ store_id: chil_arr[1], }); } } } } if (options.mid) { app._setMid(options.mid); } this.getNewDesinger(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { this.setData({ clientWidth: wx.getSystemInfoSync().windowWidth, }); }, /** * 生命周期函数--监听页面显示 */ onShow: function () {}, getNewDesinger() { const that = this; this.setData({ showPage: false, }); let jsons = { page_id: this.data.page_id, }; let urlStr = app.getNetAddresss("home-page.index"); if(this.data.store_id) { urlStr = app.getNetAddresss("plugin.store-cashier.frontend.store.get-store-info.get-the-provider"); jsons = { page_id: this.data.page_id, store_id: this.data.store_id }; } app._getNetWork({ url: urlStr, data: jsons, success: (resdata) => { var res = resdata.data; if (res.result == 1) { if(this.data.is_store) { this.setData({ showPage: true, components: res.data.store_decorate.datas, page_name: res.data.store_decorate?.page_info?.page_title || '商家', foot_type: res.data.store_decorate.foot_type }); // 装修的底部有三种情况 if (res.data.store_decorate.foot_type == -1) { // 不显示 this.setData({ bottom_info: {}, }); } else if (res.data.store_decorate.foot_type == 1) { // 显示默认 if (!res.data.store_decorate.foot_id || !res.data.store_decorate.foot_id.page_info) { // 显示系统默认 this.setData({ bottom_info: {}, }); } else { // 显示列表设置的默认 this.setData({ bottom_info: JSON.parse(res.data.store_decorate.foot_id.page_info), }); } } else if (res.data.store_decorate.foot_type == 2) { // 显示自定义的底部导航 if (!res.data.store_decorate.foot_id || res.data.store_decorate.foot_id instanceof Array) { this.setData({ bottom_info: {}, }); } else { this.setData({ bottom_info: JSON.parse(res.data.store_decorate.foot_id.page_info), }); } } if (this.data.page_name) { wx.setNavigationBarTitle({ title: this.data.page_name, }); } return; } if (res.data.item) { this.setData({ showPage: true, }); let mailInfo = wx.getStorageSync('yz_basic_info'); if(mailInfo){ mailInfo = mailInfo.home.mailInfo; } this.setData({ components: res.data.item.datas, page_name: res.data.item.page_info?.page_title, mailInfo: mailInfo?mailInfo:'', foot_type: res.data.item.foot_type, decorate_isLoadMore: true, }); if (res.data.item.page) { this.setData({ total_page: res.data.item.page.total_page, current_page: res.data.item.page.current_page, bottomShowBolIndex: res.data.item.page.count - 1, }); } if (res.data.item.page_info) { that.setData({ advertising: res.data.item.page_info.advertising_id, full_screen: res.data.item.page_info.full_screen_id, }); if (that.data.advertising.id && that.data.advertising.datas) { that.data.advertising.datas = JSON.parse( that.data.advertising.datas ); that.setData({ advertising: that.data.advertising, }); } } if (res.data.item.top && res.data.item.top.id) { this.setData({ top_info: JSON.parse(res.data.item.top.page_info), }); } // 装修的底部有三种情况 if (res.data.item.foot_type == -1) { // 不显示 this.setData({ bottom_info: {}, }); } else if (res.data.item.foot_type == 1) { // 显示默认 if (!res.data.item.foot || !res.data.item.foot.page_info) { // 显示系统默认 this.setData({ bottom_info: {}, }); } else { // 显示列表设置的默认 this.setData({ bottom_info: JSON.parse(res.data.item.foot.page_info), }); } } else if (res.data.item.foot_type == 2) { // 显示自定义的底部导航 if (!res.data.item.foot || res.data.item.foot instanceof Array) { this.setData({ bottom_info: {}, }); } else { this.setData({ bottom_info: JSON.parse(res.data.item.foot.page_info), }); } } if (this.data.full_screen && this.data.full_screen.id) { let value = wx.getStorageSync("page_idFull_screens"); if (!value) { value = []; } if (!value.includes(this.data.page_id)) { value.push(this.data.page_id); wx.setStorageSync("page_idFull_screens", value); this.setData({ fullShow: true, }); this.countDown(this.data.full_screen.show_time); } } if (this.data.advertising && this.data.advertising.id) { let value = wx.getStorageSync("page_idAdvertisings"); if (!value) { value = []; } if (!value.includes(this.data.page_id)) { value.push(this.data.page_id); wx.setStorageSync("page_idAdvertisings", value); this.setData({ popShow: true, }); } } // 小程序标题栏 if (res.data.item.page_info && res.data.item.page_info.preview_color) { wx.setNavigationBarColor({ backgroundColor: res.data.item.page_info.preview_color, frontColor: res.data.item.page_info.font_color == 1 ? "#ffffff" : "#000000", animation: { duration: 400, timingFunc: "easeIn", }, }); } that.setData({ isWatch: res.data.item.pageinfo.params.allowauth == 0 ? false : true, }); if(!that.data.isWatch && res.data.item.page_info &&res.data.item.page_info.member_level_url && res.data.item.page_info.member_level_url.link) { that.timer = setTimeout(() => { wx.redirectTo({ url: res.data.item.page_info.member_level_url.link, }); }, 3000); } console.log("会员是否可浏览装修页", that.data.isWatch); if (this.data.page_name) { wx.setNavigationBarTitle({ title: this.data.page_name, }); } else { wx.setNavigationBarTitle({ title: "默认标题", }); } } } else { wx.showToast({ title: res.msg, icon: "none", }); console.log(res.msg); } }, }); }, getMoreDecorate() { let that = this; that.setData({ decorate_isLoadMore: false, }); if (that.data.current_page < that.data.total_page) { that.setData({ current_page: that.data.current_page + 1, }); let urlStr = app.getNetAddresss( "plugin.decorate.frotend.decorate-api.get-page" ); app._postNetWork({ url: urlStr, data: { decorate_page: this.data.current_page, decorate_id: this.data.page_id, }, success: (resdata) => { var res = resdata.data; if (res.result == 1) { that.setData({ decorate_isLoadMore: true, components: that.data.components.concat(res.data.datas), }); } else { that.setData({ decorate_isLoadMore: false, current_page: that.data.current_page - 1, }); console.log(res.msg); } }, }); } }, turnFullTo() { let url = this.data.full_screen.minapp_link; try { wx.navigateTo({ url: url, }); } catch (e) { wx.showToast({ title: "链接设置错误", icon: "none", duration: 2000, }); } }, turnTo() { let item = this.data.advertising; if (item.is_minapp == 2) { if (item.minapp_sid) { if (item.minapp_link2) { try { wx.navigateToMiniProgram({ appId: item.minapp_sid, path: item.minapp_link2, 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.minapp_link; try { wx.navigateTo({ url: url, }); } catch (e) { wx.showToast({ title: "链接设置错误", icon: "none", duration: 2000, }); } } }, closePop() { this.setData({ popShow: false, }); }, closeFull() { this.setData({ fullShow: false, }); }, countDown(num) { let numberNum = num; this.setData({ "full_screen.show_time": numberNum, }); numberNum--; let cleartime = setTimeout(() => { if (numberNum <= 0) { this.setData({ fullShow: false, }); clearInterval(cleartime); return; } else { this.countDown(numberNum); } }, 1000); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () {}, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { clearTimeout(this.timer); }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () {}, // 获取滚动条当前位置 onPageScroll: function (e) { // 节流 if (e.scrollTop > 80) { if (!this.data.btnFlag) { this.setData({ btnFlag: true, }); } } else { if (this.data.btnFlag) { this.setData({ btnFlag: false, }); } } if (this.data.bottomShowBol) { this.setData({ bottomShowBol: false, }); } }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { this.setData({ bottomShowBol: true, }); if (this.data.decorate_isLoadMore) { this.getMoreDecorate(); } }, /** * 用户点击右上角分享 */ onShareTimeline:function(){ var value = wx.getStorageSync('yz_uid'); let mid = ''; let path = `/packageG/newDiy/newDiy?page_id=${this.data.page_id}`; if(this.data.is_store) { path = path + '&store_id' + this.data.store_id; } if (value) { mid = value; path = path + '&mid' + mid; } this.data.components.forEach(element => { if(element.component_key == 'U_lottery'){ if(e.from == "menu"){ this.getShare(element.remote_data.lottery.id); return { title: this.data.page_name ? this.data.page_name : "", path: path, }; } } }); return { title: this.data.page_name ? this.data.page_name : "", path: path, }; }, onShareAppMessage: function (e) { var value = wx.getStorageSync('yz_uid'); let mid = ''; if (value) { mid = value; } this.data.components.forEach(element => { if(element.component_key == 'U_lottery'){ if(e && e.from == "menu"){ this.getShare(element.remote_data.lottery.id); return { title: this.data.page_name ? this.data.page_name : "", path: `/packageG/newDiy/newDiy?page_id=${this.data.page_id}&mid=${mid}`, }; } } }); if(e && e.from == 'button' && e.target.dataset.tag == "shareTag"){ // 拼团活动二开#73727 弹窗邀请朋友 if(e.target.dataset.item == '1'){ let _path = '/packageB/member/group/GroupDetail/GroupDetail?id=' + e.target.dataset.info.id + '&mid=' + mid; let _title = e.target.dataset.title; if(e.target.dataset.store){ _path = '/packageB/member/group/GroupDetail/GroupDetail?id=' + e.target.dataset.info.id +'store='+ e.target.dataset.store + '&mid=' + mid; } if(app.globalData.store_alone_temp == 1 && that.globalData.STORE_ID){ _path = `${_path}&store_alone_id=${app.globalData.STORE_ID}`; } return{ path:_path, title:_title }; } } if(this.data.store_id){ // 门店装修 return { title: this.data.page_name ? this.data.page_name : "", path: `/packageG/newDiy/newDiy?page_id=${this.data.page_id}&mid=${mid}&store_id=${this.data.store_id}`, }; } return { title: this.data.page_name ? this.data.page_name : "", path: `/packageG/newDiy/newDiy?page_id=${this.data.page_id}&mid=${mid}`, }; }, getShare(id){ let urlStr = app.getNetAddresss("plugin.lucky-draw.frontend.draw.getShare"); app._getNetWork({ url: urlStr, data: { lotteryId: id }, success: resdata => { // var res = resdata.data; this.getNewDesinger(); }, fail: function (res) { console.log(res); } }); }, });