w-converhp 2.0.39 → 2.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/w-converhp-client.umd.js +2 -2
- package/dist/w-converhp-client.umd.js.map +1 -1
- package/dist/w-converhp-server.umd.js +2 -2
- package/dist/w-converhp-server.umd.js.map +1 -1
- package/docs/WConverhpClient.html +1 -1
- package/docs/WConverhpClient.mjs.html +55 -42
- package/docs/WConverhpServer.html +2 -42
- package/docs/WConverhpServer.mjs.html +20 -22
- package/docs/index.html +1 -1
- package/package.json +1 -1
- package/scla.mjs +1 -0
- package/src/WConverhpClient.mjs +54 -41
- package/src/WConverhpServer.mjs +19 -21
- package/src/checkSlicesHash.mjs +1 -1
- package/src/checkSlicesHash.wk.umd.js +1 -1
- package/src/checkTotalHash.mjs +3 -1
- package/src/checkTotalHash.wk.umd.js +1 -1
- package/src/managerMergeSlices.mjs +63 -51
|
@@ -10,73 +10,85 @@ import fsDeleteFile from 'wsemi/src/fsDeleteFile.mjs'
|
|
|
10
10
|
import mergeSlices from './mergeSlices.wk.umd.js'
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
//
|
|
14
|
-
let
|
|
13
|
+
//qPush
|
|
14
|
+
let qPush = (fileHash, chunkTotal, pathUploadTemp) => {
|
|
15
15
|
|
|
16
|
-
//
|
|
17
|
-
let
|
|
16
|
+
//id, 使用fileHash代表不用佇列儲存, 通過id即可解析反查
|
|
17
|
+
let id = `${now2strp()}|${genID(6)}|${fileHash}`
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
//setTimeout, 脫勾觸發
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
mergeSlices(fileHash, chunkTotal, pathUploadTemp)
|
|
22
|
+
.catch((err) => {
|
|
23
|
+
console.log(err)
|
|
24
|
+
})
|
|
25
|
+
}, 1)
|
|
21
26
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
mergeSlices(fileHash, chunkTotal, pathUploadTemp)
|
|
25
|
-
.catch((err) => {
|
|
26
|
-
console.log(err)
|
|
27
|
-
})
|
|
28
|
-
}, 1)
|
|
29
|
-
|
|
30
|
-
return id
|
|
31
|
-
}
|
|
27
|
+
return id
|
|
28
|
+
}
|
|
32
29
|
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
//qGet
|
|
31
|
+
let qGet = (id, pathUploadTemp) => {
|
|
32
|
+
let errTemp = ''
|
|
35
33
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
//check
|
|
35
|
+
if (!isestr(id)) {
|
|
36
|
+
errTemp = `invalid id[${id}]`
|
|
37
|
+
console.log(errTemp)
|
|
38
|
+
return {
|
|
39
|
+
state: 'error',
|
|
40
|
+
msg: errTemp,
|
|
41
|
+
path: '',
|
|
41
42
|
}
|
|
43
|
+
}
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
//fileHash
|
|
46
|
+
let s = sep(id, '|')
|
|
47
|
+
let fileHash = get(s, 2, '')
|
|
48
|
+
if (!isestr(fileHash)) {
|
|
49
|
+
errTemp = `can not find fileHash in id[${id}]`
|
|
50
|
+
console.log(errTemp)
|
|
51
|
+
return {
|
|
52
|
+
state: 'error',
|
|
53
|
+
msg: errTemp,
|
|
54
|
+
path: '',
|
|
55
|
+
}
|
|
56
|
+
}
|
|
46
57
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
//fp
|
|
59
|
+
let fp = path.resolve(pathUploadTemp, fileHash)
|
|
60
|
+
// console.log('fp', fp)
|
|
50
61
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
let b = bfp && bfpd //記得要同時偵測fp與fpd, 否則有些已經移動fp但fpd忘記刪, 就會造成誤判
|
|
62
|
+
//fpd
|
|
63
|
+
let fpd = path.resolve(pathUploadTemp, `${fileHash}.done`)
|
|
64
|
+
// console.log('fpd', fpd)
|
|
55
65
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
66
|
+
//bfp, bfpd, b
|
|
67
|
+
let bfp = fsIsFile(fp)
|
|
68
|
+
let bfpd = fsIsFile(fpd)
|
|
69
|
+
let b = bfp && bfpd //記得要同時偵測fp與fpd, 否則有些已經移動fp但fpd忘記刪, 就會造成誤判
|
|
60
70
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
//check, 若有.done檔但沒合併檔, 就代表合併檔已被處理或移動, .done檔須自動刪除
|
|
72
|
+
if (!bfp && bfpd) {
|
|
73
|
+
fsDeleteFile(fpd)
|
|
74
|
+
}
|
|
65
75
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
76
|
+
//check, 若已經完成任務, 且外部調用get取得完成訊息, 則可自動刪除.done檔, 但因不能保證合併後有完成再處理動作, 例如移動至處理資料夾再處理, 故保留.done檔
|
|
77
|
+
if (b) {
|
|
78
|
+
// fsDeleteFile(fpd)
|
|
70
79
|
}
|
|
71
80
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
81
|
+
return {
|
|
82
|
+
state: b ? 'success' : 'merging',
|
|
83
|
+
msg: '',
|
|
84
|
+
path: fp,
|
|
76
85
|
}
|
|
86
|
+
}
|
|
77
87
|
|
|
78
|
-
|
|
88
|
+
let r = {
|
|
89
|
+
push: qPush,
|
|
90
|
+
get: qGet,
|
|
79
91
|
}
|
|
80
92
|
|
|
81
93
|
|
|
82
|
-
export default
|
|
94
|
+
export default r
|