103 lines
2.8 KiB
JavaScript
103 lines
2.8 KiB
JavaScript
// 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);
|
||
},
|
||
});
|
||
}
|
||
},
|
||
},
|
||
});
|