- 实现基于 Laravel 11 和 Filament 3.X 的文档管理系统 - 添加用户认证和分组管理功能 - 实现文档上传、分类和权限控制 - 集成 Word 文档自动转换为 Markdown - 集成 Meilisearch 全文搜索引擎 - 实现文档在线预览功能 - 添加安全日志和审计功能 - 完整的简体中文界面 - 包含完整的项目文档和部署指南 技术栈: - Laravel 11.x - Filament 3.X - Meilisearch 1.5+ - Pandoc 文档转换 - Redis 队列系统 - Pest PHP 测试框架
114 lines
3.0 KiB
PHP
114 lines
3.0 KiB
PHP
<?php
|
|
|
|
return [
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 文档转换配置
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| 这里配置文档转换相关的设置,包括转换驱动、超时时间和队列配置。
|
|
|
|
|
*/
|
|
|
|
'conversion' => [
|
|
/*
|
|
| 转换驱动
|
|
| 支持的驱动: 'pandoc', 'phpword'
|
|
| 推荐使用 pandoc 以获得更好的转换质量
|
|
*/
|
|
'driver' => env('DOCUMENT_CONVERSION_DRIVER', 'pandoc'),
|
|
|
|
/*
|
|
| Pandoc 可执行文件路径
|
|
| 如果 pandoc 在系统 PATH 中,可以直接使用 'pandoc'
|
|
| 否则需要指定完整路径,如 '/usr/local/bin/pandoc'
|
|
*/
|
|
'pandoc_path' => env('PANDOC_PATH', '/opt/homebrew/bin/pandoc'),
|
|
|
|
/*
|
|
| 转换超时时间(秒)
|
|
| 大文档可能需要更长的转换时间
|
|
*/
|
|
'timeout' => env('CONVERSION_TIMEOUT', 300),
|
|
|
|
/*
|
|
| 队列名称
|
|
| 文档转换任务将被分发到此队列
|
|
*/
|
|
'queue' => env('CONVERSION_QUEUE', 'documents'),
|
|
|
|
/*
|
|
| 转换失败后的重试次数
|
|
*/
|
|
'retry_times' => env('CONVERSION_RETRY_TIMES', 3),
|
|
|
|
/*
|
|
| 转换失败后的重试延迟(秒)
|
|
*/
|
|
'retry_delay' => env('CONVERSION_RETRY_DELAY', 60),
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Markdown 配置
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Markdown 渲染和处理相关的配置。
|
|
|
|
|
*/
|
|
|
|
'markdown' => [
|
|
/*
|
|
| Markdown 渲染器
|
|
| 支持的渲染器: 'commonmark', 'parsedown'
|
|
*/
|
|
'renderer' => env('MARKDOWN_RENDERER', 'commonmark'),
|
|
|
|
/*
|
|
| 是否清理 HTML 以防止 XSS 攻击
|
|
*/
|
|
'sanitize' => env('MARKDOWN_SANITIZE', true),
|
|
|
|
/*
|
|
| Markdown 预览长度(字符数)
|
|
| 用于在数据库中存储的内容摘要
|
|
*/
|
|
'preview_length' => env('MARKDOWN_PREVIEW_LENGTH', 500),
|
|
|
|
/*
|
|
| Markdown 文件最大大小(字节)
|
|
| 超过此大小的文件将分块处理
|
|
*/
|
|
'max_file_size' => env('MARKDOWN_MAX_FILE_SIZE', 10485760), // 10MB
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| 存储配置
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| 文档和 Markdown 文件的存储配置。
|
|
|
|
|
*/
|
|
|
|
'storage' => [
|
|
/*
|
|
| 文档存储磁盘
|
|
*/
|
|
'documents_disk' => env('DOCUMENTS_DISK', 'documents'),
|
|
|
|
/*
|
|
| Markdown 存储磁盘
|
|
*/
|
|
'markdown_disk' => env('MARKDOWN_DISK', 'markdown'),
|
|
|
|
/*
|
|
| 是否按日期组织文件目录
|
|
| 格式: YYYY/MM/DD/
|
|
*/
|
|
'organize_by_date' => env('STORAGE_ORGANIZE_BY_DATE', true),
|
|
],
|
|
|
|
];
|