// mycomponent/channelsLiveFloat/channelsLiveFloat.js var app = getApp(); Component({ /** * 组件的属性列表 */ properties: {}, /** * 组件的初始数据 */ data: { channelsLive: null, //缓存视频号信息,防止频繁调用wx.getChannelsLiveInfo liveSettingInfo: {}, //视频号配置信息 is_open: false, //当前悬浮框是否开启(插件没开或者当前页面没开都为false) openPages: [], //页面开启集合 }, ready() { let basic_info = wx.getStorageSync("yz_basic_info"); let plugin_setting = basic_info.plugin_setting; console.log(basic_info); if (plugin_setting && plugin_setting["video_live_room"] && plugin_setting["video_live_room"] == 1) { this.getLiveSetting(); } }, /** * 组件的方法列表 */ methods: { openChannelsLive() { let liveInfo = this.data.channelsLive; wx.openChannelsLive({ finderUserName: this.data.liveSettingInfo.video_id, feedId: liveInfo.feedId, nonceId: liveInfo.nonceId, }); }, getLiveSetting() { let urlStr = app.getNetAddresss("plugin.video-live-room.frontend.index.get-data"); app._getNetWork({ showToastIn: false, url: urlStr, success: (resdata) => { let res = resdata.data; if (res.result != 1) return; this.setData({ liveSettingInfo: res.data, }); this.checkOpen(); }, }); }, checkOpen() { //验证当前页面是否开启显示 if (this.data.liveSettingInfo.is_open != 1) return; let display_page = this.data.liveSettingInfo.display_page; let pageArr = display_page.split(","); if (pageArr.includes("1")) { //首页 this.data.openPages.push("packageG/index/index"); } if (pageArr.includes("2")) { //商品详情页 this.data.openPages.push("packageA/detail_v2/detail_v2"); } let pages = getCurrentPages(); let page = pages[pages.length - 1]; console.log(this.data.liveSettingInfo, "page"); if (this.data.openPages.includes(page.route)) { this.getChannelsLiveInfo(); } }, getChannelsLiveInfo() { console.log("当前页面需要显示", this.data.liveSettingInfo); if (wx.getChannelsLiveInfo) { wx.getChannelsLiveInfo({ finderUserName: this.data.liveSettingInfo.video_id, success: (res) => { this.data.channelsLive = res; this.setData({ is_open: true, }); }, fail: (res) => { console.log(res); app.tips("请检查视频号ID与小程序是否同个主体或者视频号是否开过直播",'none',3500); }, }); } }, }, });