feat: 发布三笙AI情报局独立版公司研发基线
同步家纺情报 v2 数据、59 个严格权威源、趋势图库、移动端交互、Google/Yandex 翻译门控及静态 SEO/GEO 构建。 补充面向 C# 研发的 README,明确当前无 LLM、多模态与生图模型,记录翻译请求参数、缓存与失败策略、数据处理边界、前端职责和无 GitHub Pages 部署流程。 新增按日期倒序维护的 CHANGELOG,记录影响、验证与代码/数据/dist 回滚方法。 验证:11 个 Python 契约测试、13 个 Node 前端测试通过;静态构建生成 1096 个 Sitemap URL。
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# C# 后端与 Node 前端交接
|
||||
|
||||
本仓库是可运行参考实现,不要求研发团队继续使用 Python 前端,也不要求用 C# 重写爬虫。推荐拆分边界如下。
|
||||
|
||||
## C# 后端
|
||||
|
||||
适合负责:用户、企业、角色权限、订阅市场、任务分派、提醒、收藏、人工复核、审计日志和 API。不要把抓取器放进 Web 请求生命周期;通过计划任务或消息队列运行采集作业。
|
||||
|
||||
建议最小实体:
|
||||
|
||||
- `Source`:来源、层级、语言、证据词、抓取策略、启停状态。
|
||||
- `FetchRun`:开始/结束、HTTP 状态、内容指纹、证据、错误。
|
||||
- `IntelligenceItem`:稳定 ID、栏目、事实字段、分析字段、适用地区、来源版本。
|
||||
- `ItemSource`:一条聚合情报与多个来源的多对多关系。
|
||||
- `UserPreference`:企业关注的国家、平台、品类和角色。
|
||||
- `UserTask`:负责人、截止日、提醒、已处理/不相关状态。
|
||||
|
||||
数据库推荐 PostgreSQL;本地单机试运行可用 SQLite。正文去重建立 `normalized_title + start_date + region` 唯一候选键,内容指纹建立普通索引,外部 URL 使用规范化哈希索引。原始 HTML 只在需要审计时对象存储短期保留,不塞入主表。
|
||||
|
||||
API 可直接映射现有 JSON:
|
||||
|
||||
```text
|
||||
GET /api/intelligence/summary
|
||||
GET /api/intelligence/items?section=&market=&platform=&from=&to=&cursor=
|
||||
GET /api/intelligence/items/{id}
|
||||
GET /api/platforms
|
||||
GET /api/sources/{id}/runs
|
||||
POST /api/tasks
|
||||
PATCH /api/tasks/{id}
|
||||
```
|
||||
|
||||
服务端必须再次校验翻译链接和外链协议,仅允许 `http/https`。用户偏好、任务和人工结论与自动抓取事实分表,避免下一轮增量更新覆盖人工数据。
|
||||
|
||||
## Node 前端
|
||||
|
||||
可以迁移到 Next.js 或 React,但不必重写信息架构。保留七个业务入口和趋势四个子类,默认趋势页进入灵感图库。推荐:
|
||||
|
||||
- TypeScript 定义与 `docs/DATA-CONTRACT.md` 一致的模型。
|
||||
- TanStack Query 或框架原生数据缓存处理分页;Zustand 只存筛选、主题和用户偏好,不存整库情报。
|
||||
- 服务端渲染栏目和详情,客户端只增强筛选、收藏、任务和翻译门控。
|
||||
- 图片使用源站或授权地址时保留来源;没有图时继续使用 HTML 文字海报,不生成无来源的假图片。
|
||||
- 触控目标至少 44px,业务正文至少 16px,移动端七分类首屏可发现。
|
||||
|
||||
## 迁移顺序
|
||||
|
||||
1. 先冻结 JSON v2 契约,将当前两份发布 JSON 导入新 API。
|
||||
2. Node 前端改为读 API,逐页对比旧静态站;此时抓取仍由 Python 定时任务运行。
|
||||
3. C# 增加用户偏好、任务和权限,不改自动事实字段。
|
||||
4. 如确有团队维护收益,再逐个把稳定解析器迁移到 .NET;每迁移一个源,用相同 URL、证据词和快照做双跑比对。
|
||||
5. 最后将 SEO canonical 切向新域名,并保留旧 URL 的 301 映射。
|
||||
|
||||
不要一开始重写 57 个源。先把现有采集器当独立批处理服务,C# 和 Node 围绕稳定 JSON 契约开发,风险和交付周期最低。
|
||||
Reference in New Issue
Block a user