Skip to content

Latest commit

 

History

History
314 lines (240 loc) · 8.9 KB

File metadata and controls

314 lines (240 loc) · 8.9 KB

当前真实模块地图

文档目标

本文档用于给出 yunyu-server 当前已经真实落地的后端模块地图。

目标是让开发者、AI agent 和后续维护者在查看目录时,不需要在多篇文档之间来回拼接,就能快速回答以下问题:

  • 现在后端到底有哪些业务模块。
  • 每个模块当前有哪些接口面。
  • 哪些模块是资源模块,哪些模块是站点聚合、系统引导或共享支撑模块。
  • 某个功能大致应该去哪个模块下继续找。

本文档只描述“当前真实落地结构”,不负责讨论历史演进过程。

本文档重点回答:

  • 当前后端模块到底有哪些。
  • 某个业务域现在有哪些接口面已经真实存在。
  • 查代码时应该优先从哪个模块入口开始。

本文档不负责:

  • 解释为什么会从旧结构迁移到现在这套结构。
  • 约束未来新增代码的详细放置规则。
  • 说明基础依赖、基础设施包和安全包的启动骨架。

相关文档建议:

一、当前模块总览

当前真实模块根目录为:

yunyu-server/src/main/java/com/ideaflow/yunyu/module

当前已落地业务模块如下:

module
├── ai
├── attachment
├── auth
├── category
├── comment
├── contentaccess
├── friendlink
├── homepage
├── post
├── site
├── siteconfig
├── storage
├── system
├── tag
├── topic
└── user

二、按职责划分的模块地图

2.1 内容资源模块

这类模块围绕具体内容资源展开,通常同时存在后台管理面 admin 与前台访问面 site

module/post
module/category
module/tag
module/topic
module/comment
module/friendlink

说明:

  • post:文章资源本身及其后台管理、前台查询能力。
  • category:分类管理与分类前台查询能力。
  • tag:标签管理与标签前台查询能力。
  • topic:专题管理与专题前台查询能力。
  • comment:评论后台管理与前台评论交互能力。
  • friendlink:友链后台管理与前台展示能力。

2.2 站点配置与站点聚合模块

这类模块不直接表示某个单一内容资源,而是站点整体配置、首页配置或站点公开聚合能力。

module/siteconfig
module/homepage
module/site
module/storage

说明:

  • siteconfig:站点基础配置读写,后台配置接口在 admin,共享配置能力在根层 service
  • homepage:首页配置相关后台能力与前台首页视觉 VO,部分共享配置逻辑保留根层 service
  • site:站点整体公开聚合接口,当前使用 publicapi 承载 home/config/version 等整体视角能力。
  • storage:对象存储与上传配置能力,当前以后台配置面为主。

2.3 认证、权限与用户模块

这类模块承载登录态、用户信息和内容访问授权等能力。

module/auth
module/user
module/contentaccess

说明:

  • auth:当前已收敛到 auth/site,承载登录、当前用户信息等接口。
  • user:后台用户管理能力,当前主要使用 admin
  • contentaccess:内容访问校验相关 DTO / VO 在 site,共享授权支撑逻辑保留根层 service

2.4 AI、附件与系统支撑模块

这类模块更偏基础能力、受控接口或系统引导支撑。

module/ai
module/attachment
module/system

说明:

  • ai:后台 AI 提供商配置在 admin,协议与内部网关入口在 internal,共享适配层保留在 adapter/model/stream
  • attachment:后台附件管理与上传管理能力,当前以 admin 为主。
  • system:系统启动引导与初始化基础设施,当前收敛在 bootstrap

三、当前接口面分布

3.1 同时具备 adminsite

category
comment
friendlink
post
tag
topic

适用语义:

  • admin:后台管理、创建、更新、删除、审核、配置。
  • site:前台列表、详情、交互、公开查询。

3.2 仅具备 admin

attachment
storage
user

适用语义:

  • 这些模块当前主要服务于后台管理,不直接暴露前台资源级接口。

3.3 仅具备 site

auth

适用语义:

  • 当前登录、获取当前用户等能力已收敛在 auth/site

3.4 具备 admin 与共享根层 service

homepage
siteconfig

适用语义:

  • 后台配置能力走 admin
  • 被多处复用的配置读写逻辑保留在模块根层 service

3.5 具备 internal

ai

适用语义:

  • internal 用于协议入口、内部网关、回调或不直接面向普通前后台页面的接口。

3.6 具备 publicapi

site

适用语义:

  • publicapi 只表示站点整体公开聚合接口。
  • 不应承载文章、分类、标签、专题这类资源级前台接口。

3.7 具备 bootstrap

system

适用语义:

  • bootstrap 只处理系统启动引导、数据库初始化、初始化状态判断与脚本工具。

四、当前真实目录树摘要

下面给出一版精简后的真实目录树,便于快速定位:

module
├── ai
│   ├── admin/{controller,dto,scene,service,vo}
│   ├── internal/{controller,service}
│   ├── adapter
│   ├── model
│   └── stream
├── attachment
│   ├── admin/{controller,dto,service,vo}
│   ├── entity
│   └── mapper
├── auth
│   ├── site/{controller,dto,service,vo}
│   ├── entity
│   └── mapper
├── category
│   ├── admin/{controller,dto,service,vo}
│   ├── site/{controller,service,vo}
│   ├── entity
│   └── mapper
├── comment
│   ├── admin/{controller,dto,service,vo}
│   ├── site/{controller,dto,service,vo}
│   ├── entity
│   └── mapper
├── contentaccess
│   ├── site/{dto,vo}
│   ├── entity
│   ├── mapper
│   ├── model
│   └── service
├── friendlink
│   ├── admin/{controller,dto,service,vo}
│   ├── site/{controller,dto,service,vo}
│   ├── entity
│   └── mapper
├── homepage
│   ├── admin/{controller,dto,service,vo}
│   ├── site/vo
│   └── service
├── post
│   ├── admin/{controller,dto,service,vo}
│   ├── site/{controller,dto,service,vo}
│   ├── entity
│   └── mapper
├── site
│   └── publicapi/{controller,service,vo}
├── siteconfig
│   ├── admin/{controller,dto,service,vo}
│   ├── entity
│   ├── mapper
│   └── service
├── storage
│   ├── admin/{controller,dto,service,vo}
│   └── model
├── system
│   └── bootstrap/{引导类...,util}
├── tag
│   ├── admin/{controller,dto,service,vo}
│   ├── site/{controller,service,vo}
│   ├── entity
│   └── mapper
├── topic
│   ├── admin/{controller,dto,service,vo}
│   ├── site/{controller,service,vo}
│   ├── entity
│   └── mapper
└── user
    ├── admin/{controller,dto,service,vo}
    ├── entity
    └── mapper

说明:

五、快速定位建议

当你拿到一个新需求时,可以优先这样判断:

  1. 如果是后台管理能力,先找对应业务模块下的 admin
  2. 如果是前台资源查询或前台交互,先找对应资源模块下的 site
  3. 如果是首页、站点基础信息、版本信息这种整体公开聚合,找 module/site/publicapi
  4. 如果是登录态、当前用户信息,找 module/auth/site
  5. 如果是启动初始化、建库建表、初始化状态,找 module/system/bootstrap
  6. 如果一个功能既不像资源接口,也不像站点聚合接口,先回到 07-后端目录约束规范.md 判断边界,再落目录。