From 3b03f87a02458f719e2eb4bf112a13441b427d14 Mon Sep 17 00:00:00 2001 From: ‘chensiAb’ <‘chenchenco03@163.com’> Date: Tue, 25 Mar 2025 13:54:34 +0800 Subject: [PATCH] Merge branch 'master' of ssh://dev.zhiheiot.com:29418/mob-components --- _cursor.ai/forms.doc/imagePicker.doc/CImagePicker.doc.md | 78 +++++++++++++++++++++++++++++---------- 1 files changed, 58 insertions(+), 20 deletions(-) diff --git a/_cursor.ai/forms.doc/imagePicker.doc/CImagePicker.doc.md b/_cursor.ai/forms.doc/imagePicker.doc/CImagePicker.doc.md index 4af8934..5d60ec9 100644 --- a/_cursor.ai/forms.doc/imagePicker.doc/CImagePicker.doc.md +++ b/_cursor.ai/forms.doc/imagePicker.doc/CImagePicker.doc.md @@ -2,7 +2,7 @@ ## 功能说明 -CImagePicker 是一个图片选择器组件,用于在表单中上传和管理图片。组件支持单张和多张图片上传,支持预览、删除等功能,并且可以限制上传图片的数量和大小。 +CImagePicker 是一个图片选择器组件,用于在表单中上传和管理图片。组件支持单张和多张图片上传,支持预览、删除等功能,并且可以限制上传图片的数量和来源。 ## 引用方式 @@ -13,12 +13,16 @@ ## 组件参数 - `itemRes` (Object,必填):表单数据资源对象,表单组件内部机制专用 -- `maxCount` (Number,可选):最大上传图片数量,默认为 9 -- `maxSize` (Number,可选):单张图片最大大小,单位为 MB,默认为 5 -- `compress` (Boolean,可选):是否压缩图片,默认为 true -- `quality` (Number,可选):图片压缩质量,取值范围 0-1,默认为 0.8 -- `placeholder` (String,可选):选择器占位提示文本 -- `readOnly` (Boolean,可选):只读模式,默认为 false +- `count` (Number,可选):最大图片张数,默认为 1 +- `sourceType` (Array,可选):图片来源,默认为 ['album', 'camera'] + - `album`:从相册选择 + - `camera`:使用相机 +- `params` (Object,可选):上传图片的附加参数,默认为空对象 +- `needThumb` (Boolean,可选):是否开启缩略图,默认为 false + +## 实例方法 + +- `$uploadImage(callback)`:上传图片到服务器,参数为回调函数,回调函数接收两个参数:状态和结果 ## 使用示例 @@ -29,7 +33,7 @@ <CForm :form="form"> <CFormItem name="photos" label="图片上传"> <CImagePicker - :maxCount="3" + :count="3" placeholder="请上传图片" /> </CFormItem> @@ -57,24 +61,58 @@ </script> ``` -### 自定义配置 +### 限制图片来源 ```html -<CFormItem name="certificate" label="证书照片"> +<CFormItem name="idCard" label="身份证照片"> <CImagePicker - :maxCount="1" - :maxSize="2" - :compress="true" - :quality="0.6" - placeholder="请上传证书照片" + :count="1" + :sourceType="['camera']" + placeholder="请拍摄身份证照片" /> </CFormItem> ``` +### 使用上传方法 + +```html +<template> + <CForm :form="form"> + <CFormItem name="certificate" label="证书照片"> + <CImagePicker + ref="imagePicker" + :count="1" + :params="{type: 'certificate'}" + :needThumb="true" + placeholder="请上传证书照片" + /> + </CFormItem> + <button @tap="evt => handleUpload()">上传图片</button> + </CForm> +</template> + +<script> +export default { + // ... + methods: { + handleUpload() { + this.$refs.imagePicker.$uploadImage((state, result) => { + if (state === 'success') { + console.log('上传成功', result); + } else { + console.error('上传失败', result); + } + }); + } + } +}; +</script> +``` + ## 注意事项 -1. 组件会自动处理图片上传,支持压缩和预览功能 -2. 上传的图片会被转换为 base64 格式存储在表单数据中 -3. 当设置 `maxCount` 为 1 时,组件会以单图模式运行 -4. 建议根据实际需求设置合适的 `maxSize` 和压缩参数 -5. 在只读模式下,只能查看已上传的图片,无法进行上传和删除操作 \ No newline at end of file +1. 组件会自动过滤不支持的图片格式,只允许上传 gif、png、jpg、jpeg 格式的图片 +2. 图片大小超过 1MB 的会自动进行压缩处理 +3. 通过 `$uploadImage` 方法可以将图片上传到服务器,上传成功后会自动更新表单值 +4. 如果设置了 `needThumb` 为 true,上传时会同时生成缩略图 +5. 组件内部集成了图片预览功能,点击已上传的图片可以放大查看 \ No newline at end of file -- Gitblit v1.9.1