|
@@ -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('请在微信小程序中打开此页面')
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|