826 lines
48 KiB
Markdown
826 lines
48 KiB
Markdown
# UI 设计方案
|
||||
|
|
|
|||
|
|
## 零、两种布局模式
|
|||
|
|
|
|||
|
|
系统有两种完全不同的布局,对应两种用户状态:
|
|||
|
|
|
|||
|
|
| | 未登录(Public Layout) | 已登录(App Layout) |
|
|||
|
|
|---|---|---|
|
|||
|
|
| 目标 | 展示价值 → 引导注册 | 个性化推送 → 深度使用 |
|
|||
|
|
| Header | 透明/半透明,导航链接 | 固定深色,面包屑 + 头像 |
|
|||
|
|
| 侧边栏 | **无** | 有(菜单导航) |
|
|||
|
|
| 内容 | 公开推荐、热榜、Marketing 页 | 个人 Feed、收藏、团队 |
|
|||
|
|
| Footer | 有(About/Pricing/联系方式) | 无(空间留给内容) |
|
|||
|
|
| 参考 | deerlit.com / arxivdaily.com | Notion / Linear 的 App 内体验 |
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
未登录用户看到的: 登录后看到的:
|
|||
|
|
|
|||
|
|
┌──────────────────────┐ ┌────┬─────────────────────┐
|
|||
|
|
│ Header (透明) │ │ │ Header (深色固定) │
|
|||
|
|
│ 首页 | 每日精选 | 搜索 │ │ 侧 │ │
|
|||
|
|
├──────────────────────┤ │ ├─────────────────────┤
|
|||
|
|
│ │ │ 边 │ │
|
|||
|
|
│ 🎯 Hero Section │ │ │ 个性化 Feed │
|
|||
|
|
│ "全球肿瘤学进展" │ │ 栏 │ 收藏 / 团队 / 设置 │
|
|||
|
|
│ │ │ │ │
|
|||
|
|
├──────────────────────┤ │ │ │
|
|||
|
|
│ 📰 今日精选文献 │ │ │ │
|
|||
|
|
│ 卡片瀑布流 │ └────┴─────────────────────┘
|
|||
|
|
│ │
|
|||
|
|
│ 🔥 本周热榜 │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────┤
|
|||
|
|
│ Footer │
|
|||
|
|
│ 定价 | 关于 | 联系 │
|
|||
|
|
└──────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 零-B:未登录公开页面设计(Public Layout)
|
|||
|
|
|
|||
|
|
### B.1 首页(Landing Page)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ Header: [🔬 肿瘤科文献中心] [每日精选] [搜索] [登录] [注册] │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ ┌─────────────────────────────────────┐ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ 全球肿瘤学进展,每日自动推送 │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ 覆盖 NEJM/Lancet/JAMA/JCO 等 │ │
|
|||
|
|
│ │ 100+ 肿瘤学期刊 · 每日精选 60+ 篇 │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ [ 免费注册 ] [ 浏览今日精选 ] │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ └─────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 📰 今日肿瘤学精选 (2025-07-04) │
|
|||
|
|
│ │
|
|||
|
|
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|||
|
|
│ │ 文献卡片 │ │ 文献卡片 │ │ 文献卡片 │ │ 文献卡片 │ │
|
|||
|
|
│ │ │ │ │ │ │ │ │ │
|
|||
|
|
│ │ NSCLC │ │ 乳腺癌 │ │ 结直肠癌 │ │ 免疫治疗 │ │
|
|||
|
|
│ │ NEJM │ │ Lancet │ │ JCO │ │ JAMA Onc │ │
|
|||
|
|
│ │ 3期 OS │ │ HER2+ │ │ MSI-H │ │ PD-L1 │ │
|
|||
|
|
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
|||
|
|
│ ... (2行 × 4列 = 8篇卡片) │
|
|||
|
|
│ │
|
|||
|
|
│ [ 查看全部今日文献 → ] │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 🔥 本周热榜 │
|
|||
|
|
│ │
|
|||
|
|
│ 1. Osimertinib联合化疗 FLAURA2 OS [NEJM] 🔥 2,341 阅读 │
|
|||
|
|
│ 2. CAR-T 实体瘤新突破 [Nature Medicine] 🔥 1,892 阅读 │
|
|||
|
|
│ 3. ctDNA MRD 指导结肠癌辅助化疗 [JCO] 🔥 1,567 阅读 │
|
|||
|
|
│ ... │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 🎯 按癌种浏览 │
|
|||
|
|
│ │
|
|||
|
|
│ [肺癌] [乳腺癌] [结直肠癌] [胃癌] [肝癌] [食管癌] │
|
|||
|
|
│ [胰腺癌] [前列腺癌] [妇科肿瘤] [头颈癌] [血液肿瘤] │
|
|||
|
|
│ [黑色素瘤] [脑肿瘤] [肉瘤] [儿童肿瘤] │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 💬 用户怎么说 │
|
|||
|
|
│ "每天早上查房前5分钟,看完全世界最重要的肿瘤学进展" │
|
|||
|
|
│ —— 王主任,北京协和医院肿瘤内科 │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 📊 数据一览 │
|
|||
|
|
│ 累计收录 638 万篇 | 覆盖 127 本肿瘤学期刊 | 日均更新 62 篇 │
|
|||
|
|
│ │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ Footer │
|
|||
|
|
│ © 2025 肿瘤科文献中心 | 关于我们 | 定价 | 帮助 | 联系 │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| 自定义 Hero Section | 价值主张 + CTA 按钮 |
|
|||
|
|
| `n-grid` (cols=4, x-gap=16) | 文献卡片瀑布流 |
|
|||
|
|
| `n-card` (hoverable) | 每篇推荐文献 |
|
|||
|
|
| `n-tag` | 癌种/期刊标签 |
|
|||
|
|
| `n-button` (type=primary, size=large) | 注册 CTA |
|
|||
|
|
| `n-button` (type=default, ghost) | "浏览今日精选"(不强制注册) |
|
|||
|
|
| `n-list` + `n-thing` | 热榜排行 |
|
|||
|
|
| `n-statistic` | 底部数据展示 |
|
|||
|
|
|
|||
|
|
### B.2 每日精选页(公开全文浏览)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ ← 首页 📰 今日肿瘤学精选 2025-07-04 [🔍 搜索...] │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 快捷过滤:[全部] [NSCLC] [乳腺癌] [免疫治疗] [3期] [NEJM] │
|
|||
|
|
│ │
|
|||
|
|
│ ┌───────────────────────────────────────────────────────┐ │
|
|||
|
|
│ │ 文献卡片 1 │ │
|
|||
|
|
│ │ Osimertinib联合化疗对比单药一线治疗EGFR突变NSCLC │ │
|
|||
|
|
│ │ Ramalingam SS | NEJM | 2025-07-03 │ │
|
|||
|
|
│ │ [NSCLC] [EGFR] [奥希替尼] [3期] [OS] │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ 🔬 奥希替尼联合化疗对比单药,中位OS延长6.3个月 │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ [📄 查看摘要] [🔗 PubMed] [⭐ 登录后收藏] │ │
|
|||
|
|
│ └───────────────────────────────────────────────────────┘ │
|
|||
|
|
│ ... │
|
|||
|
|
│ │
|
|||
|
|
│ [ 加载更多... ] │
|
|||
|
|
│ │
|
|||
|
|
│ ┌───────────────────────────────────────────────────────┐ │
|
|||
|
|
│ │ 🔒 注册后你可以: │ │
|
|||
|
|
│ │ ✅ 设置关注领域,精准推送 │ │
|
|||
|
|
│ │ ✅ 收藏文献 + 笔记 + 导出 │ │
|
|||
|
|
│ │ ✅ 每日 7:00 微信/邮件推送 │ │
|
|||
|
|
│ │ ✅ 科室团队共享 + Journal Club │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ [ 免费注册 (30秒) ] │ │
|
|||
|
|
│ └───────────────────────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**设计要点**:
|
|||
|
|
- 公开页可以浏览全部每日精选文献(无需登录)
|
|||
|
|
- 查看摘要点展开,不跳页
|
|||
|
|
- 收藏/导出/笔记等操作显示"登录后可用" → 自然转化
|
|||
|
|
- 每滚动一屏后插入一个轻量的 CTA 提醒条
|
|||
|
|
- **不给 PDF 全文链接**(仅登录用户可用),防止被爬
|
|||
|
|
|
|||
|
|
### B.3 文献详情(公开版)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
公开版文献详情:
|
|||
|
|
✅ 标题 + 作者 + 期刊 + 日期 + DOI/PMID
|
|||
|
|
✅ 中英文摘要全文
|
|||
|
|
✅ AI 一句话总结
|
|||
|
|
✅ 全部标签(点击可搜索同类文献)
|
|||
|
|
✅ PubMed 原始链接
|
|||
|
|
❌ PDF 全文(仅登录)
|
|||
|
|
❌ 收藏/笔记/导出(仅登录)
|
|||
|
|
❌ AI 详细解读(仅登录)
|
|||
|
|
❌ 分享到科室(仅登录)
|
|||
|
|
|
|||
|
|
底部固定条:
|
|||
|
|
┌─────────────────────────────────────────────┐
|
|||
|
|
│ 🔒 注册后查看PDF全文、收藏、导出、AI解读 │
|
|||
|
|
│ [ 免费注册 ] │
|
|||
|
|
└─────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### B.4 定价页
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 📊 定价方案 │
|
|||
|
|
│ │
|
|||
|
|
│ ┌──────────┬──────────┬──────────┬──────────┬──────────────┐ │
|
|||
|
|
│ │ Free │ Pro │ Team │ Business │ Enterprise │ │
|
|||
|
|
│ │ 免费 │ ¥35/月 │ ¥70/人/月│ ¥140/人/月│ 定制 │ │
|
|||
|
|
│ ├──────────┼──────────┼──────────┼──────────┼──────────────┤ │
|
|||
|
|
│ │ 500MB │ 10GB │ 无限 │ 无限 │ 无限 │ │
|
|||
|
|
│ │ 1000篇 │ 10000篇 │ 无限 │ 无限 │ 无限 │ │
|
|||
|
|
│ │ 基础导入 │ 高级导入 │ ✅ │ ✅ │ ✅ │ │
|
|||
|
|
│ │ 1人 │ 1人 │ 团队协作 │ RBAC │ 专属实例 │ │
|
|||
|
|
│ │ ❌ │ ❌ │ ❌ │ SSO │ 私有部署 │ │
|
|||
|
|
│ │ ❌ │ ❌ │ ❌ │ 审批流 │ SLA │ │
|
|||
|
|
│ ├──────────┼──────────┼──────────┼──────────┼──────────────┤ │
|
|||
|
|
│ │[开始使用]│[订阅] │[订阅] │[订阅] │[联系销售] │ │
|
|||
|
|
│ └──────────┴──────────┴──────────┴──────────┴──────────────┘ │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### B.5 关于页 + 帮助中心
|
|||
|
|
|
|||
|
|
- 产品介绍、团队背景
|
|||
|
|
- FAQ(怎么设置关注领域?和 Zotero 比有什么优势?)
|
|||
|
|
- 数据来源说明(PubMed FTP、MeSH)
|
|||
|
|
- 联系方式
|
|||
|
|
|
|||
|
|
### B.6 SEO 优化
|
|||
|
|
|
|||
|
|
**每个公开文献详情页都是独立的 SEO 入口**:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
/scilit/literature/39701234
|
|||
|
|
→ 标题: "Osimertinib联合化疗对比单药一线治疗EGFR突变NSCLC: FLAURA2 OS结果"
|
|||
|
|
→ meta description: AI 一句话总结
|
|||
|
|
→ 结构化数据: Schema.org/ScholarlyArticle
|
|||
|
|
→ Google Scholar / 百度学术 可索引
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```html
|
|||
|
|
<script type="application/ld+json">
|
|||
|
|
{
|
|||
|
|
"@context": "https://schema.org",
|
|||
|
|
"@type": "ScholarlyArticle",
|
|||
|
|
"headline": "Osimertinib with or without Chemotherapy...",
|
|||
|
|
"author": [{ "name": "Ramalingam SS" }],
|
|||
|
|
"datePublished": "2025-07-03",
|
|||
|
|
"publisher": "New England Journal of Medicine"
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 用户转化漏斗
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
访问首页
|
|||
|
|
│
|
|||
|
|
├─→ 浏览今日精选 (无需登录)
|
|||
|
|
│ │
|
|||
|
|
│ ├─→ 点进文献详情 → 看摘要/AI总结
|
|||
|
|
│ │ │
|
|||
|
|
│ │ ├─→ 点"收藏" → 🔒 提示注册
|
|||
|
|
│ │ ├─→ 点"导出" → 🔒 提示注册
|
|||
|
|
│ │ └─→ 点"AI解读" → 🔒 提示注册
|
|||
|
|
│ │
|
|||
|
|
│ └─→ 自然流失
|
|||
|
|
│
|
|||
|
|
└─→ 点"免费注册"
|
|||
|
|
│
|
|||
|
|
└─→ 注册 → 设置关注领域 → 第二天收到推送 → 留存
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**关键转化点**:
|
|||
|
|
1. 首页 → 浏览精选:零摩擦,不用注册
|
|||
|
|
2. 想收藏/导出 → 弹注册提示("30秒注册,永久保存你的文献")
|
|||
|
|
3. 注册后引导 → 设置关注领域 → 立即展示"按你的偏好,明天早上会推送约 8 篇必读"
|
|||
|
|
4. 第二天邮件/微信推送 → 召回
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 一、整体布局框架(已登录 App Layout)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────┐
|
|||
|
|
│ Header (固定顶部) h=48px │
|
|||
|
|
│ [🔬 肿瘤科文献中心] [🔔] [👤 王主任] │
|
|||
|
|
├──────────┬───────────────────────────────────────────────┤
|
|||
|
|
│ Sidebar │ 主内容区 │
|
|||
|
|
│ w=200px │ │
|
|||
|
|
│ 📅 今日 │ ┌──────────────────────────────────────────┐ │
|
|||
|
|
│ 速览 │ │ 🔥 必读 (8篇) │ │
|
|||
|
|
│ │ │ ┌──────────────────────────────────────┐ │ │
|
|||
|
|
│ 🔍 搜索 │ │ │ Osimertinib联合化疗OS结果 │ │ │
|
|||
|
|
│ │ │ │ [NEJM] [NSCLC] [EGFR] [3期] │ │ │
|
|||
|
|
│ 📁 收藏 │ │ └──────────────────────────────────────┘ │ │
|
|||
|
|
│ │ │ ... │ │
|
|||
|
|
│ 👥 团队 │ └──────────────────────────────────────────┘ │
|
|||
|
|
│ │ │
|
|||
|
|
│ ⚙️ 设置 │ │
|
|||
|
|
└──────────┴───────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Naive UI 组件选型
|
|||
|
|
|
|||
|
|
| 区域 | 组件 | 说明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| 整体布局 | `n-layout` + `n-layout-sider` + `n-layout-content` | 经典左右分栏 |
|
|||
|
|
| 顶栏 | 自定义 Header,`n-breadcrumb` + `n-avatar` + `n-badge` | 固定吸顶 |
|
|||
|
|
| 侧边栏 | `n-menu` (vertical, collapsed on mobile) | `icon` + `label`,支持折叠 |
|
|||
|
|
| 主内容 | `n-card` + `n-space` 组合 | 内容容器 |
|
|||
|
|
|
|||
|
|
### 关键设计决策
|
|||
|
|
|
|||
|
|
**暗色/亮色切换**:Naive UI 内置 `n-config-provider` + `darkTheme`,一行代码切换。
|
|||
|
|
|
|||
|
|
**移动端适配**:MVP 先不做移动端。`n-layout-sider` 在小屏自动隐藏 + 汉堡菜单。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 二、核心页面设计
|
|||
|
|
|
|||
|
|
### 2.1 登录/注册页(简洁型)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌─────────────────────────────────────────────────┐
|
|||
|
|
│ │
|
|||
|
|
│ 🔬 肿瘤科文献中心 │
|
|||
|
|
│ 全球肿瘤学进展,每日自动推送 │
|
|||
|
|
│ │
|
|||
|
|
│ ┌─────────────────────────────┐ │
|
|||
|
|
│ │ 邮箱 [_______________] │ │
|
|||
|
|
│ │ 密码 [_______________] │ │
|
|||
|
|
│ │ 记住我 [✓] │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ [ 登 录 ] │ │
|
|||
|
|
│ │ 没有账号?马上注册 │ │
|
|||
|
|
│ └─────────────────────────────┘ │
|
|||
|
|
└─────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-card` + `n-form` + `n-form-item` | 登录表单 |
|
|||
|
|
| `n-input` (type=email/password) | 输入框 |
|
|||
|
|
| `n-button` (type=primary, size=large, block) | 登录按钮 |
|
|||
|
|
| `n-checkbox` | "记住我" |
|
|||
|
|
|
|||
|
|
**设计要点**:注册后直接进入领域设置引导页,不跳转多余页面。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.2 文献速览 — 核心产品页面 ⭐
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 📅 文献速览 2025年7月4日 🔴8 🟡22 ⚪32 [🔍 搜索] │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ ┌─ 🔥 必读 (8篇) ────────────────────────────────────┐ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ ┌───────────────────────────────────────────────┐ │ │
|
|||
|
|
│ │ │ ⭐ Osimertinib + Chemotherapy Final OS │ │ │
|
|||
|
|
│ │ │ Ramalingam SS, et al. | NEJM | 2025-07-03 │ │ │
|
|||
|
|
│ │ │ [NSCLC] [EGFR] [3期] [OS获益] │ │ │
|
|||
|
|
│ │ │ 奥希替尼联合化疗对比单药一线治疗EGFR突变NSCLC │ │ │
|
|||
|
|
│ │ │ 中位OS延长6.3个月 │ │ │
|
|||
|
|
│ │ │ [⭐收藏] [✕不感兴趣]│ │ │
|
|||
|
|
│ │ └───────────────────────────────────────────────┘ │ │
|
|||
|
|
│ │ ... (共8篇) │ │
|
|||
|
|
│ └─────────────────────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ ┌─ 🟡 推荐 (22篇) ──────────────────────────────────┐ │
|
|||
|
|
│ │ (默认折叠) │ │
|
|||
|
|
│ └─────────────────────────────────────────────────────┘ │
|
|||
|
|
│ ┌─ ⚪ 相关 (32篇) ──────────────────────────────────┐ │
|
|||
|
|
│ │ (默认折叠) │ │
|
|||
|
|
│ └─────────────────────────────────────────────────────┘ │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-collapse` | 三级折叠:必读(展开) / 推荐(折叠) / 相关(折叠) |
|
|||
|
|
| `n-card` (size=small, hoverable) | 每篇文献卡片 |
|
|||
|
|
| `n-tag` 多色 | 标签:癌种(蓝) / 靶点(绿) / 研究类型(橙) / 期刊(红) |
|
|||
|
|
| `n-skeleton` | 加载骨架屏 |
|
|||
|
|
| `n-empty` | 新用户未设置领域时的引导空白页 |
|
|||
|
|
| `n-pagination` 或 IntersectionObserver | Feed 翻页/无限滚动 |
|
|||
|
|
| `n-back-top` | 回到顶部 |
|
|||
|
|
|
|||
|
|
**设计要点**:
|
|||
|
|
- 每条文献 5 行信息:标题 + 作者/期刊/日期 + 标签行 + AI 一句话 + 操作按钮
|
|||
|
|
- hover 浮起,click 进入详情(`n-drawer` 侧出,不跳页)
|
|||
|
|
- 空状态:新用户 → "去设置关注领域 →" 引导卡片
|
|||
|
|
- 右上角统计徽章 "🔴8 🟡22 ⚪32"
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.3 文献详情(侧出抽屉更合适)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────┐
|
|||
|
|
│ ✕ │
|
|||
|
|
│ │
|
|||
|
|
│ Osimertinib with or without │
|
|||
|
|
│ Chemotherapy in EGFR-Mutated │
|
|||
|
|
│ Advanced NSCLC: FLAURA2 OS Results │
|
|||
|
|
│ │
|
|||
|
|
│ Ramalingam SS, et al. │
|
|||
|
|
│ NEJM, 2025 Jul 3;393(1):12-25 │
|
|||
|
|
│ PMID: 39701234 DOI: 10.1056/... │
|
|||
|
|
│ │
|
|||
|
|
│ [NSCLC] [EGFR] [奥希替尼] [3期] │
|
|||
|
|
│ │
|
|||
|
|
│ ┌─ 🔬 AI 一句话总结 ────────────┐ │
|
|||
|
|
│ │ 奥希替尼联合化疗对比单药一线 │ │
|
|||
|
|
│ │ 治疗EGFR突变NSCLC,中位OS延长 │ │
|
|||
|
|
│ │ 6.3个月(HR 0.73),AE可控 │ │
|
|||
|
|
│ └───────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ ┌ 摘要 │ 我的笔记 │ AI 解读 ┐ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ │ Background: EGFR-TKI is... │ │
|
|||
|
|
│ │ Methods: ... │ │
|
|||
|
|
│ │ Results: ... │ │
|
|||
|
|
│ │ Conclusion: ... │ │
|
|||
|
|
│ │ │ │
|
|||
|
|
│ └─────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ [📥导出] [⭐收藏] [📤分享] [🔗复制] │
|
|||
|
|
└──────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-drawer` (width=680px) | 原地不跳页的侧出详情 |
|
|||
|
|
| `n-tabs` | 摘要 / 笔记 / AI 解读 |
|
|||
|
|
| `n-tag` (round, clickable) | 标签行,点击跳搜索 |
|
|||
|
|
| `n-alert` (type=info) | AI 一句话总结高亮卡片 |
|
|||
|
|
| `n-button-group` + `n-dropdown` | 导出下拉 |
|
|||
|
|
| `n-popconfirm` | 删除操作确认 |
|
|||
|
|
|
|||
|
|
**选择 `n-drawer` 而不是路由跳转的原因**:用户看文献是扫描式浏览——打开→看两眼→关闭→下一个。抽屉不打断 Feed 流。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.4 关注领域设置(转化关键页)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ ⚙️ 设置关注领域 │
|
|||
|
|
│ │
|
|||
|
|
│ 设置你关注的研究方向,每天早上 7:00 自动推送最新文献 │
|
|||
|
|
│ │
|
|||
|
|
│ ┌────────┬─────────────────────────────────────────────────┐ │
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ │ 癌种 │ ☑ 肺癌 │ │
|
|||
|
|
│ │ │ ☑ 非小细胞肺癌 │ │
|
|||
|
|
│ │ 靶点 │ ☑ 肺腺癌 │ │
|
|||
|
|
│ │ │ ☐ 肺鳞癌 │ │
|
|||
|
|
│ │ 治疗 │ ☐ 小细胞肺癌 │ │
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ │ 文献类型│ ☐ 乳腺癌 │ │
|
|||
|
|
│ │ │ ☐ 结直肠癌 │ │
|
|||
|
|
│ │ 期刊 │ ☑ 胃癌 │ │
|
|||
|
|
│ │ │ ☐ 肝癌 [展开全部] │ │
|
|||
|
|
│ │ │ │ │
|
|||
|
|
│ └────────┴─────────────────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ ┌─────────────────────────────────────┐ │
|
|||
|
|
│ │ 📊 实时预览 │ │
|
|||
|
|
│ │ 按当前设置,近7天可匹配 187 篇文献 │ │
|
|||
|
|
│ │ 日均 27 篇 | 其中必读约 5-8 篇 │ │
|
|||
|
|
│ │ [ 保存设置 ] │ │
|
|||
|
|
│ └─────────────────────────────────────┘ │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-anchor` (左侧粘性导航) | 锚点跳转:癌种/靶点/治疗/文献类型/期刊 |
|
|||
|
|
| `n-tree` (checkable, cascade) | 层级标签多选树 |
|
|||
|
|
| `n-card` + `n-statistic` | 右侧实时预览面板 |
|
|||
|
|
| `n-button` (type=primary) | 保存 |
|
|||
|
|
|
|||
|
|
**设计要点**:
|
|||
|
|
- 这是新用户注册后的第一步(引导流程),也是老用户最常用的设置页
|
|||
|
|
- 左侧树形标签选择,右侧实时预览匹配数 → 用户边选边看到效果
|
|||
|
|
- 必填项用 `n-badge` 标注
|
|||
|
|
- 首次使用显示引导提示(`n-popover`)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.5 高级搜索页
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 🔍 [_______________________________] [搜索] │
|
|||
|
|
│ [中文→MeSH自动翻译 ▼] │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ 左侧筛选面板 (w=240px) │ 右侧结果列表 │
|
|||
|
|
│ │ │
|
|||
|
|
│ ┌─ 🎯 癌种 ──────────┐ │ 共 1,247 条结果 │
|
|||
|
|
│ │ ☑ 肺癌 │ │ │
|
|||
|
|
│ │ ☑ NSCLC │ │ ┌──────────────┐ │
|
|||
|
|
│ │ ☐ SCLC │ │ │ 文献卡片... │ │
|
|||
|
|
│ └─────────────────────┘ │ └──────────────┘ │
|
|||
|
|
│ ┌─ 🧬 靶点 ──────────┐ │ ┌──────────────┐ │
|
|||
|
|
│ │ ☑ EGFR │ │ │ 文献卡片... │ │
|
|||
|
|
│ │ ☐ ALK │ │ └──────────────┘ │
|
|||
|
|
│ └─────────────────────┘ │ ... │
|
|||
|
|
│ ┌─ 📅 年份 ──────────┐ │ │
|
|||
|
|
│ │ 2020 ─────●── 2025 │ │ < 1 2 3 ... 25 > │
|
|||
|
|
│ └─────────────────────┘ │ │
|
|||
|
|
│ ┌─ 📰 期刊等级 ──────┐ │ │
|
|||
|
|
│ │ ☑ 🔴 四大 │ │ │
|
|||
|
|
│ │ ☑ 🟠 肿瘤顶刊 │ │ │
|
|||
|
|
│ │ ☐ 🟡 专科 │ │ │
|
|||
|
|
│ └─────────────────────┘ │ │
|
|||
|
|
│ │ │
|
|||
|
|
│ [ 重置筛选 ] │ │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-input` + `n-auto-complete` | 搜索输入 + 关键词建议 |
|
|||
|
|
| `n-input-number` + `n-slider` (双端) | 年份范围 |
|
|||
|
|
| `n-checkbox-group` | 多选过滤器 |
|
|||
|
|
| `n-tree` (checkable) | 癌种标签过滤树 |
|
|||
|
|
| `n-pagination` | 分页 |
|
|||
|
|
| `n-empty` | 空结果 |
|
|||
|
|
| `n-skeleton` | 搜索加载 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.6 科室团队管理页(企业版)
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 👥 科室团队 [+ 邀请成员] │
|
|||
|
|
├──────────────────────────────────────────────────────────────┤
|
|||
|
|
│ │
|
|||
|
|
│ 科室成员 (12人) │
|
|||
|
|
│ ┌────┬──────────┬──────────┬────────┬──────────────────────┐ │
|
|||
|
|
│ │ │ 姓名 │ 角色 │ 亚专业 │ 本周阅读 │ │
|
|||
|
|
│ ├────┼──────────┼──────────┼────────┼──────────────────────┤ │
|
|||
|
|
│ │ 👨 │ 王志强 │ Owner │ 肺癌 │ ████████ 42篇 │ │
|
|||
|
|
│ │ 👩 │ 李主任 │ Admin │ 乳腺癌 │ ██████ 31篇 │ │
|
|||
|
|
│ │ 👨 │ 张医生 │ Editor │ 肺癌 │ ████ 22篇 │ │
|
|||
|
|
│ │ 👩 │ 刘住院 │ Viewer │ 胃癌 │ ███ 15篇 │ │
|
|||
|
|
│ └────┴──────────┴──────────┴────────┴──────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ 📁 科室共享文件夹 │
|
|||
|
|
│ ┌──────────────────────────────────────────────────────────┐ │
|
|||
|
|
│ │ 📁 MDT讨论文献 (6篇) 📁 科室晨会文献 (3篇) │ │
|
|||
|
|
│ │ 📁 2025-07 JC 准备 (2篇) [+ 新建文件夹] │ │
|
|||
|
|
│ └──────────────────────────────────────────────────────────┘ │
|
|||
|
|
│ │
|
|||
|
|
│ 📋 成员动态 │
|
|||
|
|
│ 2025-07-04 10:30 张医生 保存了 文献标题... │
|
|||
|
|
│ 2025-07-04 09:15 李主任 分享了 文献标题... 到 MDT讨论文献 │
|
|||
|
|
│ 2025-07-03 16:00 王志强 创建了共享文件夹 JC准备 │
|
|||
|
|
└──────────────────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-data-table` + `n-avatar` | 成员表格 |
|
|||
|
|
| `n-select` (内嵌表格) | 行内角色切换下拉 |
|
|||
|
|
| `n-card` + `n-grid` | 共享文件夹卡片网格 |
|
|||
|
|
| `n-timeline` | 成员活动时间线 |
|
|||
|
|
| `n-modal` | 邀请成员弹窗(填邮箱 + 选角色) |
|
|||
|
|
| `n-popconfirm` | 移除成员确认 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### 2.7 个人收藏页
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌──────────────────────────────────────────────────────────────┐
|
|||
|
|
│ 📁 我的收藏 [+ 新建文件夹] [≡ 最近] [★ 星标] │
|
|||
|
|
├──────────┬───────────────────────────────────────────────────┤
|
|||
|
|
│ │ │
|
|||
|
|
│ 📁 全部 │ ┌──────────────────────────────────────────┐ │
|
|||
|
|
│ (42) │ │ 文献卡片 1 │ │
|
|||
|
|
│ │ │ ... │ │
|
|||
|
|
│ 📁 EGFR │ │ │ │
|
|||
|
|
│ 耐药 │ │ 文献卡片 N │ │
|
|||
|
|
│ (8) │ │ │ │
|
|||
|
|
│ │ └──────────────────────────────────────────┘ │
|
|||
|
|
│ 📁 准备 │ │
|
|||
|
|
│ 汇报 │ 3 篇已选中 [移动到文件夹 ▼] [导出 ▼] [删除] │
|
|||
|
|
│ (5) │ │
|
|||
|
|
│ │ │
|
|||
|
|
│ 📁 MDT │ │
|
|||
|
|
│ 讨论 │ │
|
|||
|
|
│ (6) │ │
|
|||
|
|
└──────────┴───────────────────────────────────────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 组件 | 用途 |
|
|||
|
|
|------|------|
|
|||
|
|
| `n-tree` (左侧) | 文件夹树,支持拖拽文献进去 |
|
|||
|
|
| `n-checkbox` + `n-card` | 每篇文献可选、批量操作 |
|
|||
|
|
| `n-dropdown` | "移动到文件夹"下拉 |
|
|||
|
|
| `n-modal` | 新建文件夹 |
|
|||
|
|
| `n-batch` 操作栏(fixed bottom) | 选中 N 篇后的批量工具栏 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 三、关键页面清单与优先级
|
|||
|
|
|
|||
|
|
| 页面 | 路由 | 优先级 | 预计组件数 |
|
|||
|
|
|------|------|:---:|:---:|
|
|||
|
|
| 登录/注册 | `/auth/login`, `/auth/register` | P0 | 1 个页面 |
|
|||
|
|
| 每日速览 | `/feed` | P0 ⭐ | 1 个页面(最复杂) |
|
|||
|
|
| 文献详情 | `/literature/:id` 或 drawer | P0 | Drawer 组件 |
|
|||
|
|
| 领域设置 | `/settings/interests` | P0 | 1 个页面 |
|
|||
|
|
| 高级搜索 | `/search` | P1 | 1 个页面 |
|
|||
|
|
| 个人收藏 | `/library` | P1 | 1 个页面 |
|
|||
|
|
| 期刊浏览 | `/journals` | P1 | 1 个页面 |
|
|||
|
|
| 个人中心 | `/settings/profile` | P1 | 1 个页面 |
|
|||
|
|
| **科室团队** | `/team` | P2 | 1 个页面 |
|
|||
|
|
| Journal Club | `/team/journal-club` | P3 | 1 个页面 |
|
|||
|
|
| MDT 协作 | `/team/mdt` | P3 | 1 个页面 |
|
|||
|
|
| 新药日历 | `/drug-approvals` | P3 | 1 个页面 |
|
|||
|
|
| 指南更新 | `/guidelines` | P3 | 1 个页面 |
|
|||
|
|
| 平台管理后台 | `/admin/*` | P2 | 5-8 个页面 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 三-A、移动端自适应策略
|
|||
|
|
|
|||
|
|
### 决策:一套响应式代码,不做独立移动端 App
|
|||
|
|
|
|||
|
|
**理由**:移动端 90% 的行为是"扫一眼 Feed → 点开详情 → 收藏/跳过",不需要原生能力。复杂操作(标签树配置、团队管理、批量导出)用户自然在桌面端完成。和 arxivdaily / deerlit 一样,一套 Web 自适应。
|
|||
|
|
|
|||
|
|
### 两端的布局差异
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
PC 端 (≥768px) 移动端 (<768px)
|
|||
|
|
|
|||
|
|
┌───┬──────────────┐ ┌──────────────────┐
|
|||
|
|
│ │ │ │ 🔬 肿瘤科 汉堡 ≡ │
|
|||
|
|
│侧 │ Feed 列表 │ ├──────────────────┤
|
|||
|
|
│边 │ │ │ │
|
|||
|
|
│栏 │ │ │ 🔥 必读 (8篇) │
|
|||
|
|
│ │ │ │ ┌──────────┐ │
|
|||
|
|
│ │ │ │ │ 文献卡片 │ │
|
|||
|
|
│ │ │ │ │ (全宽) │ │
|
|||
|
|
│ │ │ │ └──────────┘ │
|
|||
|
|
│ │ │ │ ... │
|
|||
|
|
└───┴──────────────┘ ├──────────────────┤
|
|||
|
|
│ 🏠 🔍 📁 👤 │
|
|||
|
|
│ 速览 搜索 收藏 我│
|
|||
|
|
└──────────────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 核心组件响应式行为
|
|||
|
|
|
|||
|
|
| 组件 | PC 端 | 移动端 (<768px) |
|
|||
|
|
|------|-------|----------|
|
|||
|
|
| **整体布局** | Sidebar + Content 双栏 | 顶部 Header + 内容 + **底部 TabBar** |
|
|||
|
|
| **导航** | `n-layout-sider`,可折叠 | Sidebar 隐藏,底部四Tab 切换 |
|
|||
|
|
| **文献卡片** | `n-grid` 双列或单列 | **全宽单列**,信息更紧凑 |
|
|||
|
|
| **文献详情** | `n-drawer` (width=680px) | `n-drawer` 全屏 或 `router.push` 跳页 |
|
|||
|
|
| **标签筛选** | `n-tree` 多选树 | `n-select` 下拉 + 横向滑动 `n-tag` |
|
|||
|
|
| **领域设置** | 左侧标签树 + 右侧预览 | 全宽堆叠,树改为 `n-collapse` 逐级展开 |
|
|||
|
|
| **搜索结果** | 左筛选面板 + 右列表 | 筛选放在顶部 `n-popover`,下方结果 |
|
|||
|
|
| **团队表格** | `n-data-table` 完整表格 | **卡片列表** 替代表格(头像+名称+角色线) |
|
|||
|
|
| **定价页** | 四列 `n-grid` | **单列堆叠**,上下滚动比较 |
|
|||
|
|
| **首页 Hero** | 大标题 + 背景图 | 紧凑标题 + 卡片直接露在第一屏 |
|
|||
|
|
|
|||
|
|
### 实现方式
|
|||
|
|
|
|||
|
|
```typescript
|
|||
|
|
// composables/useIsMobile.ts
|
|||
|
|
import { useBreakpoint } from 'vooks'
|
|||
|
|
|
|||
|
|
export function useIsMobile() {
|
|||
|
|
const breakpoint = useBreakpoint()
|
|||
|
|
return computed(() => breakpoint.value === 'xs') // <768px
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
```vue
|
|||
|
|
<!-- 响应式网格 -->
|
|||
|
|
<n-grid :cols="4" :x-gap="16" :responsive="{
|
|||
|
|
'0': { cols: 1 }, // 手机
|
|||
|
|
'768': { cols: 2 }, // 平板
|
|||
|
|
'1200': { cols: 4 } // PC
|
|||
|
|
}">
|
|||
|
|
<n-grid-item v-for="item in literature" :key="item.id">
|
|||
|
|
<LiteratureCard :item="item" />
|
|||
|
|
</n-grid-item>
|
|||
|
|
</n-grid>
|
|||
|
|
|
|||
|
|
<!-- 侧边栏:移动端隐藏 -->
|
|||
|
|
<n-layout-sider
|
|||
|
|
v-if="!isMobile"
|
|||
|
|
collapse-mode="transform"
|
|||
|
|
:width="200"
|
|||
|
|
:collapsed-width="64"
|
|||
|
|
:native-scrollbar="false"
|
|||
|
|
>
|
|||
|
|
<SideMenu />
|
|||
|
|
</n-layout-sider>
|
|||
|
|
|
|||
|
|
<!-- 底部 TabBar:仅移动端 -->
|
|||
|
|
<MobileTabBar v-if="isMobile" />
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 移动端特有的 UI 微调
|
|||
|
|
|
|||
|
|
| 微调 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| **点击区域** | 所有可点击元素最小 44×44px(iOS HIG) |
|
|||
|
|
| **卡片间距** | 移动端卡片间 margin 缩小到 8px(PC 端 16px) |
|
|||
|
|
| **标签行** | 移动端超出 2 行时折叠为 "... +3" 展开 |
|
|||
|
|
| **滑动操作** | 卡片支持左滑:收藏 / 不感兴趣(仿邮件 App) |
|
|||
|
|
| **下拉刷新** | Feed 列表顶部下拉刷新当日数据 |
|
|||
|
|
| **无限滚动** | 用 IntersectionObserver 代替 `n-pagination`,更自然的移动端浏览 |
|
|||
|
|
| **搜索框** | 移动端粘在顶部、输入时全宽展开 |
|
|||
|
|
|
|||
|
|
### 不做的
|
|||
|
|
|
|||
|
|
| 方案 | 决定 | 原因 |
|
|||
|
|
|------|:---:|------|
|
|||
|
|
| iOS/Android 原生 App | ❌ | 场景不需要原生能力,Web 足够,成本 10x |
|
|||
|
|
| PWA | ⏸️ P2 | 加 manifest.json + SW 就能装到桌面,但不急 |
|
|||
|
|
| 微信小程序 | ⏸️ P3 | 不能跳 PubMed 外链,不适合文献阅读。但可作为引流渠道 |
|
|||
|
|
| 微信服务号推送 | ✅ P1 | 每日文献推送的微信版。不是移动端应用,是消息渠道 |
|
|||
|
|
| 独立移动端 UI 库 | ❌ | Naive UI 一套即可,不要维护两套组件库 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 四、Naive UI 主题定制
|
|||
|
|
|
|||
|
|
```typescript
|
|||
|
|
// src/theme.ts
|
|||
|
|
import { GlobalThemeOverrides } from 'naive-ui'
|
|||
|
|
|
|||
|
|
export const themeOverrides: GlobalThemeOverrides = {
|
|||
|
|
common: {
|
|||
|
|
primaryColor: '#1a5276', // 肿瘤科深蓝
|
|||
|
|
primaryColorHover: '#2471a3',
|
|||
|
|
primaryColorPressed: '#154360',
|
|||
|
|
primaryColorSuppl: '#2e86c1',
|
|||
|
|
borderRadius: '6px',
|
|||
|
|
},
|
|||
|
|
Card: {
|
|||
|
|
borderRadius: '8px',
|
|||
|
|
paddingMedium: '16px',
|
|||
|
|
},
|
|||
|
|
Tag: {
|
|||
|
|
borderRadius: '4px',
|
|||
|
|
},
|
|||
|
|
Layout: {
|
|||
|
|
siderColor: '#fafbfc',
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 暗色模式直接换 Naive UI 内置 darkTheme,不改色值
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 五、前端项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
frontend/src/
|
|||
|
|
├── App.vue
|
|||
|
|
├── main.ts
|
|||
|
|
├── theme.ts # Naive UI 主题覆盖
|
|||
|
|
├── router/
|
|||
|
|
│ └── index.ts # Vue Router + 路由守卫
|
|||
|
|
├── stores/ # Pinia
|
|||
|
|
│ ├── auth.ts # 认证状态
|
|||
|
|
│ ├── feed.ts # Feed 列表 + 筛选条件
|
|||
|
|
│ ├── literature.ts # 当前文献 + 搜索
|
|||
|
|
│ └── ui.ts # 侧边栏/主题/多标签
|
|||
|
|
├── api/ # Axios 封装
|
|||
|
|
│ ├── client.ts # Axios 实例 + JWT 刷新拦截器
|
|||
|
|
│ ├── auth.ts
|
|||
|
|
│ ├── literature.ts
|
|||
|
|
│ ├── notes.ts
|
|||
|
|
│ ├── team.ts
|
|||
|
|
│ └── subscriptions.ts
|
|||
|
|
├── views/ # 页面(对应路由)
|
|||
|
|
│ ├── auth/
|
|||
|
|
│ │ └── LoginView.vue
|
|||
|
|
│ ├── feed/
|
|||
|
|
│ │ └── FeedView.vue # ⭐ 核心页面
|
|||
|
|
│ ├── search/
|
|||
|
|
│ │ └── SearchView.vue
|
|||
|
|
│ ├── library/
|
|||
|
|
│ │ └── LibraryView.vue
|
|||
|
|
│ ├── team/
|
|||
|
|
│ │ └── TeamView.vue
|
|||
|
|
│ └── admin/
|
|||
|
|
│ ├── TenantView.vue
|
|||
|
|
│ └── DashboardView.vue
|
|||
|
|
├── components/ # 可复用组件
|
|||
|
|
│ ├── literature/
|
|||
|
|
│ │ ├── LiteratureCard.vue # 文献卡片(Feed/Search/Library 共用)
|
|||
|
|
│ │ ├── LiteratureDetail.vue # 文献详情 Drawer
|
|||
|
|
│ │ ├── TagBadge.vue # 单标签 Badge
|
|||
|
|
│ │ └── LiteratureExport.vue # 导出按钮+下拉
|
|||
|
|
│ ├── feed/
|
|||
|
|
│ │ └── FeedSection.vue # 一个折叠区(必读/推荐/相关)
|
|||
|
|
│ ├── search/
|
|||
|
|
│ │ └── FilterPanel.vue # 左侧筛选面板
|
|||
|
|
│ ├── team/
|
|||
|
|
│ │ ├── MemberTable.vue
|
|||
|
|
│ │ └── SharedFolderCard.vue
|
|||
|
|
│ └── common/
|
|||
|
|
│ ├── AiSummary.vue # AI 总结组件(复用)
|
|||
|
|
│ └── EmptyState.vue # 空状态引导组件
|
|||
|
|
└── composables/ # 组合式函数
|
|||
|
|
├── useFeed.ts # Feed 数据获取+无限滚动
|
|||
|
|
├── useSearch.ts # 搜索+筛选逻辑
|
|||
|
|
└── usePermission.ts # 前端权限检查
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 六、前端开发阶段
|
|||
|
|
|
|||
|
|
| 阶段 | 内容 | 产出 |
|
|||
|
|
|:---:|------|------|
|
|||
|
|
| P1 (2天) | Vue项目初始化、Naive UI 配置、主题、路由、Auth Store、登录/注册页、布局框架 | 前后端联通,能登录,有侧边栏+顶栏的空壳 |
|
|||
|
|
| P1 (1天) | FeedView 页面 + LiteratureCard + FeedSection + LiteratureDetail Drawer | 核心页可交互 |
|
|||
|
|
| P1 (1天) | 领域设置页(标签树多选)+ 搜索页基础版 + 收藏页 | 三大核心流程跑通 |
|
|||
|
|
| P2 (2天) | 高级搜索+筛选面板 + 引用导出 + 期刊浏览 + 个人中心 | 丰富功能 |
|
|||
|
|
| P2 (2天) | 团队空间(成员表/共享文件夹/邀请/动态) | 企业版前端完成 |
|
|||
|
|
| P3 (2天) | AI 组件 + 新药日历 + JC + MDT | 增强功能 |
|
|||
|
|
| P3 (1天) | 管理后台(租户/用户/订阅/管道看板) | 平台端完成 |
|