Showing
4 changed files
with
65 additions
and
16 deletions
... | @@ -87,9 +87,10 @@ class VideoTempController extends AdminController | ... | @@ -87,9 +87,10 @@ class VideoTempController extends AdminController |
87 | $form->showFooter(); | 87 | $form->showFooter(); |
88 | // 设置字段宽度 | 88 | // 设置字段宽度 |
89 | $form->width(8, 3); | 89 | $form->width(8, 3); |
90 | - $form->column(12, function (Form\BlockForm $form) { | 90 | + |
91 | $form->text('title'); | 91 | $form->text('title'); |
92 | - $form->radio('type')->options(['视频', '图文音频'])->default(0); | 92 | + $form->radio('type')->addElementClass('type') |
93 | + ->options([1=>'图文音频',2=>'视频'])->default(1); | ||
93 | $form->radio('bg_type') | 94 | $form->radio('bg_type') |
94 | ->options([1=>'视频', 2=>'图片']) | 95 | ->options([1=>'视频', 2=>'图片']) |
95 | ->when(1,function (Form\BlockForm $form){ | 96 | ->when(1,function (Form\BlockForm $form){ |
... | @@ -97,29 +98,38 @@ class VideoTempController extends AdminController | ... | @@ -97,29 +98,38 @@ class VideoTempController extends AdminController |
97 | ->accept('mp4') | 98 | ->accept('mp4') |
98 | ->autoUpload() | 99 | ->autoUpload() |
99 | ->uniqueName() | 100 | ->uniqueName() |
100 | - ->addElementClass('bg_url'); | 101 | + ->addElementClass('bg_video_url'); |
101 | }) | 102 | }) |
102 | ->when(2,function (Form\BlockForm $form){ | 103 | ->when(2,function (Form\BlockForm $form){ |
103 | $form->multipleImage('bg_url') | 104 | $form->multipleImage('bg_url') |
104 | ->limit(5) | 105 | ->limit(5) |
105 | ->uniqueName() | 106 | ->uniqueName() |
106 | - ->addElementClass('multi_bg_url'); | 107 | + ->addElementClass('bg_img_url'); |
107 | }) | 108 | }) |
108 | ->default(1); | 109 | ->default(1); |
109 | $form->radio('bg_music') | 110 | $form->radio('bg_music') |
110 | ->options(['无', '有']) | 111 | ->options(['无', '有']) |
111 | ->when(1,function (Form\BlockForm $form){ | 112 | ->when(1,function (Form\BlockForm $form){ |
112 | - $form->text('bgm_url'); | 113 | + $form->file('bgm_url') |
114 | + ->accept('mp3,aac,wav') | ||
115 | + ->autoUpload() | ||
116 | + ->uniqueName() | ||
117 | + ->addElementClass('bgm_url'); | ||
113 | }) | 118 | }) |
114 | ->default(0); | 119 | ->default(0); |
115 | $form->number('top'); | 120 | $form->number('top'); |
116 | $form->number('left'); | 121 | $form->number('left'); |
117 | $form->number('font_size'); | 122 | $form->number('font_size'); |
123 | + $form->color('text_color')->addElementClass('text_color'); | ||
124 | + $form->color('text_bg_color')->addElementClass('text_bg_color'); | ||
125 | + $form->number('opacity')->min(0)->max(100) | ||
126 | + ->addElementClass('opacity')->default(90) | ||
127 | + ->help('范围为0-100,100表示不透明,0表示完全透明'); | ||
128 | + | ||
118 | $form->number('sn'); | 129 | $form->number('sn'); |
119 | $form->radio('state')->options(['不显示', '显示'])->default(0); | 130 | $form->radio('state')->options(['不显示', '显示'])->default(0); |
120 | 131 | ||
121 | }); | 132 | }); |
122 | - }); | ||
123 | 133 | ||
124 | $form->block(4, function (Form\BlockForm $form) { | 134 | $form->block(4, function (Form\BlockForm $form) { |
125 | $form->html(view('admin.form.phone')); | 135 | $form->html(view('admin.form.phone')); | ... | ... |
... | @@ -21,6 +21,11 @@ class CreateVideoTempTable extends Migration | ... | @@ -21,6 +21,11 @@ class CreateVideoTempTable extends Migration |
21 | $table->string('bg_url')->nullable()->comment('背景动画化地址'); | 21 | $table->string('bg_url')->nullable()->comment('背景动画化地址'); |
22 | $table->unsignedTinyInteger('bg_music')->comment('0=没有,1=有'); | 22 | $table->unsignedTinyInteger('bg_music')->comment('0=没有,1=有'); |
23 | $table->string('bgm_url')->nullable()->comment('背景音乐地址'); | 23 | $table->string('bgm_url')->nullable()->comment('背景音乐地址'); |
24 | + | ||
25 | + $table->string('text_color')->nullable()->comment('文字颜色'); | ||
26 | + $table->string('text_bg_color')->nullable()->comment('文字背景色'); | ||
27 | + $table->double('opacity')->nullable()->comment('透明度'); | ||
28 | + | ||
24 | $table->unsignedTinyInteger('sn')->default('99')->comment('序号'); | 29 | $table->unsignedTinyInteger('sn')->default('99')->comment('序号'); |
25 | $table->unsignedSmallInteger('top')->default('0')->comment('距离容器上边距'); | 30 | $table->unsignedSmallInteger('top')->default('0')->comment('距离容器上边距'); |
26 | $table->unsignedSmallInteger('left')->default('0')->comment('距离容器左边距'); | 31 | $table->unsignedSmallInteger('left')->default('0')->comment('距离容器左边距'); | ... | ... |
... | @@ -16,6 +16,9 @@ return [ | ... | @@ -16,6 +16,9 @@ return [ |
16 | 'top' => '距离容器上边距', | 16 | 'top' => '距离容器上边距', |
17 | 'left' => '距离容器左边距', | 17 | 'left' => '距离容器左边距', |
18 | 'font_size' => '字号', | 18 | 'font_size' => '字号', |
19 | + 'text_color' => '文字颜色', | ||
20 | + 'text_bg_color' => '文字背景色', | ||
21 | + 'opacity' => '透明度', | ||
19 | ], | 22 | ], |
20 | 'options' => [ | 23 | 'options' => [ |
21 | ], | 24 | ], | ... | ... |
... | @@ -5,12 +5,12 @@ | ... | @@ -5,12 +5,12 @@ |
5 | border-radius: 40px; | 5 | border-radius: 40px; |
6 | margin-right: 24px; | 6 | margin-right: 24px; |
7 | padding: 37px 20px; | 7 | padding: 37px 20px; |
8 | - min-height: 679px; | 8 | + min-height: 779px; |
9 | } | 9 | } |
10 | 10 | ||
11 | .phone-content { | 11 | .phone-content { |
12 | border: 1px solid rgb(220, 223, 230); | 12 | border: 1px solid rgb(220, 223, 230); |
13 | - height: 605px; | 13 | + height: 705px; |
14 | overflow: hidden; | 14 | overflow: hidden; |
15 | position: relative; | 15 | position: relative; |
16 | background: rgb(245, 245, 245); | 16 | background: rgb(245, 245, 245); |
... | @@ -54,12 +54,20 @@ | ... | @@ -54,12 +54,20 @@ |
54 | font-size: 12px; | 54 | font-size: 12px; |
55 | margin: 0; | 55 | margin: 0; |
56 | } | 56 | } |
57 | + | ||
58 | + .bg-box { | ||
59 | + height: 625px; | ||
60 | + } | ||
57 | </style> | 61 | </style> |
58 | <div class="box-card"> | 62 | <div class="box-card"> |
59 | <div class="phone-content"> | 63 | <div class="phone-content"> |
60 | <div class="text">模板</div> | 64 | <div class="text">模板</div> |
61 | <img src="{{asset('storage/image/mobile-head.png')}}" alt="" width="338" height="80"> | 65 | <img src="{{asset('storage/image/mobile-head.png')}}" alt="" width="338" height="80"> |
62 | - | 66 | + <div class="bg-box"> |
67 | + <img width="338" height="625" class="bg_img" style="display: none"> | ||
68 | + <video width="338" height="625" id="bg_video" style="display: none"></video> | ||
69 | + <audio id="bg_audio" ></audio> | ||
70 | + </div> | ||
63 | <div class="poem-block"> | 71 | <div class="poem-block"> |
64 | <p class="poem-title">题破山寺后禅院</p> | 72 | <p class="poem-title">题破山寺后禅院</p> |
65 | <p class="poem-author">-- 常建</p> | 73 | <p class="poem-author">-- 常建</p> |
... | @@ -74,22 +82,45 @@ | ... | @@ -74,22 +82,45 @@ |
74 | <button type="button" class="btn btn-primary sync"><i class="feather icon-repeat"></i> 同步基本设置</button> | 82 | <button type="button" class="btn btn-primary sync"><i class="feather icon-repeat"></i> 同步基本设置</button> |
75 | <script> | 83 | <script> |
76 | Dcat.ready(function () { | 84 | Dcat.ready(function () { |
77 | - $(document).off('click', '.sync').on('click', '.sync', function () { | 85 | + var asset = "{{asset('/storage/')}}"; |
78 | 86 | ||
87 | + $(document).off('click', '.sync').on('click', '.sync', function () { | ||
79 | let ori_top = 80; | 88 | let ori_top = 80; |
80 | let top = parseInt($('.field_top').val()) + ori_top; | 89 | let top = parseInt($('.field_top').val()) + ori_top; |
81 | let left = $('.field_left').val(); | 90 | let left = $('.field_left').val(); |
82 | let font = $('.field_font_size').val(); | 91 | let font = $('.field_font_size').val(); |
83 | let content_size = 12 + parseInt(font); | 92 | let content_size = 12 + parseInt(font); |
84 | let title_size = 14 + parseInt(font); | 93 | let title_size = 14 + parseInt(font); |
94 | + let text_color = $('.text_color').val() || 'whitesmoke'; | ||
95 | + let text_bg_color = $('.text_bg_color').val() || '#5c6bc6'; | ||
96 | + let opacity = parseInt($('.opacity').val()) / 100; | ||
85 | 97 | ||
86 | - $('.poem-block').css('top', top + 'px').css('left', left + 'px'); | 98 | + $('.poem-block').css('top', top + 'px').css('left', left + 'px') |
87 | - $('.poem-title').css('font-size', title_size + 'px'); | 99 | + .css('background-color', text_bg_color).css('opacity', opacity); |
88 | - $('.poem-content').css('font-size', content_size + 'px'); | 100 | + $('.poem-title').css('font-size', title_size + 'px').css('color', text_color); |
101 | + $('.poem-content').css('font-size', content_size + 'px').css('color', text_color); | ||
89 | 102 | ||
90 | - console.log(top) | 103 | + |
91 | - console.log(left) | 104 | + let bg_img_url = $('.bg_img_url').find("input[type='hidden'][name='bg_url']").val(); |
92 | - console.log(font) | 105 | + if (bg_img_url !== '') { |
106 | + $('.bg_img').attr('src', asset + '/' + bg_img_url).css('display', 'block'); | ||
107 | + } | ||
108 | + | ||
109 | + let bg_video_url = $('.bg_video_url').find("input[type='hidden'][name='bg_url']").val(); | ||
110 | + if (bg_video_url !== ''){ | ||
111 | + $('#bg_video').attr('src', asset + '/' + bg_video_url).css('display', 'block'); | ||
112 | + let bg_video = document.getElementById('bg_video'); | ||
113 | + bg_video.autoplay = true; | ||
114 | + bg_video.loop = true; | ||
115 | + } | ||
116 | + | ||
117 | + let bgm_url = $('.bgm_url').find("input[type='hidden'][name='bgm_url']").val(); | ||
118 | + if (bgm_url !== ''){ | ||
119 | + $('#bg_audio').attr('src', asset + '/' + bgm_url); | ||
120 | + let bg_audio = document.getElementById('bg_audio'); | ||
121 | + bg_audio.autoplay = true; | ||
122 | + bg_audio.loop = true; | ||
123 | + } | ||
93 | }) | 124 | }) |
94 | 125 | ||
95 | }) | 126 | }) | ... | ... |
-
Please register or login to post a comment