* ci: 👷 整合github action配置文件 * docs: 📝 贡献文档修改 * style: 💄 更新版本 * style: 💄 cargo.lock版本更新 * feat(husky): 增强Git标签版本校验脚本 添加了对Git标签指向提交与release分支一致性的校验功能。 脚本现在会检查tag指向的提交是否与当前或任何release分支的最新提交一致, 确保发布流程的准确性。如果当前在release分支上,直接比较分支HEAD与tag指向的提交; 如果不在release分支上,则遍历所有release分支查找匹配的提交。 * feat: ✨ 国际化
100 lines
3.4 KiB
Vue
100 lines
3.4 KiB
Vue
<script setup lang="ts">
|
|
import dayjs from 'dayjs'
|
|
import { ref } from 'vue'
|
|
import { useI18n } from 'vue-i18n'
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
import { configRoutes } from '../../router'
|
|
|
|
const { t } = useI18n()
|
|
const router = useRouter()
|
|
const route = useRoute()
|
|
const menuList = ref<any[]>(configRoutes.children)
|
|
const currentYear = dayjs().year()
|
|
|
|
function cleanMenuList(menu: any) {
|
|
const newList = menu
|
|
for (let i = 0; i < newList.length; i++) {
|
|
if (newList[i].children) {
|
|
cleanMenuList(newList[i].children)
|
|
}
|
|
if (!newList[i].meta) {
|
|
newList.splice(i, 1)
|
|
i--
|
|
}
|
|
}
|
|
|
|
return newList
|
|
}
|
|
|
|
menuList.value = cleanMenuList(menuList.value)
|
|
|
|
function skip(path: string) {
|
|
router.push(path)
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div class="flex min-h-[calc(100%-280px)]">
|
|
<ul class="w-56 m-0 mr-3 min-w-56 menu bg-base-200 pt-14">
|
|
<li v-for="item in menuList" :key="item.name">
|
|
<details v-if="item.children" open>
|
|
<summary>{{ item.meta.title }}</summary>
|
|
<ul>
|
|
<li v-for="subItem in item.children" :key="subItem.name">
|
|
<details v-if="subItem.children" open>
|
|
<summary>{{ subItem.meta!.title }}</summary>
|
|
<ul>
|
|
<li v-for="subSubItem in subItem.children" :key="subSubItem.name">
|
|
<a
|
|
:style="subSubItem.name === route.name ? 'background-color:rgba(12,12,12,0.2)' : ''"
|
|
@click="skip(subItem.path)"
|
|
>{{
|
|
subSubItem.meta!.title }}</a>
|
|
</li>
|
|
</ul>
|
|
</details>
|
|
<a
|
|
v-else :style="subItem.name === route.name ? 'background-color:rgba(12,12,12,0.2)' : ''"
|
|
@click="skip(subItem.path)"
|
|
>{{
|
|
subItem.meta!.title }}</a>
|
|
</li>
|
|
</ul>
|
|
</details>
|
|
<a
|
|
v-else :style="item.name === route.name ? 'background-color:rgba(12,12,12,0.2)' : ''"
|
|
@click="skip(item.path)"
|
|
>{{ item.meta!.title }}</a>
|
|
</li>
|
|
</ul>
|
|
<router-view class="flex-1 mt-5" />
|
|
</div>
|
|
<footer class="p-10 rounded footer footer-center bg-base-200 h-70 flex flex-col gap-4 text-base-content">
|
|
<nav class="grid grid-flow-col gap-4">
|
|
<a class="cursor-pointer link link-hover text-inherit" target="_blank" href="https://1kw20.fun">{{ t('footer.self-reflection') }}</a>
|
|
</nav>
|
|
<nav>
|
|
<a class="cursor-pointer link link-hover text-inherit" target="_blank" href="https://1kw20.fun">{{ t('footer.thiefEasy') }}</a>
|
|
</nav>
|
|
<nav>
|
|
<div class="grid grid-flow-col gap-4">
|
|
<a href="https://github.com/LOG1997/log-lottery" target="_blank" class="cursor-pointer text-inherit">
|
|
<svg-icon name="github" />
|
|
</a>
|
|
<a href="https://twitter.com/TaborSwift" target="_blank" class="cursor-pointer "><svg-icon name="twitter" /></a>
|
|
<a href="https://www.instagram.com/log.z1997/" target="_blank" class="cursor-pointer ">
|
|
<svg-icon name="instagram" />
|
|
</a>
|
|
</div>
|
|
</nav>
|
|
<aside>
|
|
<a class="p-0 m-0 hover:text-primary" href="https://beian.miit.gov.cn/" target="_blank">
|
|
蜀ICP备2021028666号
|
|
</a>
|
|
<p>Copyright © {{ currentYear }} - All right reserved by <a class="link link-primary" href="https://github.com/LOG1997" target="_blank">log1997</a></p>
|
|
</aside>
|
|
</footer>
|
|
</template>
|
|
|
|
<style scoped></style>
|