# evan-uni-upload
**Repository Path**: evan-uniapp-extend/evan-uni-upload
## Basic Information
- **Project Name**: evan-uni-upload
- **Description**: 图片视频上传组件
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 8
- **Forks**: 1
- **Created**: 2021-09-14
- **Last Updated**: 2025-08-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 关于图片视频上传插件组件
**如果项目没有使用uView ui框架的同学就不要下载了!!!**
**如果项目没有使用uView ui框架的同学就不要下载了!!!**
**如果项目没有使用uView ui框架的同学就不要下载了!!!**
***
##### **1.基于uView ui 1.0 实现的图片和视频上传组件(使用了某些提示组件)**;
##### 2.感谢:https://ext.dcloud.net.cn/plugin?id=694;
### 使用说明
拷贝该组件到 components 目录下之后 在 script 中引用组件
```javascript
import evanUpload from "@/components/evan-upload/evan-upload.vue";
export default {
components: {'evan-upload' :evanUpload },
};
```
在 template 中使用组件:
```html
```
### 组件参数说明
|参数名称|说明|类型|默认值|
|:--:|:--:|:--:|:--:|
|color|主题颜色|String|#ddb880|
|radius|圆角值|Number|6|
|cancelColor|取消视频上传按钮文本颜色|String|#ddb880|
|cancelText|取消视频上传按钮文本|String|取消上传|
|selectImageText|选择图片的提示文本|String|选择图片|
|selectVideoText|选择视频的提示文本|String|选择视频|
|fileSuffix|文件的扩展名字段,用于( loadAllPreview)
手动初始化默认的数据时候的判断类型图片或视频。|String|'fileType'|
|autoChangeOptions|是否自动切换数据配置,用于独立配置的情况,
说明:如果独立使用组件,且单独配置上传地
址的情况下,如 v-if 显示图片选择 或者 视频
选择的情况下需要手动调用 `fnChangeOptions()`|Boolean|true|
|options|通用上传配置|Object|{
url:"",
name:"",
header:{},
formData:{}
}
|
|imageOptions|图片上传配置,覆盖`options`|Object|{
url:"",
name:"",
header:{},
formData:{}
}|
|videoOptions|视频上传配置,覆盖`options`|Object|{
url:"",
name:"",
header:{},
formData:{}
}|
|format|通用的数据格式化|Function|null|
|imgFormat|图片数据格式化,覆盖`format`(用于数据响应和初始化)|Function|null|
|videoFormat|视频数据格式化,覆盖`format`(用于数据响应和初始化)|Function|null|
|disabled|是否禁用上传功能|Boolean|false|
|usePreview|是否启用预览功能|Boolean|true|
|useImage|是否启用图片上传功能|Boolean|true|
|useVideo|是否启用视频上传功能|Boolean|true|
|imgExtension|图片过滤,根据图片扩展名过滤,只能选择数组中包含的扩展名图片|Array|['jpg', 'jpeg', 'png']|
|imgCoverKey|图片预览时候的键(内部预览)|String|"thumbnail"|
|imgLimit|图片上传最大的数量|Number|9|
|imgSizeLimit|单张图片大小限制|Number|2048kb|
|imgSizeType|图片压缩配置,默认原图和压缩|Array|['original', 'compressed']|
|imgSourceType|图片来源,默认相册和相机|Array|['album', 'camera']|
|videoCoverKey|视频封面的键(通过后端响应返回)|String|"thumbnail"|
|videoLimit|视频上传最大的数量|Number|1|
|videoSizeLimit|单个视频大小限制|Number|102400kb|
|useVideoCompressed|是否启用视频压缩|Boolean|true|
|videoSourceType|视频来源,默认相册和相机|Array|['album', 'camera']|
|defaultImageOrVideoList|初始化默认的图片或者视频数据|Array|[ ] |
|defaultImageList|初始化默认的图片数据|Array|[ ]|
|defaultVideoList|初始化默认的视频数据|Array|[ ]|
|showOverLimitTip|是否显示超出上传大小限制的图片|Boolean|true|
|useOverLimitTipModal|是否使用弹窗形式显示超出上传大小限制的图片|Boolean|false|
### 内部事件
|参数名称|说明|
|:--:|:--|
|fnChangeOptions|通过ref调用,手动切换配置项(使用vif来显示隐藏组件的情况下,默认只能配置第一个显示的,因此需要手动执行切换)|
|loadAllPreview|通过ref调用,手动初始化加载默认的视频和图片数据|
|loadImagePreview|通过ref调用,手动初始化加载默认的图片数据|
|loadVideoPreview|通过ref调用,手动初始化加载默认的视频数据|
|clear|通过ref调用,手动清空组件内部所有数据|
### 回调事件
|参数名称|说明|
|:--:|:--|
|@on-over-list|返回超出限制的图片或者视频列表,返回格式如下:
{
images:[ ],
videos:[ ]
}|
|@on-upload|返回图片或者视频上传完成的回调,格式如下:
{
type: "" , // "all" 、"image"、 "video"
data: {
images:[ ],
videos:[ ]
}
}|
|@on-loading|监听开始上传的状态|
|@on-success|监听完成上传的状态,返回默认的响应内容|
|@on-error|监听上传失败的状态,返回默认的响应内容|
|@on-pre-video|监听点击视频,返回视频数据项,用于实现视频预览(已删除内置预览功能,提供此回调需要用户自己实现)|