api.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <?php
  2. /*
  3. |--------------------------------------------------------------------------
  4. | API Routes
  5. |--------------------------------------------------------------------------
  6. |
  7. | Here is where you can register API routes for your application. These
  8. | routes are loaded by the RouteServiceProvider within a group which
  9. | is assigned the "api" middleware group. Enjoy building your API!
  10. |
  11. */
  12. $api = app('Dingo\Api\Routing\Router');
  13. $api->version('v1', ['namespace' => 'App\Http\Controllers\V1'], function ($api) {
  14. /*
  15. |--------------------------------------------------------------
  16. | 不需要token验证的接口
  17. |--------------------------------------------------------------
  18. */
  19. $api->group([
  20. 'middleware' => ['throttle:120'], //代表1分钟内接口最高请求次数,超出返回 429: Too Many Attempts
  21. ], function ($api) {
  22. $api->post('sms/send', 'SmsController@send'); //发送手机验证码
  23. $api->post('email/send', 'SmsController@sendEmailCode'); //发送邮箱验证码
  24. $api->post('attachment/upload', 'AttachmentController@upload'); //上传附件
  25. $api->post('attachment/delete', 'AttachmentController@delete'); //删除附件
  26. $api->get('privacy', 'IndexController@privacyPolice'); //隐私政策
  27. $api->get('agreement', 'IndexController@userAgreement'); //用户协议
  28. });
  29. $api->group(['prefix' => 'auth'], function ($api) {
  30. $api->post('login', 'AuthController@login'); //账号密码登录
  31. $api->post('register', 'AuthController@register'); //注册
  32. $api->post('auth_login', 'AuthController@authLogin'); //APP第三方授权登录(微信)
  33. $api->post('decrypt_phone', 'AuthController@decryptPhone'); //微信小程序获取手机号
  34. $api->post('h5_oauth', 'AuthController@h5Oauth'); //H5授权登录
  35. $api->post('mini_program', 'AuthController@miniProgram'); //微信小程序登录(微信)
  36. $api->get('mini_code', 'AuthController@miniCode'); //获取微信小程序 code
  37. $api->post('bytedance', 'AuthController@bytedance'); //获取字节跳动小程序 code
  38. $api->post('kuaishou', 'AuthController@kuaishou'); //获取快手小程序 code
  39. $api->post('wechat', 'AuthController@wechat'); //获取微信小程序 code
  40. });
  41. $api->group(['prefix' => 'index'], function ($api) {
  42. $api->get('all_region', 'IndexController@allRegion'); //全国省市区
  43. $api->get('helps', 'IndexController@helpList'); //帮助类型
  44. $api->get('answer', 'IndexController@answer'); //问题答案
  45. });
  46. $api->any('test', 'TestController@index'); //test api
  47. /*
  48. |--------------------------------------------------------------
  49. | 需要 token 验证的接口 'middleware' => ['api.auth'] 读取的 config/api.php 'auth' => ['jwt' => 'Dingo\Api\Auth\Provider\JWT'], 所以 在 Kernel.php 找不到这个中间件
  50. |--------------------------------------------------------------
  51. */
  52. $api->group([
  53. 'middleware' => ['api.auth', 'throttle:120'],
  54. ], function ($api) {
  55. /* @var Dingo\Api\Routing\Router $api*/
  56. $api->post('auth/logout', 'AuthController@logout'); //退出登录
  57. $api->post('auth/forget_password', 'AuthController@forgetPassword'); //忘记密码
  58. $api->group(['prefix' => 'user'], function($api){
  59. /* @var Dingo\Api\Routing\Router $api*/
  60. $api->post('h5_bind', 'UserController@h5Bind'); //H5绑定
  61. $api->post('h5_rebind', 'UserController@h5Rebind'); //H5解绑
  62. $api->post('mini_program_bind', 'UserController@miniProgramBind'); //微信小程序绑定
  63. $api->post('mini_program_rebind', 'UserController@miniProgramReBind'); //微信小程序解绑
  64. $api->post('sms_bind', 'UserController@smsBind'); //手机号绑定
  65. $api->post('sms_rebind', 'UserController@smsReBind'); //手机号解绑
  66. $api->get('group_by_initial', 'UserController@groupByInitial'); //用户列表按照首字母分组排序,类似手机通讯录
  67. $api->post('feedback', 'UserController@feedback'); //问题反馈
  68. $api->get('info', 'UserController@info'); //用户信息
  69. $api->get('parent', 'UserController@parent'); //用户信息
  70. $api->post('update', 'UserController@update'); //更新用户信息
  71. $api->post('{id}/bind', 'UserController@bind'); //绑定上级
  72. $api->group(['namespace' => 'User'], function ($api){
  73. /* @var Dingo\Api\Routing\Router $api*/
  74. // 观看记录相关
  75. $api->group(['prefix' => 'watch'], function ($api){
  76. /* @var Dingo\Api\Routing\Router $api*/
  77. $api->get('record', 'WatchRecordsController@lists');
  78. $api->post('{id}/destroy', 'WatchRecordsController@destroy');
  79. $api->get('recent', 'WatchRecordsController@recent');
  80. $api->post('episode', 'WatchRecordsController@watched');
  81. });
  82. // 消费相关
  83. $api->group(['prefix' => 'consume'], function ($api){
  84. /* @var Dingo\Api\Routing\Router $api*/
  85. $api->get('record', 'ConsumeController@record');
  86. });
  87. // 充值相关
  88. $api->group(['prefix' => 'recharge'], function ($api){
  89. /* @var Dingo\Api\Routing\Router $api*/
  90. $api->get('record', 'RechargeController@record');
  91. $api->post('create/order', 'RechargeController@createOrder');
  92. });
  93. // VIP相关
  94. $api->group(['prefix' => 'vip'], function ($api){
  95. /* @var Dingo\Api\Routing\Router $api*/
  96. $api->get('setting', 'VipController@setting');
  97. $api->get('last', 'VipController@last');
  98. $api->post('create/order', 'VipController@createOrder');
  99. });
  100. // 收藏相关
  101. $api->group(['prefix' => 'collect'], function ($api){
  102. /* @var Dingo\Api\Routing\Router $api*/
  103. $api->get('record', 'CollectController@record');
  104. $api->post('{id}/check', 'CollectController@check');
  105. $api->post('{id}/add', 'CollectController@add');
  106. $api->post('{id}/destroy', 'CollectController@destroy');
  107. });
  108. // 喜欢相关
  109. $api->group(['prefix' => 'favorite'], function ($api){
  110. /* @var Dingo\Api\Routing\Router $api*/
  111. $api->post('{id}/check', 'FavoriteController@check');
  112. $api->post('{id}/add', 'FavoriteController@add');
  113. $api->post('{id}/destroy', 'FavoriteController@destroy');
  114. });
  115. // 签到相关
  116. $api->group(['prefix' => 'sign'], function ($api){
  117. /* @var Dingo\Api\Routing\Router $api*/
  118. $api->get('setting', 'SignController@setting');
  119. $api->post('handle', 'SignController@handle');
  120. });
  121. // 用户剧集
  122. $api->group(['prefix' => 'episode'], function ($api){
  123. /* @var Dingo\Api\Routing\Router $api*/
  124. $api->get('buy/{episode}/record', 'EpisodeController@buyRecord');
  125. $api->post('{episode}/{list}/buy', 'EpisodeController@buy');
  126. });
  127. });
  128. });
  129. // 相关设置
  130. $api->group(['prefix' => 'setting'],function ($api){
  131. /* @var Dingo\Api\Routing\Router $api*/
  132. $api->get('tabBar', 'SettingController@tabBar'); // 底部导航
  133. $api->get('navBar', 'SettingController@navBar'); // 首页顶部分类
  134. $api->get('banner', 'SettingController@banner'); // banner
  135. $api->get('homeColumn', 'SettingController@homeColumn'); // homeColumn
  136. $api->get('rechargeCombo', 'SettingController@rechargeCombo'); // 充值
  137. $api->get('config', 'SettingController@config'); // 相关设置
  138. });
  139. // 相关设置
  140. $api->group(['prefix' => 'setting'],function ($api){
  141. /* @var Dingo\Api\Routing\Router $api*/
  142. $api->get('tabBar', 'SettingController@tabBar'); // 底部导航
  143. $api->get('navBar', 'SettingController@navBar'); // 首页顶部分类
  144. $api->get('banner', 'SettingController@banner'); // banner
  145. $api->get('homeColumn', 'SettingController@homeColumn'); // homeColumn
  146. $api->get('rechargeCombo', 'SettingController@rechargeCombo'); // 充值
  147. });
  148. // 分销
  149. $api->group(['namespace' => 'Share', 'prefix' => 'share'],function ($api){
  150. /* @var Dingo\Api\Routing\Router $api*/
  151. $api->get('order/lists', 'OrderController@lists'); // 分销订单
  152. $api->get('team/lists', 'TeamController@lists'); // 分销订单
  153. $api->get('withdraw/lists', 'WithdrawController@lists'); // 分销订单
  154. $api->post('withdraw/create', 'WithdrawController@create'); // 分销订单
  155. $api->get('income', 'ShareController@income'); // 分销明细
  156. $api->get('tips', 'ShareController@tips'); // 用户需知
  157. $api->get('setting', 'ShareController@setting'); // 设置
  158. $api->post('generate/qrcode', 'ShareController@generateQrcode'); // 生成二维码
  159. });
  160. // 短剧
  161. $api->group(['prefix' => 'episode'],function ($api){
  162. /* @var Dingo\Api\Routing\Router $api*/
  163. $api->get('recommend', 'EpisodeController@recommend'); // 推荐
  164. $api->get('today/recommend', 'EpisodeController@todayRecommend'); // 今日推荐
  165. $api->get('news', 'EpisodeController@news'); // 最新
  166. $api->get('rank', 'EpisodeController@rank'); // 排行
  167. $api->get('trace', 'EpisodeController@trace'); // 追剧
  168. $api->get('list', 'EpisodeController@list'); // 列表
  169. $api->get('search', 'EpisodeController@search'); // 搜索
  170. $api->get('vip/free', 'EpisodeController@vipFree'); // banner
  171. $api->get('{id}/detail', 'EpisodeController@detail'); // 详情
  172. $api->get('/list/{listId}/buyNum', 'EpisodeController@listBuyNum'); // 详情
  173. });
  174. });
  175. $api->get('pay/{pay_id}/query', 'PayController@query'); //字节跳动支付
  176. $api->any('pay/bytedance/notify', 'PayNoticeController@bytedance'); //字节跳动支付回调
  177. $api->any('pay/bytedance/settle', 'PayNoticeController@bytedanceSettle'); //字节跳动结算回调
  178. $api->any('pay/kuaishou/notify', 'PayNoticeController@kuaishou'); //快手支付回调
  179. $api->any('pay/kuaishou/settle', 'PayNoticeController@kuaishouSettle'); //快手结算回调
  180. $api->any('pay/wechat/notify', 'PayNoticeController@wechat'); //微信支付回调
  181. });