You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.6 KiB
93 lines
2.6 KiB
<template>
|
|
<el-row type="flex" justify="center">
|
|
<el-col :span="6">
|
|
<el-input placeholder="直播间号" v-model="roomId">
|
|
<template v-slot:prepend>请输入直播间号</template>
|
|
<template v-slot:append>
|
|
<el-button @click="add" :disabled="roomId===''">添加</el-button>
|
|
</template>
|
|
</el-input>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row type="flex" justify="center">
|
|
<el-col :span="12">
|
|
<el-table :data="tableData">
|
|
<el-table-column prop="id" label="直播间号"/>
|
|
<el-table-column prop="user" label="直播用户"/>
|
|
<el-table-column prop="title" label="直播标题"/>
|
|
<el-table-column label="状态">
|
|
<template v-slot="scope">
|
|
{{ parseStatus(scope.row.status) }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="推送配置">
|
|
<template v-slot="scope">
|
|
<el-checkbox v-model="scope.row._email">邮箱</el-checkbox>
|
|
<el-checkbox v-model="scope.row._telegram">telegram</el-checkbox>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="操作">
|
|
<template v-slot="scope">
|
|
<el-popconfirm title="确认删除此直播间号?">
|
|
<template v-slot:reference>
|
|
<el-button icon="el-icon-delete">删除</el-button>
|
|
</template>
|
|
</el-popconfirm>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import {defineComponent, ref} from "vue";
|
|
import {addRoom, JSONResponse, loadRoom, message} from "../request";
|
|
|
|
export default defineComponent({
|
|
name: "Room",
|
|
setup() {
|
|
const tableData = ref<Array>()
|
|
const roomId = ref('')
|
|
|
|
const add = () => {
|
|
addRoom(roomId).then(res => res.json())
|
|
.then((res: JSONResponse) => {
|
|
message(res)
|
|
if (res.result === "OK") {
|
|
load()
|
|
}
|
|
})
|
|
}
|
|
|
|
const load = () => loadRoom().then(res => res.json())
|
|
.then((res: JSONResponse) => {
|
|
res.rooms.forEach(value => {
|
|
value._email = ref(value.email)
|
|
value._telegram = ref(value.telegram)
|
|
})
|
|
tableData.value = res.rooms
|
|
})
|
|
|
|
load()
|
|
|
|
const parseStatus = (status: number) => {
|
|
switch (status) {
|
|
case 1:
|
|
return "直播"
|
|
case 2:
|
|
return "轮播"
|
|
case 3:
|
|
return "离线"
|
|
}
|
|
}
|
|
|
|
return {tableData, roomId, add, parseStatus}
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style> |