From 36f9b3bec3f8df0da0d8d1e1cc63eb7f53765be3 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Fri, 22 Mar 2024 14:22:45 +0800 Subject: [PATCH] 修复签名组件的上传的问题 --- forms/userSignature/CUserSignature.vue | 58 +++++----------------------- forms/imagePicker/CImagePicker.vue | 2 forms/imagePicker/index.js | 4 +- 3 files changed, 14 insertions(+), 50 deletions(-) diff --git a/forms/imagePicker/CImagePicker.vue b/forms/imagePicker/CImagePicker.vue index 93faa4e..d9b581f 100644 --- a/forms/imagePicker/CImagePicker.vue +++ b/forms/imagePicker/CImagePicker.vue @@ -241,7 +241,7 @@ // 图片上传节流 const _readyUpload = {}; -export const uploadImage = (files, callback, formData) => { +export const uploadImage = (files, callback, formData = {}) => { if (!files || files.length === 0) { callback('success', []); return; diff --git a/forms/imagePicker/index.js b/forms/imagePicker/index.js index 2136be5..eda2150 100644 --- a/forms/imagePicker/index.js +++ b/forms/imagePicker/index.js @@ -3,7 +3,7 @@ * @author Tevin */ -import CImagePicker from '@components/forms/imagePicker/CImagePicker.vue'; +import CImagePicker, { uploadImage } from '@components/forms/imagePicker/CImagePicker.vue'; import CImagePreview from '@components/forms/imagePicker/CImagePreview.vue'; -export { CImagePicker, CImagePreview }; +export { CImagePicker, CImagePreview, uploadImage }; diff --git a/forms/userSignature/CUserSignature.vue b/forms/userSignature/CUserSignature.vue index ba66a1f..71a7882 100644 --- a/forms/userSignature/CUserSignature.vue +++ b/forms/userSignature/CUserSignature.vue @@ -48,6 +48,7 @@ import { $bridge } from '@components/common/Bridge'; import { $hostBoot } from '@components/bases/HostBoot'; import CSignatureLayer from '@components/forms/userSignature/CSignatureLayer'; +import { uploadImage } from '@components/forms/imagePicker'; import project from '@project'; import './cUserSignature.scss'; @@ -112,57 +113,20 @@ url: this.itemRes.formData[this.itemRes.name], fileName: 'file-' + Date.now() + '.png', }; - // 没有上传内容,视为上传成功 + // 没有上传内容,视为无需上传 if (!file.url) { callback('success'); return; } - // 不是临时文件,视为上传成功 - if ( - file.url.indexOf('blob') < 0 && - file.url.indexOf('wxfile') < 0 && - file.url.indexOf('http://tmp/') < 0 - ) { - callback('success'); - return; - } - // 开始上传 - let header = {}; - if (process.env.TARO_ENV === 'weapp') { - const localCookies = JSON.parse(Taro.getStorageSync('cookies') || '{}'); - const cookiesArr = []; - Object.keys(localCookies).forEach(key => { - cookiesArr.push(key + '=' + localCookies[key]); - }); - header['Cookie'] = cookiesArr.join('; '); - } - Taro.uploadFile({ - url: $hostBoot.getHost() + $fetchCommon.getUploadImgURL(), - header, - filePath: file.url, - fileName: file.fileName, - name: 'file', - formData: {}, - success: res => { - const res2 = - typeof res.data === 'string' ? JSON.parse(res.data) : res.data; - if (res2.state.code === 2000) { - const serverUrl = $fetchCommon.transImgPath( - 'fix', - res2.data.src || res2.data.file || res2.data.url, - ); - this.itemRes.onChange(serverUrl); - callback('success'); - } else { - callback('error', res2.state.msg); - } - }, - cancel() { - callback('error', '上传图片已取消!'); - }, - fail() { - callback('error', '上传图片失败!'); - }, + uploadImage([file], (state, res) => { + if (state === 'success') { + this.itemRes.onChange(res[0]); + setTimeout(() => { + callback(state); + }, 10); + } else if (state === 'error') { + callback(state, res); + } }); }, }, -- Gitblit v1.9.1