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.

92 lines
2.9 KiB

<template>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<router-link class='navbar-brand' :to="{name:'home'}">AI Snake</router-link>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<!-- <li class="nav-item">
<router-link :class="route_name == 'pk_index' ? 'nav-link active' : 'nav-link' " :to="{name:'pk_index'}">游戏介绍</router-link>
</li> -->
<li class="nav-item">
<!-- router-link单页面 -->
<router-link :class="route_name == 'pk_index' ? 'nav-link active' : 'nav-link' " :to="{name:'pk_index'}">挑战页面</router-link>
</li>
<li class="nav-item">
<router-link :class="route_name == 'record_index' ? 'nav-link active' : 'nav-link' " :to="{name:'record_index'}">对局列表</router-link>
</li>
<li class="nav-item">
<router-link :class="route_name == 'ranklist_index' ? 'nav-link active' : 'nav-link' " :to="{name:'ranklist_index'}">排行榜</router-link>
</li>
</ul>
<ul class="navbar-nav" v-if="$store.state.user.is_login">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{$store.state.user.username}}
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown" style="margin:0">
<li>
<router-link class="dropdown-item" :to="{name:'user_bot_index'}">我的Bots</router-link>
</li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" @click="logout" href="#">退出</a></li>
</ul>
</li>
</ul>
<ul class="navbar-nav" v-else-if="!$store.state.user.pulling_info">
<li class="nav-item">
<router-link class="nav-link" :to="{name:'user_account_login'}" role="button">
登录
</router-link>
</li>
<li class="nav-item">
<router-link class="nav-link" :to="{name:'user_account_register'}" role="button">
注册
</router-link>
</li>
</ul>
</div>
</div>
</nav>
</template>
<script>
//坑:注意 {}
import { useRoute } from "vue-router";
import { computed } from "vue";
import { useStore } from "vuex";
export default {
setup(){
const route = useRoute();
const store = useStore();
//实时计算 路由名称
let route_name = computed( () => route.name );
const logout = () => {
store.dispatch("logout");
}
return {
route_name,
logout,
}
}
}
</script>
<style scoped>
</style>