欧美日韩精品一区二区在线线,一级无码在线收看,精品国产高清91,久久精品欧美电影

# 組件接口

名稱 功能說明
訂閱組件?subscribe 訂閱組件可配置到小程序頁面上,可對一場未開播的直播進(jìn)行單次訂閱,開播時會自動下發(fā)開播提醒給用戶
掛件組件?pendant 掛件可配置在小程序頁面上,用戶可通過掛件進(jìn)入當(dāng)前小程序?qū)?yīng)直播間
獲取單次訂閱狀態(tài)??getSubscribeStatus 在直播組件版本 1.3.0 及以上版本通過該接口獲取直播間單次訂閱狀態(tài)
獲取直播狀態(tài)??getLiveStatus 首次獲取立馬返回直播狀態(tài),往后間隔1分鐘或更慢的頻率去輪詢獲取直播狀態(tài)
獲取用戶openid參數(shù)getOpenid 在直播組件版本 1.3.0 及以上版本通過該接口獲取用戶openid參數(shù)
獲取分享卡片鏈接參數(shù)getShareParams 在直播組件版本 1.3.0 及以上版本通過該接口獲取以下參數(shù),開發(fā)者可以根據(jù)這些參數(shù)建立用戶、直播間、商品之間的映射關(guān)系
直播小窗控制參數(shù)?close_picture_in_picture_mode 通過參數(shù)設(shè)置是否關(guān)閉小窗
攜帶參數(shù)(?直播間到商詳頁面,?從群分享卡片返回直播間) 直播組件版本 1.3.0 及以上支持?jǐn)y帶以下參數(shù),可用這些參數(shù)建立用戶、直播間、商品之間的映射關(guān)系。

# 1. 【訂閱】組件(注:若要使用該組件,需在主包/分包先引入直播組件)

功能解釋:訂閱組件可配置到小程序頁面上,可對一場未開播的直播進(jìn)行單次訂閱,開播時會自動下發(fā)開播提醒給用戶,無需開發(fā)者額外開發(fā)

組件使用:如果需要在直播頁以外小程序其他頁面也有同樣的開播提醒的功能,可以引入【訂閱】組件 subscribe(開播前才會顯示,直播開始后自動消失該組件);需在 page 頁面(如 home 頁面)的 home.json 引用訂閱組件,可通過 stopPropagation 屬性控制是否阻止事件冒泡(默認(rèn)不阻止事件冒泡,stopPropagation 為 false)。

# 示例代碼如下:

{
    "usingComponents": {
        "subscribe": "plugin-private://wx2b03c6e691cd7370/components/subscribe/subscribe"
    }
}

然后便可在 home.wxml 里使用訂閱組件,其中直播房間 id 可通過下面 獲取直播房間列表 API 獲取。 同時,訂閱組件支持自定義顏色和大小以及攜帶自定義參數(shù),參數(shù)說明如下:

  • room-id:表示房間號,類型為 Number(默認(rèn)為0)
  • width:表示寬度,類型為 Number(默認(rèn)為120)
  • height:表示高度,類型為 Number(默認(rèn)為41)
  • font-size:表示字號,類型為 Number(默認(rèn)為17)
  • color:表示字體顏色,類型為 String(默認(rèn)為'FFFFFF')
  • background-color:表示背景色,類型為 String(默認(rèn)為'#6467F0')
  • custom-params:表示自定義參數(shù),類型為 String(默認(rèn)為空)
  • stop-propagation:表示阻止事件冒泡,類型為 Boolean(默認(rèn)為false,不阻止事件冒泡)
// 傳參
let roomId = 1
let width = 120
let height = 41
let fontSize = 17
let color = '#FFFFFF'
let backgroundColor = '#6467F0'
let customParams = encodeURIComponent(JSON.stringify({ path: 'pages/index/index', pid: 1 })) // 開發(fā)者在訂閱組件上攜帶自定義參數(shù)(如示例中的path和pid參數(shù)),后續(xù)可以在 App onShow 生命周期的 options 里獲?。ㄉ舷?00個字符,超過部分會被截斷)
this.setData({
    width,
    height,
    fontSize,
    color,
    backgroundColor,
    customParams
})

// 監(jiān)聽訂閱事件用于獲取訂閱狀態(tài)
onSubscribe(e) {
    console.log('房間號:', e.detail.room_id)
    console.log('訂閱用戶openid', e.detail.openid)
    console.log('是否訂閱', e.detail.is_subscribe)
}
<subscribe
    room-id="{{roomId}}"
    width="{{width}}"
    height="{{height}}"
    font-size="{{fontSize}}"
    color="{{color}}"
    background-color="{{backgroundColor}}"
    custom-params="{{customParams}}"
    bindsubscribe="onSubscribe">
</subscribe>

# 2.【獲取單次訂閱狀態(tài)】接口(注:若要使用該接口,需在主包/分包先引入直播組件)

接口說明:獲取直播間單次訂閱狀態(tài)

調(diào)用方法:若要調(diào)用【獲取單次訂閱狀態(tài)】接口 getSubscribeStatus,需在小程序頁面頂部引用【直播組件】 live-player-plugin。

# 示例代碼如下:

let livePlayer = requirePlugin('live-player-plugin')

// 獲取直播間單次訂閱狀態(tài)
const roomId = xxx // 房間 id
livePlayer.getSubscribeStatus({ room_id: roomId })
    .then(res => {
        console.log('房間號:', res.room_id)
        console.log('訂閱用戶openid', res.openid)
        console.log('是否訂閱', res.is_subscribe)
    }).catch(err => {
        console.log('get subscribe status', err)
    })

