You've already forked lubo_comment_query
							
							补充亿点内容,顺便立Flag
This commit is contained in:
		
							
								
								
									
										13
									
								
								app/Http/Controllers/DanmakuQueryController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								app/Http/Controllers/DanmakuQueryController.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use Illuminate\Routing\Controller as BaseController; | ||||
| 
 | ||||
| class DanmakuQueryController extends BaseController | ||||
| { | ||||
|     public function index() | ||||
|     { | ||||
|         return view("under_construct"); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										19
									
								
								app/Http/Controllers/ProgramQueryController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								app/Http/Controllers/ProgramQueryController.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Http\Controllers; | ||||
| 
 | ||||
| use App\Models\Programs; | ||||
| use App\Models\Tags; | ||||
| use Illuminate\Routing\Controller as BaseController; | ||||
| 
 | ||||
| class ProgramQueryController extends BaseController | ||||
| { | ||||
|     public function index() { | ||||
|         $keyword = request()->get("keyword", ""); | ||||
|         $programs = Programs::query()->with(["appends", "tags", "video_pivots.video"])->limit(15)->orderByDesc("created_at")->get(); | ||||
|         return view("program", [ | ||||
|             "keyword" => $keyword, | ||||
|             "programs"=>$programs, | ||||
|         ]); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										10
									
								
								app/Models/ProgramAppends.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app/Models/ProgramAppends.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| 
 | ||||
| class ProgramAppends extends Model | ||||
| { | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										18
									
								
								app/Models/ProgramTags.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								app/Models/ProgramTags.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| 
 | ||||
| class ProgramTags extends Model | ||||
| { | ||||
|     public function tag(): \Illuminate\Database\Eloquent\Relations\BelongsTo | ||||
|     { | ||||
|         return $this->belongsTo(Tags::class, "tag_id", "id"); | ||||
|     } | ||||
| 
 | ||||
|     public function program(): \Illuminate\Database\Eloquent\Relations\BelongsTo | ||||
|     { | ||||
|         return $this->belongsTo(Programs::class, "program_id", "id"); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										27
									
								
								app/Models/ProgramVideos.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								app/Models/ProgramVideos.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Casts\Attribute; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| use Illuminate\Support\Carbon; | ||||
| 
 | ||||
| class ProgramVideos extends Model | ||||
| { | ||||
|     public function program(): \Illuminate\Database\Eloquent\Relations\BelongsTo | ||||
|     { | ||||
|         return $this->belongsTo(Programs::class, "program_id", "id"); | ||||
|     } | ||||
| 
 | ||||
|     public function video(): \Illuminate\Database\Eloquent\Relations\BelongsTo | ||||
|     { | ||||
|         return $this->belongsTo(Videos::class, "video_bvid", "bvid"); | ||||
|     } | ||||
| 
 | ||||
|     public function startSec(): Attribute | ||||
|     { | ||||
|         return Attribute::get(function ($_, $attributes) { | ||||
|             return Carbon::createFromFormat("H:i:s", $attributes['start_time'])->secondsSinceMidnight(); | ||||
|         }); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										28
									
								
								app/Models/Programs.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								app/Models/Programs.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| 
 | ||||
| class Programs extends Model | ||||
| { | ||||
|     public function appends(): \Illuminate\Database\Eloquent\Relations\HasMany | ||||
|     { | ||||
|         return $this->hasMany(ProgramAppends::class, "program_id", "id")->orderByDesc("is_original"); | ||||
|     } | ||||
| 
 | ||||
|     public function tags(): \Illuminate\Database\Eloquent\Relations\HasManyThrough | ||||
|     { | ||||
|         return $this->hasManyThrough(Tags::class, ProgramTags::class, "program_id", "id", "id", "tag_id"); | ||||
|     } | ||||
| 
 | ||||
|     public function video_pivots(): \Illuminate\Database\Eloquent\Relations\HasMany | ||||
|     { | ||||
|         return $this->hasMany(ProgramVideos::class, "program_id", "id"); | ||||
|     } | ||||
| 
 | ||||
|     public function videos(): \Illuminate\Database\Eloquent\Relations\HasManyThrough | ||||
|     { | ||||
|         return $this->hasManyThrough(Videos::class, ProgramVideos::class, "program_id", "bvid", "id", "video_bvid"); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										13
									
								
								app/Models/Tags.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								app/Models/Tags.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace App\Models; | ||||
| 
 | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| 
 | ||||
| class Tags extends Model | ||||
| { | ||||
|     public function programs(): \Illuminate\Database\Eloquent\Relations\HasManyThrough | ||||
|     { | ||||
|         return $this->hasManyThrough(Programs::class, ProgramTags::class, "tag_id", "id", "id", "program_id"); | ||||
|     } | ||||
| } | ||||
| @@ -10,4 +10,9 @@ class Videos extends Model | ||||
|     { | ||||
|         return $this->hasMany(VideoComments::class, "aid", "id"); | ||||
|     } | ||||
| 
 | ||||
|     public function programs(): \Illuminate\Database\Eloquent\Relations\HasManyThrough | ||||
|     { | ||||
|         return $this->hasManyThrough(Programs::class, ProgramVideos::class, "video_bvid", "bvid", "id", "program_id"); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,4 +1,10 @@ | ||||
| <div> | ||||
|     <h1>非专业人士,制作不易,请大家多多谅解</h1> | ||||
|     <p>有任何意见或建议可以直接联系我</p> | ||||
|     <div>有任何意见或建议可以直接联系我</div> | ||||
|     <div> | ||||
|         导航: | ||||
|         <a href="/">节目单查询</a> | ||||
|         <a href="/programs" style="color: gray" title="数据不全,待补充">节目查询</a> | ||||
|         <a href="/danmakus" style="color: white" title="待建设">直播弹幕查询</a> | ||||
|     </div> | ||||
| </div> | ||||
|   | ||||
| @@ -24,8 +24,8 @@ | ||||
|         <tr> | ||||
|             <td>{{$comment->video->title}}</td> | ||||
|             <td style="white-space: pre-wrap;">{{$comment->content}}</td> | ||||
|             <td><a href="https://space.bilibili.com/{{$comment->mid}}">B站主页</a></td> | ||||
|             <td><a href="https://www.bilibili.com/video/{{$comment->video->bvid}}">{{$comment->video->bvid}}</a></td> | ||||
|             <td><a target="_blank" href="https://space.bilibili.com/{{$comment->mid}}">B站主页</a></td> | ||||
|             <td><a target="_blank" href="https://www.bilibili.com/video/{{$comment->video->bvid}}">{{$comment->video->bvid}}</a></td> | ||||
|         </tr> | ||||
|         @endforeach | ||||
|         </tbody> | ||||
|   | ||||
							
								
								
									
										80
									
								
								resources/views/program.blade.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								resources/views/program.blade.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| <html lang="zh"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <title>录播节目查询</title> | ||||
| </head> | ||||
| <body> | ||||
|     @include("header") | ||||
|     <h3>搜索功能待开放,数据待补充完整</h3> | ||||
|     <!--<form action=""> | ||||
|         <label for="keyword">查找节目关键词,空格隔开查找多个关键词</label> | ||||
|         <input type="text" name="keyword" id="keyword" value="{{$keyword}}"> | ||||
|         <input type="submit"> | ||||
|     </form>--> | ||||
|     <table border> | ||||
|         <thead> | ||||
|         <tr> | ||||
|             <td>节目名称</td> | ||||
|             <td>节目标签</td> | ||||
|             <td>点播及追加</td> | ||||
|             <td>视频地址及位置</td> | ||||
|         </tr> | ||||
|         </thead> | ||||
|         <tbody> | ||||
|         @foreach($programs as $program) | ||||
|         <tr> | ||||
|             <td>{{$program->name}}</td> | ||||
|             <td> | ||||
|                 @foreach($program->tags as $tag) | ||||
|                     <div title="{{$tag->comment}}">{{$tag->name}}</div> | ||||
|                 @endforeach | ||||
|             </td> | ||||
|             <td> | ||||
|                 @foreach($program->appends as $append) | ||||
|                     @if($append->is_original) | ||||
|                         <div> | ||||
|                             @if($append->from_mid) | ||||
|                                 <a target="_blank" href="https://space.bilibili.com/{{$append->from_mid}}">{{$append->from}}</a> | ||||
|                             @else | ||||
|                                 {{$append->from}} | ||||
|                             @endif | ||||
|                             老板点播 | ||||
|                             <span title="一分10块">{{$append->price}}分</span> | ||||
|                             @if($append->append) | ||||
|                                 <span>({{$append->append}})</span> | ||||
|                             @endif | ||||
|                         </div> | ||||
|                     @else | ||||
|                         <div> | ||||
|                             @if($append->from_mid) | ||||
|                                 <a target="_blank" href="https://space.bilibili.com/{{$append->from_mid}}">{{$append->from}}</a> | ||||
|                             @else | ||||
|                                 {{$append->from}} | ||||
|                             @endif | ||||
|                             老板追加:{{$append->name}} | ||||
|                             <span title="一分10块">{{$append->price}}分</span> | ||||
|                             @if($append->append) | ||||
|                                 <span>({{$append->append}})</span> | ||||
|                             @endif | ||||
|                         </div> | ||||
|                     @endif | ||||
|                 @endforeach | ||||
|             </td> | ||||
|             <td> | ||||
|                 @foreach($program->video_pivots as $video_pivot) | ||||
|                     <a | ||||
|                         target="_blank" | ||||
|                         href="https://www.bilibili.com/video/{{$video_pivot->video_bvid}}?p={{$video_pivot->start_part}}&t={{$video_pivot->start_sec}}" | ||||
|                         title="P{{$video_pivot->start_part}}#{{$video_pivot->start_time}}" | ||||
|                     > | ||||
|                         节目开始位置 | ||||
|                     </a> | ||||
|                 @endforeach | ||||
|             </td> | ||||
|         </tr> | ||||
|         @endforeach | ||||
|         </tbody> | ||||
|     </table> | ||||
| @include("footer") | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										11
									
								
								resources/views/under_construct.blade.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								resources/views/under_construct.blade.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| <html lang="zh"> | ||||
| <head> | ||||
|     <meta charset="UTF-8"> | ||||
|     <title>正在建设中</title> | ||||
| </head> | ||||
| <body> | ||||
|     @include("header") | ||||
|     <h1>正在建设中</h1> | ||||
|     @include("footer") | ||||
| </body> | ||||
| </html> | ||||
| @@ -14,3 +14,5 @@ use Illuminate\Support\Facades\Route; | ||||
| */ | ||||
| 
 | ||||
| Route::get('/', "\\App\\Http\\Controllers\\CommentQueryController@index"); | ||||
| Route::get('/programs', "\\App\\Http\\Controllers\\ProgramQueryController@index"); | ||||
| Route::get('/danmakus', "\\App\\Http\\Controllers\\DanmakuQueryController@index"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user