diff --git a/src/main/java/com/budwk/app/sys/controller/SysH5ScanCodeUploadFileController.java b/src/main/java/com/budwk/app/sys/controller/SysH5ScanCodeUploadFileController.java
index 0d33324..99c44b1 100644
--- a/src/main/java/com/budwk/app/sys/controller/SysH5ScanCodeUploadFileController.java
+++ b/src/main/java/com/budwk/app/sys/controller/SysH5ScanCodeUploadFileController.java
@@ -63,7 +63,7 @@ public class SysH5ScanCodeUploadFileController {
@At
@SLog(tag = "文件管理", msg = "同步到PC")
@SaCheckLogin
- public Result syncPc(@Param("files") JSONObject[] jsonObject) {
+ public Result syncPc(@Param("files") JSONObject[] jsonObject, @Param("timestamp") String timestamp) {
try {
if(ObjectUtil.isEmpty(jsonObject)){
return Result.error("请选择要同步的文件");
@@ -74,7 +74,7 @@ public class SysH5ScanCodeUploadFileController {
do {
scan = redisService.scan(scan == null ? ScanParams.SCAN_POINTER_START : scan.getStringCursor(), match);
for (String key : scan.getResult()) {
- NutMap data = NutMap.NEW().addv("action", "h5-scan-code-upload-file").addv("files", jsonObject);
+ NutMap data = NutMap.NEW().addv("action", "h5-scan-code-upload-file-" + timestamp).addv("files", jsonObject);
pubSubService.fire(key, Json.toJson(data));
}
} while (!scan.isCompleteIteration());
diff --git a/src/main/resources/static/components/plugins/sysUpload/index.vue b/src/main/resources/static/components/plugins/sysUpload/index.vue
index a11bcfe..e00ea1e 100644
--- a/src/main/resources/static/components/plugins/sysUpload/index.vue
+++ b/src/main/resources/static/components/plugins/sysUpload/index.vue
@@ -80,7 +80,7 @@
{{ upload_text }}
-
@@ -189,7 +189,8 @@ module.exports = {
fileAccept: null,
dragDisabled: true,
qrCodeAddress: origin + "/platform/sys/h5ScanCodeUploadFile",
- uploadMode: "pc"
+ uploadMode: "pc",
+ codeLoading: true,
}
},
computed: {
@@ -542,7 +543,20 @@ module.exports = {
},
mounted() {
- webSocketPubSub.subscribe("h5-scan-code-upload-file", (data) => {
+ const timestamp = new Date().getTime()
+ this.qrCodeAddress = origin + "/platform/sys/h5ScanCodeUploadFile?timestamp=" + timestamp
+ console.info("qrCodeAddress:", this.qrCodeAddress)
+ // 可选:轮询或 watch ready 状态
+ const checkReady = () => {
+ if (webSocketPubSub.ws && webSocketPubSub.ws.readyState === WebSocket.OPEN) {
+ console.info("ws.readyState is open");
+ this.codeLoading = false;
+ } else {
+ setTimeout(checkReady, 100);
+ }
+ };
+ checkReady();
+ webSocketPubSub.subscribe("h5-scan-code-upload-file-" + timestamp, (data) => {
console.log("ws:收到手机上传文件消息:", data)
const originFileList = this.fileList || []
console.log(data.files)
diff --git a/src/main/resources/views/platform/sys/h5upload.html b/src/main/resources/views/platform/sys/h5upload.html
index 15cd075..abaa201 100644
--- a/src/main/resources/views/platform/sys/h5upload.html
+++ b/src/main/resources/views/platform/sys/h5upload.html
@@ -88,10 +88,13 @@
],
// accept: "image/*",
accept: "*",
- upload_number: 9
+ upload_number: 9,
}
},
methods: {
+ GetQueryString(name) {
+ return new URLSearchParams(window.location.search).get(name)
+ },
beforeRead(file) {
return true
},
@@ -156,7 +159,8 @@
.post(
"/platform/sys/h5ScanCodeUploadFile/syncPc",
{
- files: JSON.stringify(this.fileList)
+ files: JSON.stringify(this.fileList),
+ timestamp: this.GetQueryString("timestamp")
},
{
headers: {