From: soufiane Date: Tue, 27 Jun 2023 17:30:05 +0000 (+0200) Subject: wip #6606 @7:00 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=2a1a660b27d244d99f6e11eaaaecc8cc2bad7c8c;p=fluidbook-toolbox.git wip #6606 @7:00 --- diff --git a/app/Console/Commands/DebugDeliveryJob.php b/app/Console/Commands/DebugDeliveryJob.php new file mode 100644 index 000000000..305822ccc --- /dev/null +++ b/app/Console/Commands/DebugDeliveryJob.php @@ -0,0 +1,34 @@ +width = $width; + $this->publication = $publication; } /** * Execute the job. */ - public function handle(): void + public function handle() { $cl = new CommandLine('node'); $cl->setArg(null, resource_path('fluidbooktheme/theme_preview/secondpage_preview.js')); - $cl->setArg('width', $this->width); + $cl->setArg('width', 1920); $cl->setArg('height', 1080); $cl->setArg('delay', 2); $cl->setArg('scale', 1); - $cl->setArg('dest', self::getPreviewPath($this->theme->getIdValue())); + $cl->setArg('dest', self::getPreviewPath($this->publication->id)); $cl->setArg('page', 2); - $url = $this->theme->getPreviewURL(['shortLoading' => 1, 'transition' => 1, 'puppeteer' => 1]); + $url = $this->publication->getPreviewURL(); $cl->setArg('url', $url); + + $cl2 = new CommandLine('node'); + $cl2->setArg(null, resource_path('fluidbooktheme/theme_preview/secondpage_preview.js')); + $cl2->setArg('width', 320); + $cl2->setArg('height', 600); + $cl2->setArg('delay', 2); + $cl2->setArg('scale', 1); + $cl2->setArg('dest', self::getPreviewPath($this->publication->id), "mobile"); + $cl2->setArg('page', 2); + $url = $this->publication->getPreviewURL(); + $cl2->setArg('url', $url); + + $cl->execute(); + $cl2->execute(); + + + $cl->dd(); + } + + public static function getPreviewPath($fluidbookId, $variant = '') + { + $res = storage_path('delivery') . '/' . $fluidbookId; + if ($variant) { + $res .= '-' . $variant; + } + $res .= '.jpg'; + return $res; } } diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index fb10edc20..b7442f717 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -26,6 +26,7 @@ use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\ExportPd use App\Http\Controllers\Admin\Operations\FluidbookPublication\Services\SocialImageOperation; use App\Http\Controllers\Admin\Operations\FluidbookPublication\StatsOperation; use App\Jobs\FluidbookImagesPreprocess; +use App\Jobs\GenerateSecondPagePreview; use App\Models\Base\ToolboxSettingsModel; use App\Models\Traits\CheckHash; use App\Models\Traits\PublicationSettings; @@ -264,6 +265,8 @@ class FluidbookPublication extends ToolboxSettingsModel { $this->setComposedAttributes(); $this->checkHash(); + + dispatch(new GenerateSecondPagePreview($this))->onQueue('theme'); if ($this->_compositionUpdated) { FluidbookImagesPreprocess::dispatch($this->id); } diff --git a/resources/fluidbooktheme/theme_preview/secondpage_preview.js b/resources/fluidbooktheme/theme_preview/secondpage_preview.js index 5cfc362b5..a0c3e23d3 100644 --- a/resources/fluidbooktheme/theme_preview/secondpage_preview.js +++ b/resources/fluidbooktheme/theme_preview/secondpage_preview.js @@ -22,24 +22,16 @@ const optionDefinitions = [ }); const page = await browser.newPage(); - page.on('console', async (msg) => { - const msgArgs = msg.args(); - for (let i = 0; i < msgArgs.length; ++i) { - console.log(await msgArgs[i].jsonValue()); - } - }); await page.setViewport({ width: options.width / options.scale, height: options.height / options.scale, deviceScaleFactor: options.scale, }); - - await page.goto(options.url, {waitUntil: 'networkidle2'}); - await page.screenshot({path: options.dest, type: 'jpeg', quality: 95}); + await page.goto(options.url, {waitUntil: 'networkidle2'}) + await page.waitForNavigation() await new Promise(r => setTimeout(r, 1000 * (options.delay + 3))); - await page.evaluate(() => console.log(document.body.innerHTML)); - // Move to page 2 + // await page.evaluate(() => window.fluidbook.setCurrentPage(2)); - // Wait 1s and take a screenshot - await new Promise(r => setTimeout(r, 2000)); + await new Promise(r => setTimeout(r, 1000)); + await page.screenshot({path: options.dest, type: 'jpeg', quality: 95}); await browser.close(); })(); diff --git a/resources/views/fluidbook_publication/delivery.blade.php b/resources/views/fluidbook_publication/delivery.blade.php index 35814bbf3..9643712ee 100644 --- a/resources/views/fluidbook_publication/delivery.blade.php +++ b/resources/views/fluidbook_publication/delivery.blade.php @@ -1,6 +1,7 @@ @extends(backpack_view('blank')) @php +dd(storage_path('delivery') . '/'); $breadcrumbs = [ trans('backpack::crud.admin') => url(config('backpack.base.route_prefix'), 'dashboard'), trans('backpack::base.my_account') => false, diff --git a/scripts/dockerterminal-dev.bat b/scripts/dockerterminal-dev.bat index 0a6645eac..fc637b919 100644 --- a/scripts/dockerterminal-dev.bat +++ b/scripts/dockerterminal-dev.bat @@ -1,3 +1,3 @@ @echo off cls -C:\tools\cygwin\bin\ssh.exe -t root@dev.toolbox.fluidbook.com 'docker exec -it -u toolbox fluidbook-toolbox-dev /bin/bash' +ssh -t root@dev.toolbox.fluidbook.com 'docker exec -it -u toolbox fluidbook-toolbox-dev /bin/bash' diff --git a/storage/delivery/30116.jpg b/storage/delivery/30116.jpg new file mode 100644 index 000000000..172d36499 Binary files /dev/null and b/storage/delivery/30116.jpg differ