From 0103a44df43cfef6d01151be9470bdc5497a5d9c Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Wed, 02 Mar 2022 18:23:26 +0800 Subject: [PATCH] 用户签名组件,初步 --- forms/imagePicker/CImagePicker.vue | 37 +++++++++++++++++++++++++++++++------ 1 files changed, 31 insertions(+), 6 deletions(-) diff --git a/forms/imagePicker/CImagePicker.vue b/forms/imagePicker/CImagePicker.vue index 09012bd..a700fd6 100644 --- a/forms/imagePicker/CImagePicker.vue +++ b/forms/imagePicker/CImagePicker.vue @@ -32,6 +32,7 @@ import Taro from '@tarojs/taro'; import { $ } from '@tarojs/extend'; import { AtInput, AtImagePicker, AtCurtain } from 'taro-ui-vue'; +import { Fetcher } from '@components/bases/Fetcher'; import { $fetchCommon } from '@fetchers/FCommon'; import { Tools } from '@components/common/Tools'; import CImageCompressor from './CImageCompressor.vue'; @@ -55,7 +56,9 @@ }, }, data() { - return {}; + return { + fileNames: {}, + }; }, computed: { files() { @@ -77,6 +80,10 @@ const value = []; files.forEach(file => { value.push(file.url); + // 记录原文件名 + if (file.file && file.file.originalFileObj) { + this.fileNames[file.url] = file.file.originalFileObj.name; + } }); this.itemRes.onChange(value); }, @@ -160,7 +167,6 @@ this.showImg = false; }, handleFail(msg) { - console.log(msg); Taro.showToast({ title: msg, icon: 'none', @@ -169,20 +175,37 @@ }); }, $uploadImage(callback) { - const url = $fetchCommon.getUploadImgURL(); + const url = Fetcher.host + $fetchCommon.getUploadImgURL(); const uploadTeam = []; const imgs = []; this.files.forEach(file => { if (file.type === 'btn') { return; } - // blob 临时文件才上传 - if (file.url.indexOf('blob') >= 0) { + // 临时文件才上传 + if ( + file.url.indexOf('blob') >= 0 || + file.url.indexOf('wxfile') >= 0 || + file.url.indexOf('http://tmp/') >= 0 + ) { + 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('; '); + } uploadTeam.push( new Promise((resolve, reject) => { Taro.uploadFile({ url, + header, filePath: file.url, + fileName: this.fileNames[file.url], name: 'file', formData: {}, success(res) { @@ -194,7 +217,9 @@ resolve( $fetchCommon.transImgPath( 'fix', - res2.data.src + res2.data.src || + res2.data.file || + res2.data.url ) ); } else { -- Gitblit v1.9.1