ArticleController.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Services\Common\ArticleService;
  4. /**
  5. * 文章
  6. * Class ArticleController
  7. * @package App\Http\Controllers\Admin
  8. */
  9. class ArticleController extends Backend
  10. {
  11. /**
  12. * 构造函数
  13. * @author laravel开发员
  14. * @since 2020/11/11
  15. * ArticleController constructor.
  16. */
  17. public function __construct()
  18. {
  19. parent::__construct();
  20. $this->service = new ArticleService();
  21. }
  22. /**
  23. * 列表
  24. * @return array
  25. */
  26. public function index()
  27. {
  28. $pageSize = request()->get('limit', 15);
  29. $list = $this->service->getDataList(request()->all(), $pageSize);
  30. $message = array(
  31. "msg" => '操作成功',
  32. "code" => 0,
  33. "data" => isset($list['list']) ? $list['list'] : [],
  34. "count" => isset($list['total']) ? $list['total'] : 0,
  35. );
  36. return $message;
  37. }
  38. /**
  39. * 列表
  40. * @return \Illuminate\Http\JsonResponse
  41. */
  42. public function import()
  43. {
  44. $data = request()->input('data');
  45. $result = $this->service->importArticles($data);
  46. return response()->json($result);
  47. }
  48. /**
  49. * 导入复习资料
  50. * @return \Illuminate\Http\JsonResponse
  51. */
  52. public function importReviewMaterials()
  53. {
  54. $data = request()->all();
  55. $result = $this->service->importReviewMaterials($data);
  56. return response()->json($result);
  57. }
  58. /**
  59. * 解析Word文档内容
  60. * @return \Illuminate\Http\JsonResponse
  61. */
  62. public function parseWord()
  63. {
  64. $url = request()->input('url');
  65. $fileName = request()->input('fileName');
  66. if (!$url) {
  67. return response()->json(['code' => 1, 'msg' => '文档URL不能为空']);
  68. }
  69. try {
  70. // 这里可以集成Word文档解析库,如PhpOffice\PhpWord
  71. // 暂时返回模拟的解析结果
  72. $content = $this->service->parseWordDocument($url, $fileName);
  73. return response()->json([
  74. 'code' => 0,
  75. 'msg' => '解析成功',
  76. 'data' => [
  77. 'content' => $content
  78. ]
  79. ]);
  80. } catch (\Exception $e) {
  81. return response()->json([
  82. 'code' => 1,
  83. 'msg' => '解析失败: ' . $e->getMessage()
  84. ]);
  85. }
  86. }
  87. }