Version.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. /**
  5. * 示例接口
  6. */
  7. class Version extends Base
  8. {
  9. //如果$noNeedLogin为空表示所有接口都需要登录才能请求
  10. //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
  11. //如果接口已经设置无需登录,那也就无需鉴权了
  12. //
  13. // 无需登录的接口,*表示全部
  14. protected $noNeedLogin = ['getVersion','getLatestVersion'];
  15. // 无需鉴权的接口,*表示全部
  16. protected $noNeedRight = ['*'];
  17. public function getVersion()
  18. {
  19. $this->success('返回成功', $this->request->param());
  20. }
  21. /**
  22. * 获取指定平台的最新版本
  23. * @ApiTitle (获取最新版本信息)
  24. * @ApiSummary (根据请求头platform参数返回最新版本)
  25. * @ApiMethod (GET)
  26. * @ApiHeader (name="platform", type="string", required=true, description="平台标识,如android/ios/h5等")
  27. */
  28. public function getLatestVersion()
  29. {
  30. $platform = $this->request->header('platform', '');
  31. if (!$platform) {
  32. $this->error('缺少platform参数');
  33. }
  34. $version = \think\Db::name('version')
  35. ->where('platform', $platform)
  36. ->where('status', 'normal')
  37. ->order('weigh desc, id desc')
  38. ->find();
  39. if (!$version) {
  40. $this->success('获取成功', null);
  41. }
  42. $this->success('获取成功', $version);
  43. }
  44. }