文档

Lsky Pro 自定义版 开发文档

这个项目是什么

Lsky Pro 自定义版(仓库 jinghui/lsky-pro-custom)是开源图床 Lsky Pro 的深度定制版,线上实例为 https://img.88531.cn 。相比官方版,它新增了三大能力:OCR 智能搜索(上传图片自动识别文字,搜索时直接输入图片里的文字就能找到图)、图片在线编辑器(浏览器内裁剪/旋转/调色,无需下载专业软件)、独立 Token 管理页(查看 Token 来源、IP、使用时间,API 上传支持指定相册),并修复了图片交互与相册计数的一批 Bug。

重要认知:本仓库不是完整的 Lsky Pro 全量源码,而是相对官方版的改动文件子集——顶层只含 app/、database/、public/、resources/、routes/ 五个目录加 CHANGELOG.md、README.md。使用方式是在官方 Lsky Pro 部署的基础上,用这些目录覆盖对应文件。

技术栈与架构

仓库结构

路径 说明
app/ PHP 后端改动:app/Services/OcrService.php(OCR 服务)、app/Services/ImageService.php(集成 OCR)、app/Http/Controllers/User/ImageController.php(新增 edit() 图片编辑保存)、app/Http/Controllers/User/AlbumController.php 与 app/Http/Controllers/Api/V1/AlbumController.php(相册动态计数)、app/Http/Controllers/User/TokenController.php(Token 管理)、app/Models/Image.php(OCR 搜索支持)、app/Models/Album.php
database/ 新增迁移 2026_07_01_191052_add_ocr_text_to_images_table:images 表新增 ocr_text 字段(TEXT,可空)
public/ Cropper.js 库文件(js/cropper/cropper.min.js、cropper.min.css)
resources/ 视图改动:resources/views/user/images.blade.php(编辑器 UI + 交互修复)、resources/views/user/tokens.blade.php(Token 管理页)
routes/ routes/web.php 新增路由:PUT /user/images/{id}/edit(图片编辑保存)、GET/POST /tokens(Token 管理页)

部署与二次开发流程

基于官方 Lsky Pro(Docker 容器名示例为 lsky-pro)叠加本仓库改动:

# 1. 安装 Tesseract OCR 与中文语言包
docker exec lsky-pro apt-get update
docker exec lsky-pro apt-get install -y tesseract-ocr tesseract-ocr-chi-sim tesseract-ocr-chi-tra

# 2. 执行数据库迁移(images 表加 ocr_text 字段)
docker exec lsky-pro php artisan migrate

# 3. 清除缓存
docker exec lsky-pro php artisan cache:clear
docker exec lsky-pro php artisan view:clear
docker exec lsky-pro php artisan route:clear

为已有图片批量补 OCR 识别(可选):

docker exec lsky-pro php artisan tinker
>>> $service = new App\Services\OcrService();
>>> $images = App\Models\Image::whereNull('ocr_text')->get();
>>> foreach ($images as $img) { $service->processImage($img); echo '.'; }

二次开发要点

相关链接