112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | ||
| 
 | ||
| namespace app\widget\manager;
 | ||
| 
 | ||
| use Exception;
 | ||
| use think\facade\View;
 | ||
| 
 | ||
| class Upload
 | ||
| {
 | ||
|     //视频
 | ||
|     public function video($src = '', $append = '')
 | ||
|     {
 | ||
|         $data = [
 | ||
|             'src'    => $src,
 | ||
|             'append' => $append
 | ||
|         ];
 | ||
|         return View::assign($data)->fetch('manager/widget/video');
 | ||
|     }
 | ||
| 
 | ||
|     //图片(layui自带上传控件),若同一页面内徐亚加载多层本上传控件则需要传不同的$append来区分控件ID
 | ||
|     public function image($src = '', $append = '', $imgSize = 0, $thumb = 0, $fullName = '')
 | ||
|     {
 | ||
|         $data = [
 | ||
|             'src'       => $src,
 | ||
|             'append'    => !empty($append) ? $fullName : '',//预防只传了fullName
 | ||
|             'imgSize'   => $imgSize,
 | ||
|             'fieldName' => $fullName ?: 'img'.$append,//最终后端接收数据的name
 | ||
|             'thumb'     => $thumb,
 | ||
|         ];
 | ||
|         return View::assign($data)->fetch('manager/widget/image');
 | ||
|     }
 | ||
| 
 | ||
|     //上传文件,目前在文章中添加附件
 | ||
|     public function files($files = [], $num = 10, $append = '')
 | ||
|     {
 | ||
|         if (!empty($files) && $files == 'null') {
 | ||
|             $files = [];
 | ||
|         }
 | ||
|         $data = [
 | ||
|             'files'  => $files,
 | ||
|             'append' => $append,
 | ||
|             'num'    => $num,
 | ||
|         ];
 | ||
|         return View::assign($data)->fetch('manager/widget/files');
 | ||
|     }
 | ||
| 
 | ||
|     /**
 | ||
|      * 水印图片上传
 | ||
|      * milo
 | ||
|      * 2018-01-13
 | ||
|      */
 | ||
|     public function mark($src = '')
 | ||
|     {
 | ||
|         return View::assign(['src' => $src])->fetch('manager/widget/mark');
 | ||
|     }
 | ||
| 
 | ||
|     /**
 | ||
|      * layui组图上传
 | ||
|      * milo
 | ||
|      */
 | ||
|     public function multi_bak($imgs = [], $num = 10, $append = '', $imgSize = '')
 | ||
|     {
 | ||
|         if (!empty($imgs) && $imgs == 'null') {
 | ||
|             $imgs = [];
 | ||
|         }
 | ||
|         $data = [
 | ||
|             'imgs'    => $imgs,
 | ||
|             'append'  => $append,
 | ||
|             'imgSize' => $imgSize,
 | ||
|             'num'     => $num
 | ||
|         ];
 | ||
|         return View::assign($data)->fetch('manager/widget/multi_bak');
 | ||
|     }
 | ||
| 
 | ||
|     /**
 | ||
|      * @param  array  $imgs  需要展示的图片列表
 | ||
|      * @param  int  $num  最大数量
 | ||
|      * @param  string  $append  追加名称,用于多组图片时区别名称 当$fullName存在时不生效
 | ||
|      * @param  string  $imgSize  图片建议尺寸
 | ||
|      * @param  string  $fullName  组图name 传递到后台程序的名字 如image  后台则收到image的数组
 | ||
|      * @param  array|bool  $fields  图片额外树形字段,默认有alt link desc time 若此处设置后将替换默认值。为false则不填写 格式如下
 | ||
|      *                          ['alt' => 'alt', 'desc' => '描述,选填', 'link' => '链接,选填']
 | ||
|      * @return string
 | ||
|      * @throws Exception
 | ||
|      */
 | ||
|     public function multi(array $imgs = [], int $num = 10, string $append = 'img', string $imgSize = '', string $fullName = '', $fields = []): string
 | ||
|     {
 | ||
|         if (!empty($imgs) && $imgs == 'null') {
 | ||
|             $imgs = [];
 | ||
|         }
 | ||
| 
 | ||
|         if (empty($fields)) {
 | ||
|             $fields = $fields === false ? [] : [
 | ||
|                 'alt'  => 'alt',
 | ||
|                 'desc' => '描述',
 | ||
|                 'link' => '链接,选填',
 | ||
|                 'time' => '日期,选填',
 | ||
|             ];
 | ||
|         }
 | ||
| 
 | ||
|         $data = [
 | ||
|             'imgs'      => $imgs,
 | ||
|             'append'    => $append ?: $fullName,//预防只传了fullName
 | ||
|             'imgSize'   => $imgSize,
 | ||
|             'fields'    => $fields,
 | ||
|             'fieldName' => $fullName ?: 'img'.$append,//最终后端接收数据的name
 | ||
|             'num'       => $num
 | ||
|         ];
 | ||
|         return View::assign($data)->fetch('manager/widget/multi');
 | ||
|     }
 | ||
| }
 |