Freesia项目目录结构
2026/9/12 10:16:40 网站建设 项目流程

目录结构

前端目录:freesia-amidn

(目录结构来自layui-vue-admin)

  • src文件下
    • api(前端请求后端服务的路由)
    • assert(一些内置或必要的资源文件)
    • layouts(全局框架样式组件)
    • router(静态路由和动态路由的配置、路由守卫)
    • store(Pinia全局变量维护)
    • styles(css样式文件)
    • types(TypeScript类型定义)
    • util(一些工具类)
    • views(系统展示页面)

后端目录

后端按职责划分为三个顶层模块:freesia-common(通用基础能力)、freesia-web(Web业务与启动)、freesia-extends(第三方组件扩展)。

通用模块(freesia-common)

通用API(freesia-common-api)
  1. 管理项目公共的yml配置文件
  2. 日志文件格式配置文件、spy SQL日志打印配置、banner
  3. 通用的i18n信息
  4. 离线IP地址定位库ip2region
  5. 所有POJO的基类(PO、DTO、VO、Bean、Entity、Model)
  6. 统一返回结果集与状态码常量
  7. 通用静态类、雪花ID生成器
  8. ECharts图表实体
代码生成器(freesia-common-codegen)
  1. 项目内生成Java文件的自定义代码生成程序
  2. 生成文件所需要的配置文件basic.properties
  3. ftl模板文件(api、controller、converter、dto、mapper、mapperXml、po、repository、service、serviceImpl、vo)
通用框架framework(freesia-common-framework)
  1. 配置类Configuration(XSS过滤、WebMvc)
  2. 各种工具类Util
  3. 支持通用模块的Component(包含切面类Aspect)
  4. 异常类Exception及其处理链Handler
  5. 通用转换器Converter(反射转换、MapStruct转换)
  6. 基础控制器BaseController、基础业务实现BaseServiceImpl
  7. 通用分页查询、表格返回结果等POJO
通用JSON模块(freesia-common-json)
  1. Jackson的JSON工具类UJSON
通用校验模块(freesia-common-validation)
  1. 自定义校验注解(如手机号校验)
  2. 校验器Validator与校验策略Strategy
  3. 校验相关的i18n信息
通用持久层模块(freesia-common-jdbc)
  1. Mybatis-Plus、JPA(MySQL/PostgreSQL)配置类
  2. Druid过滤器配置
  3. 审计组件(Mybatis、JPA的创建人/修改人自动填充)
通用缓存模块(freesia-common-cache)
  1. 引入Spring Cache缓存抽象依赖
  2. 目前为预留模块,暂无代码实现
通用Redis模块(freesia-common-redis)
  1. Redis与Redisson配置类
  2. Redis工具类URedis
通用对象存储(freesia-common-oss)
  1. 同通用服务模块,都是提供通用服务,只是单独提取出来
  2. 包括OSS对象存储配置和记录上传文件的信息功能
  3. 提供OssFactory、OssHandler等操作入口与@Domain域名注解
通用权限认证(freesia-common-satoken)
  1. Sa-Token配置类与登录用户模型
  2. 权限校验实现与Redis会话处理器
  3. 登录安全策略配置(密码重试次数、锁定时间)
通用加密模块(freesia-common-crypt)
  1. 响应体AES加解密处理
  2. @Encrypt注解与返回值处理器
  3. 密钥管理器(支持密钥轮换与宽限期)
通用脱敏模块(freesia-common-desensitization)
  1. @Desensitize注解与脱敏类型
  2. 脱敏序列化器与格式化处理器
通用多租户模块(freesia-common-tenant)
  1. 多租户配置与租户处理器
  2. 租户字段与忽略表配置
通用限流模块(freesia-common-ratelimit)
  1. @RateLimiter注解
  2. 基于Redis固定窗口的限流切面
通用幂等模块(freesia-common-idempotent)
  1. @Idempotent注解
  2. 防止重复提交的幂等切面
