# AdultStore **Repository Path**: Transmutation/adult-store ## Basic Information - **Project Name**: AdultStore - **Description**: 本地影片库,能够扫描指定目录内的所有nfo文件读取影片信息 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-04 - **Last Updated**: 2026-08-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AV影片海报墙 基于Java Spring Boot的影片海报墙应用,支持递归扫描指定文件夹内的NFO文件并读取影片信息,以瀑布流形式展示海报。 ## 功能特性 - 自动扫描指定目录,递归查找所有NFO文件 - 解析NFO XML文件,提取影片详细信息 - 瀑布流海报展示(响应式布局) - 点击海报从右至左动态展开详情页 - 显示影片标题、番号、评分、演员、简介等完整信息 - 支持评分、演员筛选、关键词搜索 - 支持重新扫描功能 ## 目录结构要求 ``` 影片根目录/ ├── 演员A/ │ ├── 番号001/ │ │ ├── 番号001.nfo # NFO信息文件 │ │ ├── poster.jpg # 竖屏封面 │ │ ├── thumb.jpg # 宽屏缩略图 │ │ ├── fanart.jpg # 视频预览图 │ │ ├── extrafanart/ # 剧照文件夹 │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ └── ... │ │ └── 视频文件.mp4/mkv/... │ ├── 番号002/ │ │ └── ... │ └── ... ├── 演员B/ │ └── ... └── ... ``` ## 技术栈 - Java 17 - Spring Boot 3.2.0 - Lombok - Jackson XML ## 快速开始 ### 1. 修改配置 编辑 `src/main/resources/application.yml`,设置影片目录路径: ```yaml app: scan-path: E:/your/video/path ``` ### 2. 编译运行 ```bash mvn spring-boot:run ``` 或打包后运行: ```bash mvn clean package java -jar target/audit-store-1.0.0.jar ``` ### 3. 访问应用 打开浏览器访问:`http://localhost:8080` ## API接口 | 方法 | 路径 | 说明 | | ---- | ------------------------------------- | ---------------- | | GET | `/api/movies` | 获取影片列表 | | GET | `/api/movies/{id}` | 获取影片详情 | | GET | `/api/movies/actors` | 获取所有演员列表 | | GET | `/api/movies/count` | 获取影片总数 | | POST | `/api/movies/rescan` | 重新扫描目录 | | GET | `/api/files/poster/{id}` | 获取竖屏封面 | | GET | `/api/files/thumb/{id}` | 获取缩略图 | | GET | `/api/files/fanart/{id}` | 获取视频预览图 | | GET | `/api/files/extrafanart/{id}/{index}` | 获取剧照 | ### 查询参数 `GET /api/movies` 支持以下参数: - `actor`: 按演员筛选 - `keyword`: 按标题/番号/演员关键词搜索 ## NFO文件格式 支持标准的Kodi/Emby NFO格式: ```xml 影片标题 番号 4.5 2024-01-15 120 导演名 剧情简介 制作商 发行商 系列 演员1 Actor 演员2 Actor 标签1 标签2 1080p 8M ``` ## 项目结构 ``` src/main/java/com/audit/store/ ├── AuditStoreApplication.java # 启动类 ├── config/ │ ├── AppProperties.java # 应用配置 │ ├── JacksonConfig.java # XML解析配置 │ ├── StartupValidator.java # 启动验证 │ └── WebConfig.java # Web配置 ├── controller/ │ ├── FileController.java # 文件服务 │ └── MovieController.java # 影片API ├── dto/ │ └── MovieListItemDTO.java # 列表项DTO ├── entity/ │ ├── Movie.java # 影片实体 │ └── NfoInfo.java # NFO信息实体 └── service/ └── MovieScannerService.java # 扫描服务 ``` ## 注意事项 1. 首次启动会自动扫描配置的目录 2. 目录扫描在内存中缓存,支持通过API重新扫描 3. 支持的视频格式:mp4, mkv, avi, wmv, mov, flv 4. 支持的图片格式:jpg, jpeg, png