yuminge-app/yun-min-program-plugin-master/mycomponent/channelsLiveFloat/channelsLiveFloat.js

103 lines
2.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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