通用日志模块(freesia-common-log)
  1. @LogRecord注解
  2. 操作日志记录切面
通用Excel模块(freesia-common-excel)
  1. excel导入导出
  2. 导入监听器与导出处理器
  3. Excel工具类UExcel
通用网络模块(freesia-common-net)
  1. http网络请求
  2. HttpClient连接池配置、重试处理器等
  3. 文件下载、URL配置等服务
通用邮件模块(freesia-common-mail)
  1. 邮件发送配置与工具类UMail
通用SSE模块(freesia-common-sse)
  1. 服务端推送(SSE)配置与Emitter管理器
  2. 消息接收处理器与心跳调度
  3. 消息主题常量
通用接口文档模块(freesia-common-doc)
  1. SpringDoc/OpenAPI接口文档配置
  2. 文档分组与自定义处理器

Web服务模块(freesia-web)

WebAPI模块(freesia-web-api)
  1. 管理Web层跨模块共享的Bean(通用图标、图标模板)
  2. Provider服务接口(由icon等业务模块实现,admin注入消费)
  3. 各业务模块的模块常量定义
  4. I18n信息
  5. 仅依赖common-api,极轻量,任意模块均可安全引入
AdminAPI模块(freesia-web-admin-api)
  1. admin域(用户/租户/OSS/公告)的对外共享契约:Service接口、PO、DTO、Entity、常量、UNotice
  2. 实现在freesia-web-admin,消费方为account、icon等业务模块——依赖方向与web-api相反,二者互补不重合
  3. 业务模块禁止直接依赖freesia-web-admin,需获取admin域能力时统一依赖本模块
  4. 携带JPA PO是为保持admin包名不变、实现类零源码改动的折中设计,后续收紧域隔离时优先收敛为接口+DTO
Web应用启动模块(freesia-web-app)
  1. Admin应用的启动
  2. Admin应用的Yml配置文件
  3. 测试类(包括Java测试与Spring测试)
  4. 应用启动后的初始化Runner
Web框架模块(freesia-web-framework)
  1. 配置类Configuration(Web通用、Mybatis、验证码、Jackson)
  2. 支持Web模块的Component
  3. 异常类Exception及其切面
  4. 各种需要作用于配置类的处理类handler、帮助类helper
  5. 数据权限拦截器与Mybatis的SQL拦截器
  6. 自定义注解(数据列、数据权限)
  7. 配置属性类Properties
Web管理系统模块(freesia-web-admin)
  1. 后端管理系统核心业务逻辑
  2. MVC架构
  3. 覆盖用户、角色、菜单、部门、字典、租户、客户端、系统配置、通知公告、文件管理、URL配置、敏感日志、待办、动态列配置等管理功能
  4. 登录认证策略(密码、验证码、二维码、第三方OAuth登录)
记账模块(freesia-web-account)
  1. 记账相关的账目、费用分摊、预算、报表等业务逻辑
  2. 支持账目导入导出、报表定时生成与重算
通用图标模块(freesia-web-icon)
  1. 通用图标与图标模板(表头、明细)管理
  2. 支持图标树查询与排序
世界时钟模块(freesia-web-worldclock)
  1. 世界时钟城市管理
  2. 日出日落时间计算与时区转换
历史上的今天模块(freesia-web-todayhistory)
  1. 历史上的今天数据爬取与解析
  2. 定时同步历史事件数据
AI对话模块(freesia-web-chat)
  1. DeepSeek对话(会话、消息记录)
  2. RAG知识库检索增强与向量存储(pgvector)
拼豆模块(freesia-web-fusebean)
  1. 拼豆像素画生成
  2. 内置image-to-pindou图像转换技能(Node脚本与MARD色卡)

扩展模块(freesia-extends)

SpringBootAdmin服务端(freesia-spring-admin)
  1. Spring Boot Admin服务端配置
  2. 敏感字段脱敏与实例状态通知
XXL-JOB执行器(freesia-xxl-job)
  1. XXL-JOB执行器配置
  2. XXL-JOB建表SQL


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询