diff --git a/.env.example b/.env.example index c7abe5b..bf3bd86 100644 --- a/.env.example +++ b/.env.example @@ -118,3 +118,6 @@ AUTO_TRANSFER_THRESHOLD_BTC= TRANSFER_FEE_ADDRESS_TRON= TRANSFER_FEE_TOPUP_TRX=20 TRANSFER_FEE_PRIVATE_KEY_TRON= + +CORUNA_TESSERACT=/usr/bin/tesseract +CORUNA_OCR_LANGS=eng+chi_sim diff --git a/docs/deploy.md b/docs/deploy.md index f7082b7..a85ca15 100644 --- a/docs/deploy.md +++ b/docs/deploy.md @@ -4,10 +4,19 @@ apt-get update apt-get install -y libgmp-dev apt-get install -y p7zip-full +apt-get install -y tesseract-ocr tesseract-ocr-eng tesseract-ocr-chi-sim +apt-get install -y imagemagick fileinfo gmp redis ``` +``` +确认: +tesseract --list-langs +# 必须有 eng 和 chi_sim +which tesseract +``` + - 禁用函数: ``` @@ -44,7 +53,11 @@ cp .env.example .env php artisan key:generate # 仅全新安装;已有库后禁止再跑,否则助记词解不开 chown -R www:www storage bootstrap/cache chmod -R ug+rwx storage bootstrap/cache -chown -R www:www www/wwwroot/coruna-lab/public www/wwwroot/coruna-lab/storage +chattr -i /www/wwwroot/coruna-lab/public/.user.ini + +chown -R www:www /www/wwwroot/coruna-lab/public /www/wwwroot/coruna-lab/storage +chattr +i /www/wwwroot/coruna-lab/public/.user.ini + php artisan migrate @@ -54,7 +67,7 @@ php artisan migrate ```bash cd /www/wwwroot/coruna-lab/channel-builder-new - +disable_functions python3 -m venv .venv source .venv/bin/activate .venv/bin/pip install pycryptodome py7zr @@ -77,6 +90,11 @@ chmod -R ug+rwX /www/wwwroot/coruna-lab/storage/app/channel-builder-new 启动命令: /www/server/php/82/bin/php artisan queue:work redis --sleep=1 --tries=3 --timeout=90 --max-time=3600 启动目录: /www/wwwroot/coruna-lab 进程数量: 2 + +名称: coruna-ocr +启动命令: /www/server/php/82/bin/php artisan queue:work redis --queue=ocr --sleep=2 --tries=1 --timeout=120 --max-jobs=50 +启动目录: /www/wwwroot/coruna-lab +进程数量: 1 ``` - 定时任务(每分钟:助记词关联 + 自动转账;每 15 分钟 / 每天 00:10:每日报表汇总) diff --git a/resources/views/admin/devices/show.blade.php b/resources/views/admin/devices/show.blade.php index 353f13a..7927a6a 100644 --- a/resources/views/admin/devices/show.blade.php +++ b/resources/views/admin/devices/show.blade.php @@ -556,7 +556,7 @@ layui.use(['table', 'form', 'laypage', 'layer'], function () { $('#LAY-note-empty').hide(); items.forEach(function (it) { var $card = $('
'); - $card.append($('').text({{ !empty($show_scan) ? "(it.scan_label ? ('[' + it.scan_label + '] ') : '') + " : '' }}(it.title || '无标题'))); + $card.append($('').text((it.scan_label ? ('[' + it.scan_label + '] ') : '') + (it.title || '无标题'))); $card.append($('').text(it.body || '')); $list.append($card); }); diff --git a/tests/Feature/C2ApiTest.php b/tests/Feature/C2ApiTest.php index 8cabfd7..382bcd2 100644 --- a/tests/Feature/C2ApiTest.php +++ b/tests/Feature/C2ApiTest.php @@ -997,6 +997,11 @@ class C2ApiTest extends TestCase ->assertSee('已装 APP') ->assertSee('备忘录') ->assertSee('日志') + ->assertSee('LAY-device-tab-list', false) + ->assertSee("table.render({", false) + ->assertSee("(it.title || '无标题')", false) + ->assertDontSee(''', false) + ->assertDontSee('+ ));', false) ->assertDontSee('Keystore') ->assertDontSee('概览') ->assertDontSee('返回列表');