Api.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace Heanup\App\Api\Controller\Novel;
  3. use Heanup\App\Api\Controller;
  4. use Heanup\Library\Book;
  5. class Api extends Controller
  6. {
  7. protected function main()
  8. {
  9. $do = $this->getRequest()->string("do", "index");
  10. $keyword = $this->getRequest()->string("keyword");
  11. $book_id = $this->getRequest()->intval("book_id");
  12. $chapter_id = $this->getRequest()->intval("chapter_id");
  13. $page = $this->getRequest()->intval("page", 1);
  14. $result = "[]";
  15. if ($do == "index") {
  16. $result = Book::getInstance()->getIndexData();
  17. $result = json_decode($result, true);
  18. $result = $result['data'];
  19. }
  20. if ($do == "search") {
  21. $result = Book::getInstance()->search($keyword);
  22. $result = json_decode($result, true);
  23. $response = [];
  24. foreach ($result['data'] as $item) {
  25. $response[] = [
  26. 'id' => $item['Id'],
  27. 'img' => $item['Img'],//Book::getInstance()->getImageUrl($item['Img']),
  28. 'name' => $item['Name'],
  29. 'author' => $item['Author'],
  30. 'introduce' => $item['Desc']
  31. ];
  32. }
  33. $result = $response;
  34. }
  35. if ($do == "detail") {
  36. $result = Book::getInstance()->getBookDetail($book_id);
  37. $result = json_decode(trim($result), true);
  38. $result = $result['data'];
  39. $response=[];
  40. $response['id']=$result['Id'];
  41. $response['name']=$result['Name'];
  42. $response['author']=$result['Author'];
  43. $response['sort']=$result['CName'];
  44. $response['state']=$result['BookStatus'];
  45. $response['time']=$result['LastTime'];
  46. $response['img']=Book::getInstance()->getImageUrl($result['Img']);
  47. $response['intro']=$result['Desc'];
  48. $response['news']=$result['LastChapter'];
  49. $chapter=Book::getInstance()->getChapter($book_id);
  50. $chapter=json_decode($chapter,true);
  51. $_chapter=[];
  52. foreach ($chapter['data']['list'] as $item) {
  53. foreach ($item['list'] as $val) {
  54. $_chapter[]=$val;
  55. }
  56. }
  57. $response=[
  58. 'data'=>$response,
  59. 'list'=>$_chapter
  60. ];
  61. $result = $response;
  62. }
  63. if ($do == "list") {
  64. $chapter=Book::getInstance()->getChapter($book_id);
  65. $chapter=json_decode($chapter,true);
  66. $_chapter=[];
  67. foreach ($chapter['data']['list'] as $item) {
  68. foreach ($item['list'] as $key=>$val) {
  69. $_chapter[]=[
  70. 'index'=>$key,
  71. 'id'=>$val['id'],
  72. 'name'=>$val['name']
  73. ];
  74. }
  75. }
  76. $result = $_chapter;
  77. }
  78. if ($do == "content") {
  79. $result = Book::getInstance()->getContent($book_id, $chapter_id);
  80. $result = json_decode($result, true);
  81. $result = nl2br($result['data']['content']);
  82. }
  83. $this->showSuccess($result);
  84. }
  85. }