73 lines
1.8 KiB
Vue
73 lines
1.8 KiB
Vue
<script setup>
|
|
import { ref } from '../../../../adapter-vue'
|
|
import custom from '../../../../assets/icon/live-stream.svg'
|
|
import ToolbarItemContainer from '../toolbar-item-container/index.vue'
|
|
import { isUniFrameWork } from '../../../../utils/env'
|
|
import { navigateTo } from '../../../../../utils/router'
|
|
import { getAnchorDetail } from '../../../../../api/tui-kit'
|
|
import { useUI } from '../../../../../utils/use-ui'
|
|
|
|
const { showDialog } = useUI()
|
|
const evaluateIcon = custom
|
|
|
|
const props = defineProps({
|
|
/** 距离顶部高度 */
|
|
groupId: {
|
|
type: String,
|
|
default: ''
|
|
}
|
|
})
|
|
|
|
const container = ref()
|
|
/**
|
|
* 主播申请状态
|
|
* 0 待审核 1 审核通过 2 审核拒绝 3 已封禁 9 新增
|
|
*/
|
|
const stateData = ref(0)
|
|
const onDialogShow = async () => {
|
|
const res = await getAnchorDetail()
|
|
if (res?.data) {
|
|
stateData.value = res.data.status
|
|
} else {
|
|
stateData.value = 9
|
|
}
|
|
|
|
container?.value?.toggleDialogDisplay(false)
|
|
if ([0, 2, 9].includes(stateData.value)) {
|
|
navigateTo(
|
|
'/TUIKit/components/TUIChat/message-input-toolbar/live-stream/apply',
|
|
{ type: stateData.value }
|
|
)
|
|
|
|
return
|
|
}
|
|
if (stateData.value === 1) {
|
|
// 跳转到开播页面
|
|
uni.navigateTo({
|
|
url: `/pages/anchor/index?groupId=${encodeURIComponent(
|
|
props.groupId
|
|
)}`
|
|
})
|
|
return
|
|
}
|
|
if (stateData.value === 3) {
|
|
showDialog('提示', '您已被封禁,请联系管理员解封', false)
|
|
return
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
|
|
<ToolbarItemContainer
|
|
ref="container"
|
|
:iconFile="evaluateIcon"
|
|
:iconWidth="isUniFrameWork ? '34px' : '20px'"
|
|
:iconHeight="isUniFrameWork ? '34px' : '20px'"
|
|
title="直播"
|
|
@onDialogShow="onDialogShow"
|
|
></ToolbarItemContainer>
|
|
</template>
|
|
|
|
<style scoped lang="scss"></style>
|