Modules_Manage_Controllers_UploadController.proxy.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. /**
  3. * 上传图片/视频相关
  4. * @author x.b
  5. */
  6. declare (strict_types=1);
  7. namespace Modules\Manage\Controllers;
  8. use App\Model\ConfigModel;
  9. use Hyperf\Validation\Contract\ValidatorFactoryInterface;
  10. class UploadController extends BaseController
  11. {
  12. use \Hyperf\Di\Aop\ProxyTrait;
  13. use \Hyperf\Di\Aop\PropertyHandlerTrait;
  14. function __construct()
  15. {
  16. if (method_exists(parent::class, '__construct')) {
  17. parent::__construct(...func_get_args());
  18. }
  19. $this->__handlePropertyHandler(__CLASS__);
  20. }
  21. /**
  22. * 获取上传接口的域
  23. * @return mixed
  24. * @param nothing
  25. */
  26. public function getDomain()
  27. {
  28. $skey = 'upload_url';
  29. $select = ['svalue AS url'];
  30. $result = ConfigModel::query()->select($select)->where('skey', $skey)->first();
  31. if (!$result) {
  32. $result = ['url' => ''];
  33. }
  34. return json_success($result);
  35. }
  36. /**
  37. * 开始上传图片和视频-备注
  38. * 1.
  39. 注意事项:
  40. 1. 先从获取上传域名地址接口: /manage/api/upload/get_domain 即 self::getDomain();
  41. 成功请求后, 返回:
  42. ```
  43. {
  44. "code": 200,
  45. "message": "操作成功",
  46. "data": {
  47. "url": "http://192.168.1.186:8101/upload"
  48. },
  49. "handshake": ""
  50. }
  51. `` `拿到 url 地址, 然后 在去请求 图片上传接口:
  52. 2. 请求图片上传实例,则是
  53. http://192.168.1.186:8101/upload?dir=icon&platform=I&timestamp=1571992843&sign=BF02
  54. 请求成功后,会回返 上传成功后的加密图片地址, 在把那地址 原样 给传参给其它接口,进行图片上传 和 视频上传
  55. */
  56. }