|
@@ -4,13 +4,14 @@ import runtime, * as RuntimeUtils from './runtime'
|
|
|
import { state } from '/src/state'
|
|
|
import request from '/src/helpers/request'
|
|
|
import styles from './header.module.less'
|
|
|
+import { removeToken } from '/src/utils/auth'
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'LiveBroadcastHeader',
|
|
|
methods: {
|
|
|
async startLive() {
|
|
|
try {
|
|
|
- await ElMessageBox.confirm('是否确认开始直播?', '提示', {
|
|
|
+ await ElMessageBox.confirm('开启后学生将看到视频画面', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning',
|
|
@@ -23,7 +24,7 @@ export default defineComponent({
|
|
|
},
|
|
|
async closeLive() {
|
|
|
try {
|
|
|
- await ElMessageBox.confirm('是否确认结束直播?', '提示', {
|
|
|
+ await ElMessageBox.confirm('关闭后将切断视频,学生不可观', '提示', {
|
|
|
confirmButtonText: '确定',
|
|
|
cancelButtonText: '取消',
|
|
|
type: 'warning',
|
|
@@ -38,17 +39,44 @@ export default defineComponent({
|
|
|
await RuntimeUtils.closeLive()
|
|
|
ElMessage.success('关闭成功')
|
|
|
} catch (error) {}
|
|
|
+ },
|
|
|
+ async closeRoom() {
|
|
|
+ try {
|
|
|
+ await ElMessageBox.confirm('关闭后将切断视频,学生不可观', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ // 异步获取用户信息
|
|
|
+ const id = state.user?.id
|
|
|
+ await request.get('/api-web/imLiveBroadcastRoom/roomDestroy/' + id, {})
|
|
|
+ RuntimeUtils.closeDevice('camera')
|
|
|
+ RuntimeUtils.closeDevice('microphone')
|
|
|
+ state.user = null
|
|
|
+ removeToken();
|
|
|
+ ElMessage.success('关闭成功');
|
|
|
+ (this as any).$router.push({
|
|
|
+ path: '/login',
|
|
|
+ query: {
|
|
|
+ ...this.$route.query
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (error) {}
|
|
|
}
|
|
|
},
|
|
|
render() {
|
|
|
return (
|
|
|
- <div class={styles.header}>
|
|
|
+ <div class={styles.header} >
|
|
|
<h3 class={styles.title}>直播内容:{ state.user?.liveRemark }</h3>
|
|
|
- {runtime.videoStatus === 'liveing' ? (
|
|
|
- <ElButton type="danger" color="#EA4132" onClick={this.closeLive}>关闭直播</ElButton>
|
|
|
- ) : (
|
|
|
- <ElButton type="primary" color="#01A79E" onClick={this.startLive}>开始直播</ElButton>
|
|
|
- )}
|
|
|
+ <div>
|
|
|
+ {runtime.videoStatus === 'liveing' ? (
|
|
|
+ <ElButton type="danger" color="#EA4132" onClick={this.closeLive}>关闭视频</ElButton>
|
|
|
+ ) : (
|
|
|
+ <ElButton type="primary" color="#01A79E" onClick={this.startLive}>开启视频</ElButton>
|
|
|
+ )}
|
|
|
+
|
|
|
+ <ElButton type="primary" color="#EA4132" onClick={this.closeRoom}>关闭直播间</ElButton>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
)
|
|
|
}
|