feat(web): 前端逻辑骨架——http/router/stores/queries 与薄壳路由

This commit is contained in:
2026-10-07 14:36:06 +08:00
parent 9ecf817df2
commit fbb989c3fb
39 changed files with 1431 additions and 175 deletions
+39
View File
@@ -0,0 +1,39 @@
<script setup lang="ts">
import { computed } from "vue";
import { useMemberTokenStore } from "@/stores/member-token.ts";
import { useMemberMe } from "@/queries/member.ts";
const tokenStore = useMemberTokenStore();
const meQuery = useMemberMe();
const memberName = computed(() => tokenStore.memberName || meQuery.data.value?.name || "");
</script>
<template>
<div class="member-layout">
<header class="member-layout__header">
<strong>成员入口</strong>
<span>{{ memberName }}</span>
</header>
<main class="member-layout__main">
<router-view />
</main>
</div>
</template>
<style scoped>
.member-layout {
min-height: 100vh;
display: flex;
flex-direction: column;
}
.member-layout__header {
display: flex;
justify-content: space-between;
padding: 12px 16px;
border-bottom: 1px solid #eee;
}
.member-layout__main {
padding: 16px;
}
</style>