Configvalue.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. use think\Config;
  5. class Configvalue extends Model
  6. {
  7. // 开启自动写入时间戳字段
  8. protected $autoWriteTimestamp = 'int';
  9. // 定义时间戳字段名
  10. protected $createTime = 'createtime';
  11. protected $updateTime = 'updatetime';
  12. // 定义字段类型
  13. protected $type = [
  14. 'content' => 'json',
  15. ];
  16. /**
  17. * 加载上传配置
  18. *
  19. * @param string $savekey 保存路径 例:/{year}/{mon}/{day}/{filemd5}{.suffix}
  20. * @param mixed $mimetype 上传类型 例:image/*,application/zip
  21. * @param int $maxsize 上传文件大小 例:10mb
  22. *
  23. * @return array
  24. */
  25. public static function upload($savekey = '', $mimetype = '', $maxsize = '')
  26. {
  27. $uploadcfg = Config::get('upload');
  28. $uploadcfg = $uploadcfg ? $uploadcfg : [];
  29. $bucket = isset($uploadcfg['bucket']) ? $uploadcfg['bucket'] : '';
  30. $savekey = $savekey ? $savekey : (isset($uploadcfg['savekey']) ? $uploadcfg['savekey'] : '');
  31. $expiration = time() + (isset($uploadcfg['expire']) ? $uploadcfg['expire'] : 0);
  32. $options = [
  33. 'bucket' => $bucket,
  34. 'save-key' => $savekey,
  35. 'expiration' => $expiration
  36. ];
  37. $policy = base64_encode(json_encode($options));
  38. $signature = md5($policy . '&' . (isset($uploadcfg['formkey']) ? $uploadcfg['formkey'] : ''));
  39. return [
  40. 'cdnurl' => isset($uploadcfg['cdnurl']) ? $uploadcfg['cdnurl'] : '',
  41. 'uploadurl' => isset($uploadcfg['uploadurl']) ? $uploadcfg['uploadurl'] : url('ajax/upload'),
  42. 'bucket' => isset($uploadcfg['bucket']) ? $uploadcfg['bucket'] : '',
  43. 'maxsize' => $maxsize ? $maxsize : (isset($uploadcfg['maxsize']) ? $uploadcfg['maxsize'] : ''),
  44. 'mimetype' => $mimetype ? $mimetype : (isset($uploadcfg['mimetype']) ? $uploadcfg['mimetype'] : ''),
  45. 'policy' => $policy,
  46. 'signature' => $signature,
  47. ];
  48. }
  49. }