feat: initial commit - oncology literature search platform
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s

OncoLit: a multi-tenant oncology literature search, feed, and
collaboration platform. Built with FastAPI + Vue 3 + PostgreSQL.
Includes PubMed pipeline, drug approvals, AI summaries, and
systematic review tools.
This commit is contained in:
34047007@qq.com
2026-07-27 07:59:18 +08:00
commit a6cd99a4ca
473 changed files with 151472 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 849 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

+17
View File
@@ -0,0 +1,17 @@
{
"name": "SciLit Oncology - 肿瘤科文献中心",
"short_name": "SciLit Oncology",
"description": "全球肿瘤学进展,每日自动推送。覆盖 NEJM/Lancet/JAMA/JCO 等顶级期刊。",
"start_url": "/app/feed",
"display": "standalone",
"background_color": "#f5f7fa",
"theme_color": "#1a5276",
"orientation": "any",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
],
"categories": ["medical", "education", "productivity"],
"lang": "zh-CN",
"scope": "/"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

+12
View File
@@ -0,0 +1,12 @@
User-agent: *
Allow: /
Allow: /literature/
Allow: /journals/
Allow: /drugs/
Allow: /guidelines/
Allow: /help/
Disallow: /app/
Disallow: /admin/
Disallow: /auth/
Disallow: /api/
Sitemap: https://scilit-oncology.com/sitemap.xml
+28
View File
@@ -0,0 +1,28 @@
// Service Worker — 离线缓存 + 推送通知
const CACHE_NAME = 'scilit-oncology-v1';
const STATIC_ASSETS = ['/', '/app/feed', '/app/search', '/app/library'];
self.addEventListener('install', (event) => {
(event as any).waitUntil(
caches.open(CACHE_NAME).then((cache) => cache.addAll(STATIC_ASSETS))
);
self.skipWaiting();
});
self.addEventListener('activate', (event) => {
(event as any).waitUntil(
caches.keys().then((keys) =>
Promise.all(keys.filter((k) => k !== CACHE_NAME).map((k) => caches.delete(k)))
)
);
self.clients.claim();
});
self.addEventListener('fetch', (event) => {
const req = (event as FetchEvent).request;
// API 请求不缓存
if (req.url.includes('/api/')) return;
(event as any).respondWith(
caches.match(req).then((cached) => cached || fetch(req))
);
});