更新记录
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: '上传失败' })
})
}```