MiniprogramController.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Modules\Manage\Http\Controllers;
  3. use Illuminate\Routing\Controller;
  4. use Illuminate\Http\Request;
  5. use Modules\Manage\Enmus\MiniprogramType;
  6. use Modules\Manage\Http\Requests\MiniprogramRequest;
  7. use Modules\Manage\Models\Miniprogram;
  8. use Log;
  9. class MiniprogramController extends Controller
  10. {
  11. public function __construct(protected readonly Miniprogram $miniprogram)
  12. {
  13. }
  14. public function index(Request $request)
  15. {
  16. return $this->miniprogram->paginate(20)->map(function($item,$k){
  17. $item->type_name = MiniprogramType::from($item->type)->name();
  18. return $item;
  19. });
  20. }
  21. public function store(MiniprogramRequest $request)
  22. {
  23. $validate_result = $request->validated();
  24. $validate_result['remark'] = $request->post('remark','') ?? '';
  25. return $this->miniprogram->create($validate_result)->toArray();
  26. }
  27. public function show($id)
  28. {
  29. return $this->miniprogram->find($id)->toArray();
  30. }
  31. public function update($id, MiniprogramRequest $request)
  32. {
  33. $validate_result = $request->validated();
  34. if($request->post('remark','')){
  35. $validate_result['remark'] = $request->post('remark','');
  36. }
  37. $this->miniprogram->where('id',$id)->update($validate_result);
  38. return [];
  39. }
  40. public function destroy($id)
  41. {
  42. }
  43. public function typeList(){
  44. $type_list = MiniprogramType::cases();
  45. $data = array_map( fn($item)=>['name'=>$item->name(),'value'=>$item->value()],$type_list );
  46. return $data;
  47. }
  48. }