# 3. 【獲取直播狀態(tài)】接口(注:若要使用該接口,需在主包/分包先引入直播組件)

接口說明:首次獲取立馬返回直播狀態(tài),往后間隔1分鐘或更慢的頻率去輪詢獲取直播狀態(tài)

# 直播狀態(tài)說明:

  • 101 直播中:表示主播正常開播,直播正常的狀態(tài)

  • 102 未開始:表示主播還未開播

  • 103 已結(jié)束:表示在直播端點(diǎn)擊【結(jié)束】按鈕正常關(guān)閉的直播,或直播異常 15 分鐘后系統(tǒng)強(qiáng)制結(jié)束的直播

  • 104 禁播:表示因違規(guī)受到運(yùn)營處罰被禁播

  • 105 暫停中:表示在 MP 小程序后臺-控制臺內(nèi)操作暫停了直播

  • 106 異常:表示主播離開、切后臺、斷網(wǎng)等情況,該直播被判定為異常狀態(tài),15 分鐘內(nèi)恢復(fù)即可回到正常直播中的狀態(tài);如果 15 分鐘后還未恢復(fù),直播間會被系統(tǒng)強(qiáng)制結(jié)束直播

  • 107 已過期:表示直播間一直未開播,且已達(dá)到在 MP 小程序后臺創(chuàng)建直播間時填寫的直播計劃結(jié)束時間,則該直播被判定為過期不能再開播

調(diào)用方法:若要調(diào)用【獲取直播狀態(tài)】接口 getLiveStatus,需在小程序頁面頂部引用【直播組件】 live-player-plugin。

# 示例代碼如下:

let livePlayer = requirePlugin('live-player-plugin')

// 首次獲取立馬返回直播狀態(tài)
const roomId = xxx // 房間 id
livePlayer.getLiveStatus({ room_id: roomId })
    .then(res => {
        // 101: 直播中, 102: 未開始, 103: 已結(jié)束, 104: 禁播, 105: 暫停中, 106: 異常,107:已過期 
        const liveStatus = res.liveStatus
        console.log('get live status', liveStatus)
    })
    .catch(err => {
        console.log('get live status', err)
    })
// 往后間隔1分鐘或更慢的頻率去輪詢獲取直播狀態(tài)
setInterval(() => {
    livePlayer.getLiveStatus({ room_id: roomId })
        .then(res => {
            // 101: 直播中, 102: 未開始, 103: 已結(jié)束, 104: 禁播, 105: 暫停中, 106: 異常,107:已過期 
            const liveStatus = res.liveStatus
            console.log('get live status', liveStatus)
        })
        .catch(err => {
            console.log('get live status', err)
        })
}, 60000)

# 4. 【獲取用戶openid參數(shù)】接口(注:若要使用該接口,需在主包/分包先引入直播組件)

接口說明:在直播組件版本 1.3.0 及以上版本通過該接口獲取用戶openid參數(shù)。

調(diào)用方法:若要調(diào)用【獲取用戶openid參數(shù)】接口 getOpenid,需在小程序頁面頂部引用【直播組件】 live-player-plugin。

# 示例代碼如下:

let livePlayer = requirePlugin('live-player-plugin')

App({
    onShow(options) {
        livePlayer.getOpenid({ room_id: [直播房間id] }) // 該接口傳入?yún)?shù)為房間號
            .then(res => {
                console.log('get openid', res.openid) // 用戶openid
            }).catch(err => {
                console.log('get openid', err)
            })
    }
})

# 5. 【獲取分享卡片鏈接參數(shù)】接口(注:若要使用該接口,需在主包/分包先引入直播組件)

接口說明:由于基礎(chǔ)庫數(shù)據(jù)安全策略,通過 App onShow(需在主包引入直播組件)或者 Page onShow(需在分包引入直播組件)生命周期里的query無法獲取直播間分享卡片鏈接參數(shù)。在直播組件版本 1.3.0 及以上版本通過該接口獲取以下參數(shù),開發(fā)者可以根據(jù)這些參數(shù)建立用戶、直播間、商品之間的映射關(guān)系。

  • 分享卡片進(jìn)入直播間:房間號 room_id + 進(jìn)入者 openid + 分享者 share_openid + 開發(fā)者自定義參數(shù) custom_params

調(diào)用方法:若要調(diào)用【獲取分享卡片鏈接參數(shù)】接口 getShareParams,需在小程序頁面頂部引用【直播組件】 live-player-plugin。

# 示例代碼如下:

let livePlayer = requirePlugin('live-player-plugin')

App({
    onShow(options) {
        // 分享卡片/訂閱消息/掃碼二維碼/廣告/朋友圈等場景才能調(diào)用getShareParams接口獲取以下參數(shù)
        const sceneList = [1007, 1008, 1014, 1044, 1045, 1046, 1047, 1048, 1049, 1073, 1154, 1155]
        if (sceneList.includes(options.scene)) {
            livePlayer.getShareParams()
                .then(res => {
                    // 房間號
                    console.log('get room id', res.room_id) 
                    // 用戶openid
                    console.log('get openid', res.openid) 
                    // 分享者openid,分享卡片進(jìn)入場景才有
                    console.log('get share openid', res.share_openid) 
                    // 開發(fā)者在跳轉(zhuǎn)進(jìn)入直播間頁面時,頁面路徑上攜帶的自定義參數(shù),這里傳回給開發(fā)者
                    console.log('get custom params', res.custom_params) 
                }).catch(err => {
                    console.log('get share params', err)
                })
        }
    }
})