Backend: - review_service: presubmit / recommend / journals / journals/directory / format-check / conferences endpoints - journals.json 5 精选种子 + journal_directory 1056 条全量(v4 数据) - v4 数据集:2025 JIF(2026 JCR 发布)+ 2025 中科院分区 + 1053 条官网 URL - format_check 行距 bug 修复(基线 y + 物理过滤 + docx EMU) BFF: - review_proxy 反代(修复 httpx build_request await bug) - REVIEW_ENABLED 开关(默认关闭,零痕部署) Frontend: - 教育科研工作台(7 面板 + 菜单 + 状态管理) - TopBar 教育科研入口(v-show 覆盖层语义,RAG 会话不丢) - 期刊情报:Tab 切换 / 搜索 / 筛选 / 分页 / 官网列 / 展开凭证 - 智能推荐 / AI预审稿 / 专业报告 / 投稿台账 / 排版规范 / 会议日历
26 lines
903 B
Vue
26 lines
903 B
Vue
<!-- App.vue —— B1 归属。挂载三栏 AppShell + 教育科研覆盖层(步骤5;v-show 切换不卸载)。 -->
|
||
<script setup>
|
||
import { onMounted, onUnmounted } from 'vue';
|
||
import AppShell from './components/layout/AppShell.vue';
|
||
import EduWorkspace from './components/edu/EduWorkspace.vue';
|
||
import { useHealthStore } from './stores/health.js';
|
||
import { useAppStore } from './stores/app.js';
|
||
|
||
// FR-SHELL-007 首屏初始化:并行请求健康与 QA 元信息(失败不阻塞渲染)
|
||
const health = useHealthStore();
|
||
const appStore = useAppStore();
|
||
onMounted(() => {
|
||
health.start();
|
||
health.fetchQaInfo();
|
||
});
|
||
onUnmounted(() => {
|
||
health.stop();
|
||
});
|
||
</script>
|
||
|
||
<template>
|
||
<!-- 覆盖层语义(D1):两者始终挂载,仅 display 切换——RAG 会话/上传/滚动零丢失 -->
|
||
<AppShell v-show="appStore.isChat" />
|
||
<EduWorkspace v-show="appStore.isEdu" />
|
||
</template>
|