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.
68 lines
1.9 KiB
68 lines
1.9 KiB
<template>
|
|
<el-container>
|
|
<el-header>
|
|
<el-row>
|
|
<el-col :span="4">
|
|
<h1>直播间开播通知</h1>
|
|
</el-col>
|
|
<el-col :span="20" v-if="![loginPath,registerPath].includes($route.fullPath)">
|
|
<el-menu mode="horizontal" :router="true" :default-active="store.state.route">
|
|
<el-submenu index="1">
|
|
<template v-slot:title>推送配置</template>
|
|
<el-menu-item index="/config">当前配置</el-menu-item>
|
|
<el-menu-item index="/config/telegram">修改telegram bot</el-menu-item>
|
|
</el-submenu>
|
|
|
|
<el-submenu index="2">
|
|
<template v-slot:title>个人信息</template>
|
|
<el-menu-item index="/password">修改密码</el-menu-item>
|
|
<el-menu-item index="/email">修改邮箱</el-menu-item>
|
|
<el-menu-item @click="logout">退出登录</el-menu-item>
|
|
</el-submenu>
|
|
</el-menu>
|
|
</el-col>
|
|
</el-row>
|
|
</el-header>
|
|
<el-main>
|
|
<router-view/>
|
|
</el-main>
|
|
</el-container>
|
|
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import {defineComponent} from 'vue'
|
|
import Config from "./components/Config.vue";
|
|
import {useStore} from "vuex";
|
|
import {loginPath, registerPath} from "./router";
|
|
//@ts-ignore
|
|
import crumbs from 'crumbsjs';
|
|
import {useRouter} from "vue-router";
|
|
|
|
export default defineComponent({
|
|
name: 'App',
|
|
components: {Config},
|
|
setup() {
|
|
const store = useStore()
|
|
const router = useRouter()
|
|
|
|
const logout = () => {
|
|
crumbs.deleteAll()
|
|
router.replace(loginPath)
|
|
}
|
|
|
|
return {store, loginPath, registerPath, logout}
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<style>
|
|
#app {
|
|
font-family: Avenir, Helvetica, Arial, sans-serif;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
text-align: center;
|
|
color: #2c3e50;
|
|
margin-top: 60px;
|
|
}
|
|
</style> |