更新记录

1.0.0(2025-08-21) 下载此版本

插件基于https://ext.dcloud.net.cn/plugin?id=11679的vue3版本 1.针对vue3进行兼容 2.对上传ico进行针对性优化


平台兼容性

uni-app(4.07)

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

好的,没问题。我已经为你准备了一份详细的 Uni-app 图片裁剪组件的使用说明文档,内容包含了完整的组件属性、事件表格以及一个可直接运行的使用示例。

以下是使用方法,请将以下内容复制到一个 Markdown 文件中即可。


Uni-app 通用图片裁剪组件

这是一个功能强大的 Uni-app 图片裁剪组件,支持自由拖拽、缩放、正方形裁剪等功能,并提供自定义配置和事件回调。

安装与使用

1. 将组件代码保存到本地

将提供的 .vue 文件代码保存到你的项目目录中,例如 components/uni-cropper/uni-cropper.vue

2. 在页面中引入并使用

在你的页面 .vue 文件中,按照以下方式引入并注册组件:

<template>
    <view class="container">
        <uni-cropper
            :isSquare="true"
            @upload="onCropSuccess"
            @cancel="onCancelCrop"
            @error="onCropError"
        ></uni-cropper>
    </view>
</template>

<script setup>
import UniCropper from '@/components/picture-cutting/picture-cutting.vue'
// 裁剪成功回调
const onCropSuccess = (tempFilePath) => {
//在这里实现上传业务,
  uni.uploadFile({
                url: 'http://localhost:3000/upload/album', //传图片的接口
                filePath: tempFilePath,
                name: 'file',
                fileType: "image",
                success: uploadFileRes => {
                    // this.url = XXX;(后端传回来的图片地址)
                    console.log(uploadFileRes.data);
                }
            });

    console.log('裁剪成功,临时文件路径:', tempFilePath);
    uni.showToast({
        title: '裁剪成功',
        icon: 'success'
    });
};

// 取消裁剪回调
const onCancelCrop = () => {
    console.log('取消裁剪');
};

// 裁剪失败回调
const onCropError = (errMsg) => {
    console.error('裁剪失败:', errMsg);
    uni.showToast({
        title: '裁剪失败',
        icon: 'none'
    });
};
</script>

组件属性 (Props)

你可以通过传入不同的属性来配置组件的行为和样式。

属性名 类型 默认值 说明
uploadIcon string 'https://picsum.photos/200/200?grayscale' 未选择图片时,上传区域显示的图标地址。
iconWidth string '100rpx' 上传图标的宽度。
iconHeight string '100rpx' 上传图标的高度。
uploadText string '点击上传图片' 上传区域的文本提示。
showUploadText boolean true 是否显示上传区域的文本提示。
quality number 0.9 裁剪后输出图片的质量,取值范围 0-1
fileType string 'png' 裁剪后输出图片的格式,可选 pngjpg
isSquare boolean false 是否强制正方形裁剪框,true 时裁剪框始终保持 1:1 比例。

组件事件 (Events)

组件通过事件向父组件传递状态和结果。

事件名 参数 说明
@upload tempFilePath 裁剪成功时触发,并返回裁剪后的临时文件路径。
@cancel 点击“取消”按钮时触发。
@error errMsg 出现错误时触发,并返回错误信息字符串。

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。