AnimeController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Http\Controllers\Anime;
  3. use App\Transformer\Anime\AnimeTransformer;
  4. use App\Facade\Site;
  5. use App\Consts\ErrorConst;
  6. use App\Exceptions\ApiException;
  7. use App\Libs\ApiResponse;
  8. use App\Libs\Utils;
  9. use App\Services\AIGeneration\AIImageGenerationService;
  10. use App\Services\AIGeneration\AIVideoGenerationService;
  11. use App\Services\Anime\AnimeService;
  12. use Illuminate\Http\Request;
  13. use Illuminate\Routing\Controller as BaseController;
  14. use Illuminate\Support\Facades\DB;
  15. use Illuminate\Support\Facades\Redis;
  16. use Illuminate\Support\Facades\Validator;
  17. class AnimeController extends BaseController
  18. {
  19. use ApiResponse;
  20. protected $AnimeService;
  21. protected $AIImageGenerationService;
  22. protected $AIVideoGenerationService;
  23. public function __construct(
  24. AnimeService $AnimeService,
  25. AIImageGenerationService $AIImageGenerationService,
  26. AIVideoGenerationService $AIVideoGenerationService
  27. ) {
  28. $this->AnimeService = $AnimeService;
  29. $this->AIImageGenerationService = $AIImageGenerationService;
  30. $this->AIVideoGenerationService = $AIVideoGenerationService;
  31. }
  32. // 批量生成主体图片
  33. public function batchSetRoleImg(Request $request) {
  34. // 忽略所有超时限制
  35. set_time_limit(0);
  36. ini_set('max_execution_time', '0');
  37. $data = $request->all();
  38. $result = $this->AnimeService->batchSetRoleImg($data);
  39. return $this->success($result);
  40. }
  41. // 批量生成场景图片
  42. public function batchSetSceneImg(Request $request) {
  43. // 忽略所有超时限制
  44. set_time_limit(0);
  45. ini_set('max_execution_time', '0');
  46. $data = $request->all();
  47. $result = $this->AnimeService->batchSetSceneImg($data);
  48. return $this->success($result);
  49. }
  50. // 编辑动漫
  51. public function editAnime(Request $request) {
  52. $data = $request->all();
  53. $result = $this->AnimeService->editAnime($data);
  54. return $this->success(['success'=>$result ? 1 : 0]);
  55. }
  56. // 动漫详情
  57. public function animeDetail(Request $request) {
  58. $data = $request->all();
  59. $result = $this->AnimeService->animeDetail($data);
  60. return $this->success($result);
  61. }
  62. // public function scriptList(Request $request) {
  63. // $data = $request->all();
  64. // $result = $this->AnimeService->scriptList($data);
  65. // return $this->success($result, [new AnimeTransformer(), 'newBuildScriptList']);
  66. // }
  67. }