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');
 | 
						||
    }
 | 
						||
}
 |