rkljw 3 өдөр өмнө
parent
commit
7729fce7c1
2 өөрчлөгдсөн 37 нэмэгдсэн , 5 устгасан
  1. 2 1
      package.json
  2. 35 4
      src/views/file/index.vue

+ 2 - 1
package.json

@@ -24,7 +24,7 @@
     "driver.js": "0.9.5",
     "dropzone": "5.5.1",
     "echarts": "4.2.1",
-    "element-ui": "2.13.2",
+    "element-ui": "^2.13.2",
     "file-saver": "2.0.1",
     "fuse.js": "3.4.4",
     "js-cookie": "2.2.0",
@@ -49,6 +49,7 @@
     "vue-splitpane": "1.0.4",
     "vuedraggable": "^2.20.0",
     "vuex": "3.1.0",
+    "weixin-js-sdk": "^1.6.5",
     "xlsx": "0.14.1"
   },
   "devDependencies": {

+ 35 - 4
src/views/file/index.vue

@@ -58,11 +58,21 @@
       >
         {{ submitting ? '提交中...' : '提交给小程序' }}
       </el-button>
+      
+             <el-button 
+         type="info" 
+         size="large" 
+         @click="goBackToMiniProgram"
+         style="margin-left: 15px;"
+       >
+         关闭页面
+       </el-button>
     </div>
   </div>
 </template>
 
 <script>
+import wx from 'weixin-js-sdk';
 export default {
   name: 'FileUpload',
   data() {
@@ -166,9 +176,9 @@ export default {
         const filesData = await this.prepareFilesData()
 
         // 通过微信JS-SDK发送消息给小程序
-        if (window.wx && window.wx.miniProgram) {
+        if (wx && wx.miniProgram) {
           // 在微信小程序web-view中
-          window.wx.miniProgram.postMessage({
+          wx.miniProgram.postMessage({
             data: {
               type: 'file_upload',
               files: filesData
@@ -177,6 +187,11 @@ export default {
           
           this.$message.success('文件已提交给小程序')
           this.selectedFiles = []
+          
+          // 延迟关闭当前页面,让用户看到成功提示
+          setTimeout(() => {
+            wx.miniProgram.navigateBack({ delta: 1 })
+          }, 1500)
         } else {
           // 尝试通过WeixinJSBridge
           WeixinJSBridge.invoke('sendAppMessage', {
@@ -192,15 +207,22 @@ export default {
             if (res.err_msg === 'send_app_msg:ok') {
               this.$message.success('文件已提交给小程序')
               this.selectedFiles = []
+              
+              // 延迟关闭当前页面
+              setTimeout(() => {
+                if (wx && wx.miniProgram) {
+                  wx.miniProgram.navigateBack({ delta: 1 })
+                }
+              }, 1500)
             } else {
-              this.$message.error('提交失败,请重试')
+              this.$message.error('提交失败,请重试!')
             }
           })
         }
 
       } catch (error) {
         console.error('提交文件失败:', error)
-        this.$message.error('提交失败,请重试')
+        this.$message.error('提交失败,请重试.')
       } finally {
         this.submitting = false
       }
@@ -235,6 +257,15 @@ export default {
         reader.onerror = reject
         reader.readAsDataURL(file)
       })
+    },
+
+    // 关闭当前页面
+    goBackToMiniProgram() {
+      if (wx && wx.miniProgram) {
+        wx.miniProgram.navigateBack({ delta: 1 })
+      } else {
+        this.$message.warning('请在微信小程序中打开此页面')
+      }
     }
   }
 }