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.
 
 
 
 
 
bililive_webapp/src/App.vue

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>