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