From 353bc5084a28952e360c4e7a5dc22d552b4fe16d Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Thu, 13 May 2021 21:10:01 +0800
Subject: [PATCH] 抽离公众号 H5 支付为独立模块

---
 forms/imagePicker/CImagePicker.vue |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/forms/imagePicker/CImagePicker.vue b/forms/imagePicker/CImagePicker.vue
index fe3507e..a9da799 100644
--- a/forms/imagePicker/CImagePicker.vue
+++ b/forms/imagePicker/CImagePicker.vue
@@ -39,8 +39,8 @@
 </template>
 
 <script>
-import { $ } from '@tarojs/extend';
 import Taro from '@tarojs/taro';
+import { $ } from '@tarojs/extend';
 import { AtInput, AtImagePicker, AtCurtain } from 'taro-ui-vue';
 import { $fetcherCommon } from '@fetchers/FCommon';
 import './cImagePicker.scss';
@@ -53,6 +53,7 @@
         AtCurtain,
     },
     props: {
+        // 表单数据资源(表单组件内部机制专用)
         itemRes: Object,
     },
     data() {
@@ -66,9 +67,9 @@
             const value = this.itemRes.formData[this.itemRes.name];
             let files = [];
             if (Object.prototype.toString.call(value) === '[object String]') {
-                files = value.split(',').map((url) => ({ url }));
+                files = value.split(',').map(url => ({ url }));
             } else if (Object.prototype.toString.call(value) === '[object Array]') {
-                files = value.map((url) => ({ url }));
+                files = value.map(url => ({ url }));
             }
             files.push({ type: 'btn' });
             return files;
@@ -77,7 +78,7 @@
     methods: {
         handleChange(files, operationType, index) {
             const value = [];
-            files.forEach((file) => {
+            files.forEach(file => {
                 if (file.type === 'btn') {
                     return;
                 }
@@ -104,7 +105,7 @@
             const url = $fetcherCommon.getUploadImgURL();
             const uploadTeam = [];
             const imgs = [];
-            this.files.forEach((file) => {
+            this.files.forEach(file => {
                 if (file.type === 'btn') {
                     return;
                 }
@@ -119,9 +120,16 @@
                                 formData: {},
                                 success(res) {
                                     const res2 =
-                                        typeof res.data === 'string' ? JSON.parse(res.data) : res.data;
+                                        typeof res.data === 'string'
+                                            ? JSON.parse(res.data)
+                                            : res.data;
                                     if (res2.state.code === 2000) {
-                                        resolve($fetcherCommon.transImgPath('fix', res2.data.src));
+                                        resolve(
+                                            $fetcherCommon.transImgPath(
+                                                'fix',
+                                                res2.data.src
+                                            )
+                                        );
                                     } else {
                                         reject({ message: 'res2.state.msg' });
                                     }
@@ -142,19 +150,27 @@
                 }
             });
             Promise.all(uploadTeam)
-                .then((res) => {
+                .then(res => {
                     this.itemRes.onChange(res);
                     setTimeout(() => {
                         callback('success');
                     }, 0);
                 })
-                .catch((err) => {
+                .catch(err => {
                     callback('error', err);
                 });
         },
     },
     mounted() {
-        $(this.$refs.input.$el).find('.at-input__input').prepend(this.$refs.picker.$el);
+        if (process.env.TARO_ENV === 'h5') {
+            $(this.$refs.input.$el)
+                .find('.at-input__input')
+                .prepend(this.$refs.picker.$el);
+        } else if (process.env.TARO_ENV === 'weapp') {
+            $(this.$refs.input.$el)
+                .find('.at-input__container')
+                .append(this.$refs.picker.$el);
+        }
     },
 };
 </script>
\ No newline at end of file

--
Gitblit v1.9.1