Course.php 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. namespace Content\V1;
  3. use Dever;
  4. use Content\Lib\Base;
  5. class Course extends Base
  6. {
  7. /**
  8. * @api {get} v1/course.list 听课列表
  9. * @apiVersion 1.0.0
  10. * @apiName course.list
  11. * @apiGroup Data
  12. *
  13. * @apiDescription 小程序的听课列表接口
  14. *
  15. * @apiParam {Number} appid 小程序id
  16. *
  17. * @apiSuccess {Object[]} info 小程序基本信息
  18. * @apiSuccess {Number} info.id 小程序id
  19. * @apiSuccess {String} info.name 小程序名称
  20. * @apiSuccess {Number} info.cate_id 小程序所属栏目id
  21. * @apiSuccess {String} info.logo 小程序logo
  22. * @apiSuccess {String} info.title 首页标题
  23. * @apiSuccess {String} info.pic 首页头图
  24. *
  25. * @apiSuccess {Object[]} course 听课信息
  26. * @apiSuccess {Number} course.id 听课id
  27. * @apiSuccess {String} course.name 听课标题
  28. * @apiSuccess {String} course.content 听课内容
  29. * @apiSuccess {String} course.num_view 阅读数
  30. * @apiSuccess {String} course.video 视频地址
  31. * @apiSuccess {String} course.audio 音频地址
  32. * @apiSuccess {String} course.cdate 时间
  33. *
  34. * @apiSuccess {Object[]} course.author 作者信息
  35. * @apiSuccess {Number} course.author.id 作者id
  36. * @apiSuccess {String} course.author.name 作者姓名
  37. * @apiSuccess {String} course.author.pic 作者头像
  38. *
  39. * @apiSuccessExample 操作成功
  40. * {"status":1,"code":1,"msg":"success","data":{"info":{"id":"1","name":"\u7279\u8272\u5c0f\u9547\u600e\u4e48\u641e","cate_id":"1","logo":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/1e493a87d4cdddde7fd06ad9762694d2.jpg","title":"test","pic":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/da31b5d54d15192fea10406f77f4b0cb.jpg","state":"1","cdate":"1521858466"},"course":[{"id":"1","name":"\u662f\u662f\u662f","pic":["http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/da31b5d54d15192fea10406f77f4b0cb.jpg"],"top":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/da31b5d54d15192fea10406f77f4b0cb.jpg","info_id":"1","author_id":"1","content":"<p>23132323<\/p>","num_view":"2","cdate":"1\u5206\u949f\u524d","author":{"id":"1","name":"\u7a0b\u8302","pic":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/1e493a87d4cdddde7fd06ad9762694d2.jpg","state":"1","cdate":"1521858481"}}]},"page":{"total":"1","current_page":1,"total_page":1,"next_page":1,"prev_page":1,"html":"","status":0}}
  41. *
  42. * @apiErrorExample 操作失败
  43. * {"status":2,"code":1,"msg":"\u9519\u8bef\u7684\u5c0f\u7a0b\u5e8fid"}
  44. */
  45. public function list_api()
  46. {
  47. $course = Dever::load('content/course-getAll', array('option_info_id' => $this->data['info']['id']));
  48. if ($course) {
  49. foreach ($course as $k => $v) {
  50. $this->data['course'][$k] = $this->one($v);
  51. }
  52. }
  53. return $this->data;
  54. }
  55. /**
  56. * @api {get} v1/course.view 课程详情
  57. * @apiVersion 1.0.0
  58. * @apiName course.view
  59. * @apiGroup Data
  60. *
  61. * @apiDescription 小程序的课程详情接口
  62. *
  63. * @apiParam {Number} appid 小程序id
  64. * @apiParam {Number} id 课程id
  65. *
  66. * @apiSuccess {Object[]} info 小程序基本信息
  67. * @apiSuccess {Number} info.id 小程序id
  68. * @apiSuccess {String} info.name 小程序名称
  69. * @apiSuccess {Number} info.cate_id 小程序所属栏目id
  70. * @apiSuccess {String} info.logo 小程序logo
  71. * @apiSuccess {String} info.title 首页标题
  72. * @apiSuccess {String} info.pic 首页头图
  73. *
  74. * @apiSuccess {Object[]} course 听课信息
  75. * @apiSuccess {Number} course.id 听课id
  76. * @apiSuccess {String} course.name 听课标题
  77. * @apiSuccess {String} course.content 听课内容
  78. * @apiSuccess {String} course.num_view 阅读数
  79. * @apiSuccess {String} course.video 视频地址
  80. * @apiSuccess {String} course.audio 音频地址
  81. * @apiSuccess {String} course.cdate 时间
  82. *
  83. * @apiSuccess {Object[]} course.author 作者信息
  84. * @apiSuccess {Number} course.author.id 作者id
  85. * @apiSuccess {String} course.author.name 作者姓名
  86. * @apiSuccess {String} course.author.pic 作者头像
  87. *
  88. * @apiSuccessExample 操作成功
  89. * {"status":1,"code":1,"msg":"success","data":{"info":{"id":"1","name":"\u7279\u8272\u5c0f\u9547\u600e\u4e48\u641e","cate_id":"1","logo":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/1e493a87d4cdddde7fd06ad9762694d2.jpg","title":"test","pic":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/da31b5d54d15192fea10406f77f4b0cb.jpg","state":"1","cdate":"1521858466"},"course":{"id":"1","name":"\u662f\u662f\u662f","info_id":"1","author_id":"1","video":"123123","audio":"3232","num_add_view":"0","num_up":"0","num_view":"1","num_review":"0","pic":["http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/da31b5d54d15192fea10406f77f4b0cb.jpg"],"top":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/da31b5d54d15192fea10406f77f4b0cb.jpg","content":"<p>23132323<\/p>","reorder":"1","state":"1","cdate":"42\u79d2\u524d","author":{"id":"1","name":"\u7a0b\u8302","pic":"http:\/\/192.168.33.10\/plant\/data\/upload\/1\/2018\/03\/24\/1e493a87d4cdddde7fd06ad9762694d2.jpg","state":"1","cdate":"1521858481"}}}}
  90. *
  91. * @apiErrorExample 操作失败
  92. * {"status":2,"code":1,"msg":"\u9519\u8bef\u7684\u5c0f\u7a0b\u5e8fid"}
  93. */
  94. public function view_api()
  95. {
  96. $id = Dever::input('id');
  97. if ($id > 0) {
  98. $news = Dever::load('content/course-one', $id);
  99. if ($news) {
  100. $this->data['course'] = $this->one($news);
  101. # 增加阅读量
  102. Dever::load('content/course-addView', $id);
  103. } else {
  104. Dever::alert('错误的课程id');
  105. }
  106. } else {
  107. Dever::alert('错误的课程id');
  108. }
  109. return $this->data;
  110. }
  111. }