api.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522
  1. <?php
  2. use Illuminate\Http\Request;
  3. use Illuminate\Support\Facades\Route;
  4. /*
  5. |--------------------------------------------------------------------------
  6. | API Routes
  7. |--------------------------------------------------------------------------
  8. |
  9. | Here is where you can register API routes for your application. These
  10. | routes are loaded by the RouteServiceProvider within a group which
  11. | is assigned the "api" middleware group. Enjoy building your API!
  12. |
  13. */
  14. $api = app('Dingo\Api\Routing\Router');
  15. $api->version('v1', ['namespace' => 'App\Http\Controllers\V1'], function ($api) {
  16. $api->group(['middleware' => ['api.throttle', 'switch_lang']], function ($api) {
  17. //语言切换
  18. $api->any('/changeLocale', 'HomeController@language');
  19. });
  20. //测试数据接口
  21. $api->group(['prefix' => 'test'], function ($api) {
  22. //创建 球员比赛成绩
  23. $api->any('create_holes', 'TestController@createHoles');
  24. //创建 球员比赛成绩
  25. $api->any('create_game_user_scores', 'TestController@createGameUserScores');
  26. //创建比赛,添加球员,生成比赛分数
  27. $api->any('create_game_all_data', 'TestController@createGameAllData');
  28. //同步比赛人数
  29. $api->any('add_members', 'TestController@addMembers');
  30. //清空测试数据
  31. $api->any('clear_table', 'TestController@clearTable');
  32. //测试
  33. $api->any('index', 'TestController@index');
  34. });
  35. //不需要登录的接口
  36. $api->group([
  37. 'middleware' => ['api.throttle', 'switch_lang', 'lang'],
  38. 'limit' => config('api.rate_limits.access.limit'),
  39. 'expires' => config('api.rate_limits.access.expires')
  40. ], function ($api) {
  41. //手机验证码
  42. $api->any('send_sms_code', ['uses' => 'SmsController@send']);
  43. //邮箱验证码
  44. $api->any('send_email_code', ['uses' => 'SmsController@sendEmailCode']);
  45. //国际区号手机前缀
  46. $api->any('user/mobile_prefix', 'UserController@mobilePrefix')->name('user.mobile_prefix');
  47. //系统头像库
  48. $api->any('user/system_avatar', 'UserController@systemAvatar')->name('user.system_avatar');
  49. //获取第一用户信息
  50. $api->any('test/get_first_user_info', 'TestController@getFirstUserInfo');
  51. /**
  52. * 注册和登录
  53. */
  54. $api->group(['prefix' => 'auth'], function ($api) {
  55. //手机(注册/登录)
  56. $api->any('enter_by_mobile', 'AuthController@interByMobile');
  57. //邮箱(注册/登录)
  58. $api->any('enter_by_email', 'AuthController@interByEmail');
  59. //账号登录(手机号/邮箱 + 密码)create_group
  60. $api->any('login', 'AuthController@login');
  61. //退出
  62. $api->any('logout', 'AuthController@logout');
  63. //三方登录跳转
  64. $api->any('auth_redirect', 'AuthController@authRedirect');
  65. //三方登录验证
  66. $api->any('auth_login', 'AuthController@authLogin');
  67. //facebook 登录
  68. $api->any('facebook_login', 'AuthController@facebookLogin');
  69. //苹果 登录
  70. $api->any('apple_login', 'AuthController@appleLogin');
  71. //短信验证码登录
  72. $api->any('login_by_code', 'AuthController@loginByCode');
  73. //忘记密码
  74. $api->any('forget_password', 'AuthController@forgetPassword');
  75. });
  76. /*
  77. |--------------------------------------------------------------
  78. | 文档接口
  79. |--------------------------------------------------------------
  80. */
  81. $api->group(['prefix' => 'home'], function ($api) {
  82. $api->any('document', 'HomeController@document')->name('home.document');
  83. });
  84. /*
  85. |--------------------------------------------------------------
  86. | 获取oss上传配置
  87. |--------------------------------------------------------------
  88. */
  89. $api->group(['prefix' => 'upload-config'], function ($api) {
  90. $api->any('/config', 'UploadConfigController@config')->name('upload.config');
  91. });
  92. $api->group(['prefix' => 'team'], function ($api) {
  93. //球队详情
  94. $api->any('detail', ['uses' => 'TeamController@detail']);
  95. //获取球队相册
  96. $api->any('get_photos', ['uses' => 'TeamController@getPhotos']);
  97. });
  98. $api->group(['prefix' => 'game'], function ($api) {
  99. //比赛信息 todayGames
  100. $api->any('info', 'GameController@info');
  101. //球洞信息
  102. $api->any('holes', 'GameController@holes');
  103. //正在进行的比赛球员成绩
  104. $api->any('ongoing_game_scores', 'GameController@ongoingGameScores')->name('user.ongoing_game_scores');
  105. });
  106. /*
  107. |--------------------------------------------------------------
  108. | 公共相关
  109. |--------------------------------------------------------------
  110. */
  111. $api->group(['prefix' => 'home'], function ($api) {
  112. //用户详情
  113. $api->any('user_detail', 'HomeController@userDetail')->name('home.user_detail');
  114. //用户动态
  115. $api->any('user_feeds', 'HomeController@userFeeds')->name('home.user_feeds');
  116. $api->any('share_info', 'HomeController@shareInfo')->name('home.share_info');
  117. });
  118. $api->group(['prefix' => 'feeds'], function ($api) {
  119. //动态详情
  120. $api->any('detail', 'FeedsController@detail')->name('feeds.detail');
  121. //动态列表
  122. $api->any('list', 'FeedsController@feedList')->name('feeds.list');
  123. });
  124. });
  125. //需要 token 验证的接口
  126. $api->group([
  127. 'middleware' => ['api.auth', 'switch_lang', 'lang'],
  128. 'limit' => config('api.rate_limits.access.limit'),
  129. 'expires' => config('api.rate_limits.access.expires')], function ($api) {
  130. /*
  131. |--------------------------------------------------------------
  132. | 积分商品
  133. |--------------------------------------------------------------
  134. */
  135. $api->group(['prefix' => 'goods'], function ($api) {
  136. $api->any('list', 'GoodsController@getList'); //商品列表
  137. $api->any('category', 'GoodsController@category'); //商品类型
  138. $api->any('detail', 'GoodsController@detail'); //商品详情
  139. });
  140. /*
  141. |--------------------------------------------------------------
  142. | 积分订单
  143. |--------------------------------------------------------------
  144. */
  145. $api->group(['prefix' => 'order'], function ($api) {
  146. //商品列表
  147. $api->any('submit', 'OrderController@submit'); //确认提交
  148. $api->any('order_list', 'OrderController@orderList'); //订单列表
  149. $api->any('delay', 'OrderController@delay'); //取消订单
  150. $api->any('confirm', 'OrderController@confirm'); //确认收货
  151. $api->any('order_detail', 'OrderController@orderDetail'); //订单详情
  152. $api->any('change_address', 'OrderController@changeAddress'); //修改收货地址
  153. });
  154. /*
  155. |--------------------------------------------------------------
  156. | 用户地址
  157. |--------------------------------------------------------------
  158. */
  159. $api->group(['prefix' => 'address'], function ($api) {
  160. $api->any('add', 'AddressController@add'); //添加地址
  161. $api->any('mine', 'AddressController@mine'); //我的地址
  162. $api->any('info', 'AddressController@info'); //地址信息
  163. $api->any('set_default', 'AddressController@setDefault'); //设置默认地址
  164. $api->any('del_address', 'AddressController@delAddress'); //删除地址
  165. });
  166. /*
  167. |--------------------------------------------------------------
  168. | 球队相关
  169. |--------------------------------------------------------------
  170. */
  171. $api->group(['prefix' => 'team'], function ($api) {
  172. //创建球队
  173. $api->any('create', ['uses' => 'TeamController@store']);
  174. //更新球队
  175. $api->any('update/{id}', ['uses' => 'TeamController@update']);
  176. //修改背景图
  177. $api->any('background', ['uses' => 'TeamController@background']);
  178. //添加球员
  179. $api->any('add_member', ['uses' => 'TeamController@addMember']);
  180. //球队成员
  181. $api->any('members', ['uses' => 'TeamController@members']);
  182. //我的球队
  183. $api->any('my_teams', ['uses' => 'TeamController@myTeams']);
  184. //退出球队
  185. $api->any('exit_team', ['uses' => 'TeamController@exitTeam']);
  186. //删除队员
  187. $api->any('del_member', ['uses' => 'TeamController@delMember']);
  188. //搜索队员
  189. $api->any('search_member', ['uses' => 'TeamController@searchMember']);
  190. //搜索球队
  191. $api->any('search_teams', ['uses' => 'TeamController@searchTeams']);
  192. //申请加入球队
  193. $api->any('apply_join', ['uses' => 'TeamController@applyJoin']);
  194. //邀请加入球队
  195. $api->any('invite_join', ['uses' => 'TeamController@inviteJoin']);
  196. //同意/拒绝 加入
  197. $api->any('join', ['uses' => 'TeamController@join']);
  198. //解散球队
  199. $api->any('dismiss', ['uses' => 'TeamController@dismiss']);
  200. //发布公告
  201. $api->any('publish_notice', ['uses' => 'TeamController@publishNotice']);
  202. //获取公告
  203. $api->any('get_notice', ['uses' => 'TeamController@getNotice']);
  204. //相册上传
  205. $api->any('publish_photo', ['uses' => 'TeamController@publishPhotos']);
  206. //删除球队相册
  207. $api->any('del_photo', ['uses' => 'TeamController@delPhoto']);
  208. //球队比赛
  209. $api->any('games', ['uses' => 'TeamController@games']);
  210. });
  211. /*
  212. |--------------------------------------------------------------
  213. | 比赛活动
  214. |--------------------------------------------------------------
  215. */
  216. $api->group(['prefix' => 'game'], function ($api) {
  217. //创建比赛
  218. $api->any('create', 'GameController@store');
  219. //修改比赛场地
  220. $api->any('change_course', 'GameController@changeCourse');
  221. //比赛规模
  222. $api->any('game_types', 'GameController@gameTypes');
  223. //修改比赛
  224. $api->any('update/{id}', 'GameController@update');
  225. //今日赛事
  226. $api->any('today_games', 'GameController@todayGames');
  227. //我的活动
  228. $api->any('my_games', 'GameController@myGames');
  229. //历史球员
  230. $api->any('history_players', 'GameController@historyPlayers');
  231. //搜索球友
  232. $api->any('search_players', 'GameController@searchPlayers');
  233. //拉入比赛
  234. $api->any('pull_game', 'GameController@pullGame');
  235. //批量添加球员
  236. $api->any('batch_add_players', 'GameController@batchAddPlayers');
  237. //结束比赛
  238. $api->any('end_game', 'GameController@endGame');
  239. //设置比赛
  240. $api->any('set_game_auth', 'GameController@setGameAuth');
  241. //取消比赛
  242. $api->any('cancel', 'GameController@cancel');
  243. //启动比赛
  244. $api->any('begin', 'GameController@begin');
  245. //删除球员
  246. $api->any('del_player', 'GameController@delPlayer');
  247. //未开始的比赛
  248. $api->any('not_begin', 'GameController@notBegin');
  249. //正在进行
  250. $api->any('underway', 'GameController@underway');
  251. //球洞信息
  252. //$api->any('holes', 'GameController@holes');
  253. //设置分数
  254. $api->any('set_score', 'GameController@setScore');
  255. //指定球洞多人分数
  256. $api->any('hole_scores', 'GameController@holeScores');
  257. //设置Tee 台
  258. $api->any('tee', 'GameController@tee');
  259. //报名比赛
  260. $api->any('entered_for', 'GameController@enteredFor');
  261. //退出比赛
  262. $api->any('quit_game', 'GameController@quitGame');
  263. //已提交的报名
  264. $api->any('had_submit', 'GameController@hadSubmit');
  265. //审核比赛报名
  266. $api->any('auth_entered', 'GameController@authEntered');
  267. //围观比赛
  268. $api->any('look_game', 'GameController@lookGame');
  269. //比赛围观者
  270. $api->any('onlookers', 'GameController@onlookers');
  271. //删除围观者
  272. $api->any('del_looker', 'GameController@delLooker');
  273. //比赛码邀请
  274. $api->any('invite_by_game_code', 'GameController@inviteByGameCode');
  275. //围观或加入比赛
  276. $api->any('join_or_refuse', 'GameController@joinOrRefuse');
  277. //软件内好友
  278. $api->any('soft_friends', 'GameController@softFriends');
  279. //添加虚拟球手
  280. $api->any('add_fictitious', 'GameController@addFictitious');
  281. //精彩时刻
  282. $api->any('wonderful_moment', 'GameController@wonderfulMoment');
  283. //修改人数限制
  284. $api->any('change_scale_limit', 'GameController@changeScaleLimit');
  285. //添加虚拟球手
  286. $api->any('add_fictitious', 'GameController@addFictitious');
  287. //本场比赛全部球员
  288. $api->any('get_game_users', 'GameController@getGameUsers');
  289. //指定球员成绩榜
  290. $api->any('show_score', 'GameController@showScore');
  291. //全部球员成绩榜(指定比赛)
  292. $api->any('all_player_scores', 'GameController@allPlayerScores');
  293. ///历史打球记录
  294. $api->any('history_games', 'GameController@historyGames');
  295. //球员指定比赛的成绩
  296. $api->any('game_score', 'GameController@gameScore');
  297. //打过的球场
  298. $api->any('history_courses', 'GameController@historyCourses');
  299. //球场比赛统计
  300. $api->any('course_games', 'GameController@courseGames');
  301. //月份最佳总杆列表
  302. $api->any('month_best_par', 'GameController@monthBestPar');
  303. //历史最佳总杆
  304. $api->any('history_best_par', 'GameController@historyBestPar');
  305. //判断用户是否已加入比赛(比赛添加好友时)
  306. $api->any('is_had_join', 'GameController@isHadJoin');
  307. //检查当前比赛球员是否正参加其他比赛
  308. $api->any('check_game', 'GameController@checkGame');
  309. //邀请加入比赛(发送通知消息)
  310. $api->any('invite_join_game', 'GameController@inviteJoinGame');
  311. });
  312. /*
  313. |--------------------------------------------------------------
  314. | 球场相关
  315. |--------------------------------------------------------------
  316. */
  317. $api->group(['prefix' => 'course'], function ($api) {
  318. //添加球场会员
  319. $api->any('add_course_user', 'CourseController@addCourseUser')->name('course.add_course_user');
  320. //球场会员列表
  321. $api->any('user_courses', 'CourseController@userCourses')->name('course.user_courses');
  322. //球场列表
  323. $api->any('course_list', 'CourseController@courseList')->name('course.list');
  324. //附近球场
  325. $api->any('nearby', 'CourseController@nearby')->name('course.nearby');
  326. //设置会员主场
  327. $api->any('set_main_course', 'CourseController@setMainCourse');
  328. //场地
  329. $api->any('get_course_fields', 'CourseController@getCourseFields');
  330. });
  331. /*
  332. |--------------------------------------------------------------
  333. | 个人中心
  334. |--------------------------------------------------------------
  335. */
  336. $api->group(['prefix' => 'user'], function ($api) {
  337. //用户信息
  338. $api->any('userinfo', 'UserController@userinfo')->name('user.userinfo');
  339. //修改手机号
  340. $api->any('update_mobile', 'UserController@updateMobile')->name('user.update_mobile');
  341. //修改密码
  342. $api->any('update_password', 'UserController@updatePassword')->name('user.update_password');
  343. //修改背景图
  344. $api->any('background', 'UserController@background')->name('user.background');
  345. //绑定或解绑 手机
  346. $api->any('bind_mobile', 'UserController@bindMobile')->name('user.bind_mobile');
  347. //绑定或解绑 邮箱
  348. $api->any('bind_email', 'UserController@bindEmail')->name('user.bindEmail');
  349. //绑定或解绑 微信
  350. $api->any('bind_wx', 'UserController@bindWx')->name('user.bind_wx');
  351. //绑定或解绑 Facebook
  352. $api->any('bind_facebook', 'UserController@bindFacebook')->name('user.bind_facebook');
  353. //绑定或解绑 Apple
  354. $api->any('bind_apple', 'UserController@bindApple')->name('user.bind_apple');
  355. //加入移除 黑名单
  356. $api->any('black', 'UserController@black')->name('user.black');
  357. //黑名单列表
  358. $api->any('black_list', 'UserController@blackList')->name('user.black_list');
  359. //我关注的
  360. $api->any('my_like_users', 'UserController@myLikeUsers')->name('user.my_like_users');
  361. //我的粉丝
  362. $api->any('my_fans', 'UserController@myFans')->name('user.my_fans');
  363. //关注或取消关注
  364. $api->any('follow', 'UserController@follow')->name('user.follow');
  365. //我的好友
  366. $api->any('my_friends', 'UserController@myFriends')->name('user.my_friends');
  367. //加删好友
  368. $api->any('handle_friend', 'UserController@handleFriend')->name('user.handle_friend');
  369. //修改个人资料
  370. $api->any('update_user_info/{id}', 'UserController@updateUserInfo')->name('user.update_user_info');
  371. //账号认证
  372. $api->any('identify', 'UserController@identify')->name('user.identify');
  373. //账号认证状态
  374. $api->any('identify_status', 'UserController@identifyStatus')->name('user.identify_status');
  375. //问题反馈
  376. $api->any('feedback', 'UserController@feedback')->name('user.feedback');
  377. //注销账号
  378. $api->any('del_account', 'UserController@delAccount')->name('user.del_account');
  379. //提示音选择
  380. $api->any('jpush_voice', 'UserController@chooseJpushVoice');
  381. //用户积分记录
  382. $api->any('integral', 'UserController@integral');
  383. });
  384. /*
  385. |--------------------------------------------------------------
  386. | 动态相关
  387. |--------------------------------------------------------------
  388. */
  389. $api->group(['prefix' => 'feeds'], function ($api) {
  390. //发布动态
  391. $api->any('release', 'FeedsController@release')->name('feeds.release');
  392. //动态详情
  393. //$api->any('detail', 'FeedsController@detail')->name('feeds.detail');
  394. //动态点赞
  395. $api->any('like', 'FeedsController@like')->name('feeds.like');
  396. //动态删除
  397. $api->any('del', 'FeedsController@del')->name('feeds.del');
  398. //动态评论
  399. $api->any('comment', 'FeedsController@comment')->name('feeds.comment');
  400. //动态评论/回复
  401. $api->any('commentReply', 'FeedsController@commentReply')->name('feeds.commentReply');
  402. //动态举报
  403. $api->any('report', 'FeedsController@report')->name('feeds.report');
  404. //我的动态
  405. $api->any('my_feeds', 'FeedsController@myFeeds')->name('feeds.my_feeds');
  406. //转发 好友列表
  407. $api->any('get_friends', 'FeedsController@getFriends')->name('feeds.get_friends');
  408. //动态转发
  409. $api->any('feeds_forward', 'FeedsController@feedsForward')->name('feeds.feeds_forward');
  410. });
  411. /*
  412. |--------------------------------------------------------------
  413. | 消息相关
  414. |--------------------------------------------------------------
  415. */
  416. $api->group(['prefix' => 'message'], function ($api) {
  417. //消息列表未读数量
  418. $api->any('index', 'MessageController@index')->name('message.index');
  419. //获取我的通知列表
  420. $api->any('get_my_list', 'MessageController@getMyList')->name('message.get_my_list');
  421. //获取我的通知详细
  422. $api->any('get_my_list_detail', 'MessageController@getMyListDetail')->name('message.get_my_list_detail');
  423. //获取点赞消息列表
  424. $api->any('get_like_list', 'MessageController@getLikeList')->name('message.get_like_list');
  425. //获取评论/回复列表
  426. $api->any('get_comment_list', 'MessageController@getCommentList')->name('message.get_comment_list');
  427. //聊天举报
  428. $api->any('report', 'MessageController@report')->name('message.report');
  429. });
  430. /*
  431. |--------------------------------------------------------------
  432. | 好友相关
  433. |--------------------------------------------------------------
  434. */
  435. $api->group(['prefix' => 'friend'], function ($api) {
  436. //好友列表
  437. $api->any('friends_list', 'FriendController@friendsList')->name('message.friends_list');
  438. //搜索用户
  439. $api->any('search_user', 'FriendController@searchUser')->name('message.search_user');
  440. //申请添加好友
  441. $api->any('apply_friend', 'FriendController@applyFriend')->name('message.apply_friend');
  442. //好友操作 拉黑、删除、取消拉黑
  443. $api->any('friend_action', 'FriendController@friendAction')->name('message.friend_action');
  444. //好友通过
  445. $api->any('friend_pass', 'FriendController@friendPass')->name('message.friend_pass');
  446. });
  447. /*
  448. |--------------------------------------------------------------
  449. | 群聊相关
  450. |--------------------------------------------------------------
  451. */
  452. $api->group(['prefix' => 'chat_team'], function ($api) {
  453. //创建群聊
  454. $api->any('create_group', 'ChatTeamController@createGroup')->name('message.create_group');
  455. //获取用户群聊列表
  456. $api->any('get_user_group', 'ChatTeamController@getUserGroup')->name('message.get_user_group');
  457. //获取群聊详细信息
  458. $api->any('get_group_info', 'ChatTeamController@getGroupInfo')->name('message.get_group_info');
  459. //修改群聊名称
  460. $api->any('update_group_name', 'ChatTeamController@updateGroupName')->name('message.update_group_name');
  461. //退出群聊 (成员)
  462. $api->any('quit_group', 'ChatTeamController@quitGroup')->name('message.quit_group');
  463. //添加群成员
  464. $api->any('add_group_users', 'ChatTeamController@addGroupUsers')->name('message.add_group_users');
  465. //删除群成员
  466. $api->any('del_group_users', 'ChatTeamController@delGroupUsers')->name('message.del_group_users');
  467. //群主转让
  468. $api->any('change_group_owner', 'ChatTeamController@changeGroupOwner')->name('message.change_group_owner');
  469. //解散群
  470. $api->any('destroy_group', 'ChatTeamController@destroyGroup')->name('message.destroy_group');
  471. });
  472. });
  473. //语言切换
  474. $api->any('/changeLocale', 'HomeController@language');
  475. //腾讯IM操作回调
  476. $api->any('/tencent_notify', 'TencentController@notify')->name('notify');
  477. // 通用配置
  478. $api->any('base/config', ['as' => 'base.config', 'uses' => 'BaseConfigController@index',]);
  479. // 上传附件
  480. $api->any('attachment/upload', ['as' => 'attachment.upload', 'uses' => 'AttachmentController@upload',]);
  481. // 删除附件
  482. $api->any('attachment/delete/{md5}', ['as' => 'attachment.delete', 'uses' => 'AttachmentController@delete',]);
  483. //上传头像
  484. $api->any('auth/avatar', ['as' => 'auth.avatar', 'uses' => 'AuthController@avatar',]);
  485. // test
  486. $api->any('test', ['as' => 'test', 'uses' => 'TestController@index',]);
  487. });