Files
biji/biji-houdaun/src/main/java/com/test/bijihoudaun/service/MarkdownFileService.java
ikmkj 5ea9c776e7 feat(笔记预览): 实现大文件分块加载功能
添加分块加载API接口及前端实现,支持大文件(>500KB)的分页加载,提升大文件预览体验
后端实现分块逻辑并添加权限检查,前端添加加载提示和滚动加载功能
2026-03-04 16:43:25 +08:00

82 lines
2.1 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.test.bijihoudaun.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.test.bijihoudaun.entity.MarkdownFile;
import com.test.bijihoudaun.entity.MarkdownFileChunk;
import com.test.bijihoudaun.entity.MarkdownFileVO;
import java.util.List;
public interface MarkdownFileService extends IService<MarkdownFile> {
/**
* 更新Markdown内容
* @return 更新后的文件对象
*/
MarkdownFile updateMarkdownContent(MarkdownFile markdownFile);
/**
* 根据ID获取Markdown文件
* @param id 文件ID
* @param isAuthenticated 是否已认证
* @return Markdown文件对象
*/
MarkdownFile getMarkdownById(Long id, boolean isAuthenticated);
/**
* 根据分组ID获取Markdown文件
* @param groupingId 分组ID
* @return 文件列表
*/
List<MarkdownFileVO> getFilesByGroupingId(Long groupingId);
/**
* 删除Markdown文件
* @param id 文件ID
* @return 是否删除成功
*/
boolean deleteMarkdownFile(Long id);
List<MarkdownFile> test();
/**
* 获取所有Markdown文件
* @return 文件列表
*/
List<MarkdownFile> getAllMarkdownFiles();
/**
* 根据标题模糊搜索
* @param keyword 关键词
* @return 文件列表
*/
List<MarkdownFile> searchByTitle(String keyword);
/**
* 更新Markdown文件标题
* @param id 文件ID
* @param title 新标题
* @return 更新后的文件对象
*/
MarkdownFile updateMarkdownTitle(Long id, String title);
/**
* 获取最近更新的笔记
* @param limit 数量
* @return 文件列表
*/
List<MarkdownFileVO> getRecentFiles(int limit);
/**
* 分块加载Markdown文件内容
* 用于大文件(> 500KB的分页加载
* @param id 文件ID
* @param chunkIndex 块索引从0开始
* @param chunkSize 块大小字符数默认10000
* @param isAuthenticated 是否已认证
* @return 文件块对象
*/
MarkdownFileChunk getMarkdownChunk(Long id, int chunkIndex, int chunkSize, boolean isAuthenticated);
}