更新记录

1.1.0(2025-10-25) 下载此版本

新增文件上传

1.0.9(2025-09-22) 下载此版本

OffscreenCanvas 兼容性处理

1.0.8(2025-09-21) 下载此版本

水印字体调整

查看更多

平台兼容性

uni-app(4.76)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

ap-upload 图片上传组件

基本用法

<ap-upload v-model="uploadImg" :watermarkData="watermarkData" :httpRequest="httpRequest">
    <template v-slot:preview="{path}"></template>
</ap-upload>

<script>
const watermarkData = {
    name: '张三',
    time: '2025-09-10 10:00',
    address: '江苏省南京市江宁区麒麟街道创研路266号麒麟人工智能产业园6号楼副楼中科院计算技术研究所南京移动通信与计算创新研究院'
}
</script>

属性参数

参数名 类型 默认值 说明
modelValue String/Array - 上传图片的路径,支持字符串或数组
path String/Array - 图片路径(备用)
watermarkData Object 见默认值 水印配置
disabled Boolean false 是否禁用上传
limit Number 1 最多上传数量
sizeType Array ['original', 'compressed'] 上传图片的尺寸类型
quality Number 0.5 图片压缩质量(0-1)
httpRequest Function - 自定义上传函数

watermarkData 配置项

属性名 类型 默认值 说明
name String '' 水印名称
time String '' 水印时间
address String '' 水印地址
data Array [] 额外水印文本行
opacity Number 0.5 水印透明度(0-1)
angle Number -45 水印旋转角度
fontSize Number 24 水印字体大小
color String '#000' 水印颜色
position String 'tile' 水印位置,可选值:'tile'(铺满), 'bottom-right'(右下角), 'bottom-left'(左下角), 'top-right'(右上角), 'top-left'(左上角), 'center'(中心)
margin Number 20 指定位置水印时的边距
positionRotate Boolean true 指定位置水印是否旋转

使用指定位置水印示例

右下角水印示例

const watermarkData = {
    name: '张三',
    time: '2025-09-10 10:00',
    address: '南京市',
    position: 'bottom-right', // 右下角位置
    margin: 30, // 距离边缘30px
    positionRotate: false, // 不旋转
    opacity: 0.6,
    fontSize: 20,
    color: '#333'
}

左上角水印示例

const watermarkData = {
    name: '机密文件',
    position: 'top-left', // 左上角位置
    margin: 20,
    positionRotate: false,
    opacity: 0.7
}

中心位置水印示例

const watermarkData = {
    name: '仅供内部使用',
    time: '2025-09-10',
    position: 'center', // 中心位置
    positionRotate: true, // 旋转
    angle: -15, // 旋转15度
    opacity: 0.5,
    fontSize: 36,
    color: 'rgba(255, 0, 0, 0.5)'
}

自定义上传函数示例


const httpRequest = ({ file, base64, success, fail }) => {
    // 这里实现自定义上传逻辑
    // 例如调用后端API上传文件

yourUploadAPI(file).then(res => {
        success({ url: res.data.url })
    }).catch(err => {
        fail({ msg: '上传失败' })
    })
}```

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相册权限

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。