WebApp【公共组件库】@前端(For Git Submodule)
Tevin
2022-11-15 68add461749ca1e7d471857ebe5939138beb8eae
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合并解析异常!',
                        });
                    }
                }
            });
        };
@@ -354,6 +401,9 @@
            callback && callback([]);
            return;
        }
        if (typeof names === 'string') {
            names = names.split(',');
        }
        // 保存
        if (type === 'save') {
            const list = [];
@@ -370,6 +420,8 @@
                    else {
                        callback && callback(list);
                    }
                }, err => {
                    callback && callback(null, err);
                });
            };
            save(0);
@@ -390,6 +442,8 @@
                    else {
                        callback && callback(list);
                    }
                }, err => {
                    callback && callback(null, err);
                });
            };
            load(0);