From 7c2e817088e096f5b69471730f55f7a94da82db0 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Tue, 21 Mar 2023 16:19:52 +0800
Subject: [PATCH] 允许关闭mock,使用post请求本地模拟接口

---
 common/Bridge.js |   71 +++++++++++++++++++++++++++++++----
 1 files changed, 63 insertions(+), 8 deletions(-)

diff --git a/common/Bridge.js b/common/Bridge.js
index 71335b2..f46cf14 100644
--- a/common/Bridge.js
+++ b/common/Bridge.js
@@ -227,8 +227,9 @@
      * 保存文件到 java 端,并返回文件名
      * @param objUrl
      * @param callback
+     * @param onError
      */
-    fileSave(objUrl = '', callback) {
+    fileSave(objUrl = '', callback, onError) {
         // 非 ObjectURL 跳过
         if (objUrl.indexOf('blob:') < 0) {
             callback(objUrl);
@@ -248,7 +249,18 @@
             };
             this.invoking('img_write', writeData, res => {
                 if (res.result === false) {
-                    Tools.toast(res.msg);
+                    Tools.toast('离线图片存储:' + res.msg);
+                    onError({
+                        method: 'img_write',
+                        request: {
+                            fileName: writeData.fileName,
+                            currentIdx: writeData.currentIdx,
+                            totalIdx: writeData.total,
+                            data: (writeData.data || '').substr(0, 10)
+                                + '...(共' + (writeData.data || '').length + '个base64字符)',
+                        },
+                        response: res,
+                    });
                     return;
                 }
                 // 按分段递归保存
@@ -273,8 +285,9 @@
      * 从 java 读取文件 base64
      * @param bridgeName
      * @param callback
+     * @param onError
      */
-    fileLoad(bridgeName = '', callback) {
+    fileLoad(bridgeName = '', callback, onError) {
         // 非存储地址,跳过
         if (bridgeName.indexOf('bridge:') < 0) {
             callback(bridgeName);
@@ -297,7 +310,21 @@
             };
             this.invoking('img_read', loadData, res => {
                 if (res.result === false) {
-                    Tools.toast(res.msg);
+                    Tools.toast('离线图片读取:' + res.msg);
+                    onError({
+                        method: 'img_read',
+                        request: {
+                            ...loadData,
+                            totalCount,
+                        },
+                        response: {
+                            result: res.result,
+                            msg: res.msg,
+                            'total_size': res.totalSize,
+                            data: (res.data || '').substr(0, 10)
+                                + '...(共' + (res.data || '').length + '个base64字符)',
+                        },
+                    });
                     return;
                 }
                 if (totalSize === 0) {
@@ -315,10 +342,30 @@
                         baseArr,
                         fileName,
                     };
-                    $fileTrans.transBaseDataToObjUrl(baseData, objUrl => {
-                        this._data.fileLoaded[bridgeName] = objUrl;
-                        callback && callback(objUrl);
-                    });
+                    try {
+                        $fileTrans.transBaseDataToObjUrl(baseData, objUrl => {
+                            this._data.fileLoaded[bridgeName] = objUrl;
+                            callback && callback(objUrl);
+                        });
+                    } catch (e) {
+                        onError({
+                            method: 'img_read@merge_after_base64_loaded',
+                            request: {
+                                ...loadData,
+                                totalCount,
+                            },
+                            response: {
+                                result: res.result,
+                                msg: res.msg,
+                                'total_size': res.totalSize,
+                                data: (res.data || '').substr(0, 10)
+                                    + '...(共' + (res.data || '').length + '个base64字符)',
+                            },
+                            base64Arr: baseData.baseArr.map(baseItem => (baseItem || []).substr(0, 10)
+                                + '...(共' + (res.data || '').length + '个base64字符)'),
+                            message: 'Base64合并解析异常!',
+                        });
+                    }
                 }
             });
         };
@@ -352,6 +399,10 @@
     fileStore(type, names = [], callback) {
         if (!names || names.length === 0) {
             callback && callback([]);
+            return;
+        }
+        if (typeof names === 'string') {
+            names = names.split(',');
         }
         // 保存
         if (type === 'save') {
@@ -369,6 +420,8 @@
                     else {
                         callback && callback(list);
                     }
+                }, err => {
+                    callback && callback(null, err);
                 });
             };
             save(0);
@@ -389,6 +442,8 @@
                     else {
                         callback && callback(list);
                     }
+                }, err => {
+                    callback && callback(null, err);
                 });
             };
             load(0);

--
Gitblit v1.9.1