w-converhp 2.0.38 → 2.0.40
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 +1 -1
- package/docs/WConverhpServer.mjs.html +6 -5
- 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 +5 -4
- package/src/checkSlicesHash.mjs +1 -1
- package/src/checkSlicesHash.wk.umd.js +1 -1
- package/src/checkTotalHash.mjs +15 -3
- package/src/checkTotalHash.wk.umd.js +1 -1
- package/src/managerMergeSlices.mjs +24 -5
|
@@ -529,7 +529,7 @@
|
|
|
529
529
|
<br class="clear">
|
|
530
530
|
|
|
531
531
|
<footer>
|
|
532
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
532
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Apr 16 2025 15:43:24 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
533
533
|
</footer>
|
|
534
534
|
|
|
535
535
|
<script>prettyPrint();</script>
|
|
@@ -724,6 +724,33 @@ function WConverhpClient(opt) {
|
|
|
724
724
|
let chunkTotal = Math.ceil(fileTotalSize / sizeSlice)
|
|
725
725
|
// console.log('chunkTotal', chunkTotal)
|
|
726
726
|
|
|
727
|
+
//progCount, progWeightSlice
|
|
728
|
+
let progCount = 0
|
|
729
|
+
let progWeightSlice = 0.99 //上傳階段進度使用99%
|
|
730
|
+
// let progWeightMerge = 0.01 //合併階段進度使用1%
|
|
731
|
+
|
|
732
|
+
//cbProgressSlice
|
|
733
|
+
let cbProgressSlice = (msg) => {
|
|
734
|
+
let perc = msg.prog
|
|
735
|
+
let dir = msg.m
|
|
736
|
+
if (dir === 'upload' && perc === 100) {
|
|
737
|
+
progCount++
|
|
738
|
+
let r = progCount / chunkTotal
|
|
739
|
+
let prog = r * progWeightSlice * 100
|
|
740
|
+
let psiz = r * fileTotalSize
|
|
741
|
+
cbProgress({ prog, p: psiz, m: 'upload' })
|
|
742
|
+
}
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
//cbProgressMerge
|
|
746
|
+
let cbProgressMerge = (msg) => {
|
|
747
|
+
let perc = msg.prog
|
|
748
|
+
let dir = msg.m
|
|
749
|
+
if (dir === 'download' && perc === 100) {
|
|
750
|
+
cbProgress({ prog: 100, p: fileTotalSize, m: 'upload' })
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
|
|
727
754
|
//fileTotalHash
|
|
728
755
|
// console.log(`calc hash for fileTotalSize[${fileTotalSize}]...`)
|
|
729
756
|
let fileTotalHash = await calcHash(bb)
|
|
@@ -741,20 +768,22 @@ function WConverhpClient(opt) {
|
|
|
741
768
|
// bSls: true,
|
|
742
769
|
// slks: [
|
|
743
770
|
// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
|
744
|
-
// 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
|
|
745
|
-
// 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
|
746
|
-
// 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
|
747
|
-
// 48, 49, 50, 51, 52, 53
|
|
748
771
|
// ]
|
|
749
772
|
// }
|
|
750
773
|
|
|
751
774
|
//check
|
|
752
775
|
if (resUpCkt.bAllHash) {
|
|
753
776
|
// console.log('已有上傳大檔')
|
|
777
|
+
|
|
778
|
+
//cbProgressMerge
|
|
779
|
+
cbProgressMerge({ prog: 100, m: 'download' }) //觸發上傳完畢後之下載回應, 故m須為download
|
|
780
|
+
|
|
781
|
+
//resMg, 直接回傳
|
|
754
782
|
let resMg = {
|
|
755
783
|
filename: fileTotalName,
|
|
756
784
|
path: resUpCkt.path,
|
|
757
785
|
}
|
|
786
|
+
|
|
758
787
|
return resMg
|
|
759
788
|
}
|
|
760
789
|
|
|
@@ -819,33 +848,6 @@ function WConverhpClient(opt) {
|
|
|
819
848
|
let packageId = fileTotalHash
|
|
820
849
|
// console.log('packageId', packageId)
|
|
821
850
|
|
|
822
|
-
//progCount, progWeightSlice
|
|
823
|
-
let progCount = 0
|
|
824
|
-
let progWeightSlice = 0.99 //上傳階段進度使用99%
|
|
825
|
-
// let progWeightMerge = 0.01 //合併階段進度使用1%
|
|
826
|
-
|
|
827
|
-
//cbProgressSlice
|
|
828
|
-
let cbProgressSlice = (msg) => {
|
|
829
|
-
let perc = msg.prog
|
|
830
|
-
let dir = msg.m
|
|
831
|
-
if (dir === 'upload' && perc === 100) {
|
|
832
|
-
progCount++
|
|
833
|
-
let r = progCount / chunkTotal
|
|
834
|
-
let prog = r * progWeightSlice * 100
|
|
835
|
-
let psiz = r * fileTotalSize
|
|
836
|
-
cbProgress({ prog, p: psiz, m: 'upload' })
|
|
837
|
-
}
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
//cbProgressMerge
|
|
841
|
-
let cbProgressMerge = (msg) => {
|
|
842
|
-
let perc = msg.prog
|
|
843
|
-
let dir = msg.m
|
|
844
|
-
if (dir === 'download' && perc === 100) {
|
|
845
|
-
cbProgress({ prog: 100, p: fileTotalSize, m: 'upload' })
|
|
846
|
-
}
|
|
847
|
-
}
|
|
848
|
-
|
|
849
851
|
//upload slice
|
|
850
852
|
// console.log(`upload slice...`)
|
|
851
853
|
for (let i = 0; i < chunkTotal; i++) {
|
|
@@ -906,22 +908,33 @@ function WConverhpClient(opt) {
|
|
|
906
908
|
// }
|
|
907
909
|
|
|
908
910
|
//check
|
|
909
|
-
if (res.state === '
|
|
911
|
+
if (res.state === 'success') {
|
|
912
|
+
|
|
913
|
+
//clearInterval
|
|
914
|
+
clearInterval(t)
|
|
910
915
|
|
|
911
916
|
//cbProgressMerge
|
|
912
|
-
cbProgressMerge({ prog: 100, m: 'download' })
|
|
917
|
+
cbProgressMerge({ prog: 100, m: 'download' }) //觸發上傳完畢後之下載回應, 故m須為download
|
|
913
918
|
|
|
914
|
-
//resolve,
|
|
919
|
+
//resolve, state為'success'時提取msg回傳
|
|
920
|
+
pm.resolve(res.msg)
|
|
921
|
+
|
|
922
|
+
}
|
|
923
|
+
else if (res.state === 'error') {
|
|
924
|
+
console.log('merge-slices-get error', res)
|
|
925
|
+
|
|
926
|
+
//clearInterval
|
|
927
|
+
clearInterval(t)
|
|
928
|
+
|
|
929
|
+
//reject, state為'error'時會於msg提供錯誤訊息
|
|
915
930
|
pm.resolve(res.msg)
|
|
916
931
|
|
|
917
932
|
}
|
|
918
933
|
|
|
919
934
|
})
|
|
920
935
|
.catch((err) => {
|
|
921
|
-
console.log(err)
|
|
922
|
-
|
|
923
|
-
.finally(() => {
|
|
924
|
-
clearInterval(t)
|
|
936
|
+
console.log('merge-slices-get catch', err)
|
|
937
|
+
//可能發生網路斷訊錯誤, 不clearInterval, 持續輪循測試合併大檔之狀態
|
|
925
938
|
})
|
|
926
939
|
|
|
927
940
|
}, 2000)
|
|
@@ -930,11 +943,11 @@ function WConverhpClient(opt) {
|
|
|
930
943
|
}
|
|
931
944
|
|
|
932
945
|
//checkMerging
|
|
933
|
-
let
|
|
934
|
-
// console.log('
|
|
946
|
+
let resMg = await checkMerging()
|
|
947
|
+
// console.log('resMg', resMg)
|
|
935
948
|
|
|
936
949
|
// console.log(`upload slice done`)
|
|
937
|
-
return
|
|
950
|
+
return resMg
|
|
938
951
|
}
|
|
939
952
|
|
|
940
953
|
//execute
|
|
@@ -1094,7 +1107,7 @@ export default WConverhpClient
|
|
|
1094
1107
|
<br class="clear">
|
|
1095
1108
|
|
|
1096
1109
|
<footer>
|
|
1097
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
1110
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Apr 16 2025 15:43:24 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
1098
1111
|
</footer>
|
|
1099
1112
|
|
|
1100
1113
|
<script>prettyPrint();</script>
|
|
@@ -789,7 +789,7 @@
|
|
|
789
789
|
<br class="clear">
|
|
790
790
|
|
|
791
791
|
<footer>
|
|
792
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
792
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Apr 16 2025 15:43:24 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
793
793
|
</footer>
|
|
794
794
|
|
|
795
795
|
<script>prettyPrint();</script>
|
|
@@ -811,14 +811,15 @@ function WConverhpServer(opt = {}) {
|
|
|
811
811
|
|
|
812
812
|
//out
|
|
813
813
|
out = {
|
|
814
|
-
queueId,
|
|
815
814
|
state: r.state,
|
|
815
|
+
msg: r.msg, //state為'error'時會於msg提供錯誤訊息
|
|
816
|
+
queueId,
|
|
816
817
|
filename,
|
|
817
818
|
path: r.path,
|
|
818
819
|
}
|
|
819
820
|
|
|
820
821
|
//check
|
|
821
|
-
if (r.state === '
|
|
822
|
+
if (r.state === 'success') {
|
|
822
823
|
|
|
823
824
|
//ri
|
|
824
825
|
let ri = {
|
|
@@ -831,9 +832,9 @@ function WConverhpServer(opt = {}) {
|
|
|
831
832
|
let ro = await procUpload(ri)
|
|
832
833
|
// console.log('procUpload done', ro)
|
|
833
834
|
|
|
834
|
-
//out merge, ro須附加至msg, 才供前端偵測state為'
|
|
835
|
+
//out merge, ro須附加至msg, 才供前端偵測state為'success'時提取msg顯示
|
|
835
836
|
out = {
|
|
836
|
-
...out,
|
|
837
|
+
...out, //state為'success'時msg為空字串, 直接被ro複寫至msg即可
|
|
837
838
|
msg: ro,
|
|
838
839
|
}
|
|
839
840
|
|
|
@@ -1477,7 +1478,7 @@ export default WConverhpServer
|
|
|
1477
1478
|
<br class="clear">
|
|
1478
1479
|
|
|
1479
1480
|
<footer>
|
|
1480
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
1481
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Apr 16 2025 15:43:24 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
1481
1482
|
</footer>
|
|
1482
1483
|
|
|
1483
1484
|
<script>prettyPrint();</script>
|
package/docs/index.html
CHANGED
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
<br class="clear">
|
|
72
72
|
|
|
73
73
|
<footer>
|
|
74
|
-
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on
|
|
74
|
+
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Apr 16 2025 15:43:24 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
|
|
75
75
|
</footer>
|
|
76
76
|
|
|
77
77
|
<script>prettyPrint();</script>
|
package/package.json
CHANGED
package/scla.mjs
CHANGED
package/src/WConverhpClient.mjs
CHANGED
|
@@ -677,6 +677,33 @@ function WConverhpClient(opt) {
|
|
|
677
677
|
let chunkTotal = Math.ceil(fileTotalSize / sizeSlice)
|
|
678
678
|
// console.log('chunkTotal', chunkTotal)
|
|
679
679
|
|
|
680
|
+
//progCount, progWeightSlice
|
|
681
|
+
let progCount = 0
|
|
682
|
+
let progWeightSlice = 0.99 //上傳階段進度使用99%
|
|
683
|
+
// let progWeightMerge = 0.01 //合併階段進度使用1%
|
|
684
|
+
|
|
685
|
+
//cbProgressSlice
|
|
686
|
+
let cbProgressSlice = (msg) => {
|
|
687
|
+
let perc = msg.prog
|
|
688
|
+
let dir = msg.m
|
|
689
|
+
if (dir === 'upload' && perc === 100) {
|
|
690
|
+
progCount++
|
|
691
|
+
let r = progCount / chunkTotal
|
|
692
|
+
let prog = r * progWeightSlice * 100
|
|
693
|
+
let psiz = r * fileTotalSize
|
|
694
|
+
cbProgress({ prog, p: psiz, m: 'upload' })
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
//cbProgressMerge
|
|
699
|
+
let cbProgressMerge = (msg) => {
|
|
700
|
+
let perc = msg.prog
|
|
701
|
+
let dir = msg.m
|
|
702
|
+
if (dir === 'download' && perc === 100) {
|
|
703
|
+
cbProgress({ prog: 100, p: fileTotalSize, m: 'upload' })
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
|
|
680
707
|
//fileTotalHash
|
|
681
708
|
// console.log(`calc hash for fileTotalSize[${fileTotalSize}]...`)
|
|
682
709
|
let fileTotalHash = await calcHash(bb)
|
|
@@ -694,20 +721,22 @@ function WConverhpClient(opt) {
|
|
|
694
721
|
// bSls: true,
|
|
695
722
|
// slks: [
|
|
696
723
|
// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
|
|
697
|
-
// 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
|
|
698
|
-
// 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
|
699
|
-
// 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
|
|
700
|
-
// 48, 49, 50, 51, 52, 53
|
|
701
724
|
// ]
|
|
702
725
|
// }
|
|
703
726
|
|
|
704
727
|
//check
|
|
705
728
|
if (resUpCkt.bAllHash) {
|
|
706
729
|
// console.log('已有上傳大檔')
|
|
730
|
+
|
|
731
|
+
//cbProgressMerge
|
|
732
|
+
cbProgressMerge({ prog: 100, m: 'download' }) //觸發上傳完畢後之下載回應, 故m須為download
|
|
733
|
+
|
|
734
|
+
//resMg, 直接回傳
|
|
707
735
|
let resMg = {
|
|
708
736
|
filename: fileTotalName,
|
|
709
737
|
path: resUpCkt.path,
|
|
710
738
|
}
|
|
739
|
+
|
|
711
740
|
return resMg
|
|
712
741
|
}
|
|
713
742
|
|
|
@@ -772,33 +801,6 @@ function WConverhpClient(opt) {
|
|
|
772
801
|
let packageId = fileTotalHash
|
|
773
802
|
// console.log('packageId', packageId)
|
|
774
803
|
|
|
775
|
-
//progCount, progWeightSlice
|
|
776
|
-
let progCount = 0
|
|
777
|
-
let progWeightSlice = 0.99 //上傳階段進度使用99%
|
|
778
|
-
// let progWeightMerge = 0.01 //合併階段進度使用1%
|
|
779
|
-
|
|
780
|
-
//cbProgressSlice
|
|
781
|
-
let cbProgressSlice = (msg) => {
|
|
782
|
-
let perc = msg.prog
|
|
783
|
-
let dir = msg.m
|
|
784
|
-
if (dir === 'upload' && perc === 100) {
|
|
785
|
-
progCount++
|
|
786
|
-
let r = progCount / chunkTotal
|
|
787
|
-
let prog = r * progWeightSlice * 100
|
|
788
|
-
let psiz = r * fileTotalSize
|
|
789
|
-
cbProgress({ prog, p: psiz, m: 'upload' })
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
//cbProgressMerge
|
|
794
|
-
let cbProgressMerge = (msg) => {
|
|
795
|
-
let perc = msg.prog
|
|
796
|
-
let dir = msg.m
|
|
797
|
-
if (dir === 'download' && perc === 100) {
|
|
798
|
-
cbProgress({ prog: 100, p: fileTotalSize, m: 'upload' })
|
|
799
|
-
}
|
|
800
|
-
}
|
|
801
|
-
|
|
802
804
|
//upload slice
|
|
803
805
|
// console.log(`upload slice...`)
|
|
804
806
|
for (let i = 0; i < chunkTotal; i++) {
|
|
@@ -859,22 +861,33 @@ function WConverhpClient(opt) {
|
|
|
859
861
|
// }
|
|
860
862
|
|
|
861
863
|
//check
|
|
862
|
-
if (res.state === '
|
|
864
|
+
if (res.state === 'success') {
|
|
865
|
+
|
|
866
|
+
//clearInterval
|
|
867
|
+
clearInterval(t)
|
|
863
868
|
|
|
864
869
|
//cbProgressMerge
|
|
865
|
-
cbProgressMerge({ prog: 100, m: 'download' })
|
|
870
|
+
cbProgressMerge({ prog: 100, m: 'download' }) //觸發上傳完畢後之下載回應, 故m須為download
|
|
866
871
|
|
|
867
|
-
//resolve,
|
|
872
|
+
//resolve, state為'success'時提取msg回傳
|
|
873
|
+
pm.resolve(res.msg)
|
|
874
|
+
|
|
875
|
+
}
|
|
876
|
+
else if (res.state === 'error') {
|
|
877
|
+
console.log('merge-slices-get error', res)
|
|
878
|
+
|
|
879
|
+
//clearInterval
|
|
880
|
+
clearInterval(t)
|
|
881
|
+
|
|
882
|
+
//reject, state為'error'時會於msg提供錯誤訊息
|
|
868
883
|
pm.resolve(res.msg)
|
|
869
884
|
|
|
870
885
|
}
|
|
871
886
|
|
|
872
887
|
})
|
|
873
888
|
.catch((err) => {
|
|
874
|
-
console.log(err)
|
|
875
|
-
|
|
876
|
-
.finally(() => {
|
|
877
|
-
clearInterval(t)
|
|
889
|
+
console.log('merge-slices-get catch', err)
|
|
890
|
+
//可能發生網路斷訊錯誤, 不clearInterval, 持續輪循測試合併大檔之狀態
|
|
878
891
|
})
|
|
879
892
|
|
|
880
893
|
}, 2000)
|
|
@@ -883,11 +896,11 @@ function WConverhpClient(opt) {
|
|
|
883
896
|
}
|
|
884
897
|
|
|
885
898
|
//checkMerging
|
|
886
|
-
let
|
|
887
|
-
// console.log('
|
|
899
|
+
let resMg = await checkMerging()
|
|
900
|
+
// console.log('resMg', resMg)
|
|
888
901
|
|
|
889
902
|
// console.log(`upload slice done`)
|
|
890
|
-
return
|
|
903
|
+
return resMg
|
|
891
904
|
}
|
|
892
905
|
|
|
893
906
|
//execute
|
package/src/WConverhpServer.mjs
CHANGED
|
@@ -764,14 +764,15 @@ function WConverhpServer(opt = {}) {
|
|
|
764
764
|
|
|
765
765
|
//out
|
|
766
766
|
out = {
|
|
767
|
-
queueId,
|
|
768
767
|
state: r.state,
|
|
768
|
+
msg: r.msg, //state為'error'時會於msg提供錯誤訊息
|
|
769
|
+
queueId,
|
|
769
770
|
filename,
|
|
770
771
|
path: r.path,
|
|
771
772
|
}
|
|
772
773
|
|
|
773
774
|
//check
|
|
774
|
-
if (r.state === '
|
|
775
|
+
if (r.state === 'success') {
|
|
775
776
|
|
|
776
777
|
//ri
|
|
777
778
|
let ri = {
|
|
@@ -784,9 +785,9 @@ function WConverhpServer(opt = {}) {
|
|
|
784
785
|
let ro = await procUpload(ri)
|
|
785
786
|
// console.log('procUpload done', ro)
|
|
786
787
|
|
|
787
|
-
//out merge, ro須附加至msg, 才供前端偵測state為'
|
|
788
|
+
//out merge, ro須附加至msg, 才供前端偵測state為'success'時提取msg顯示
|
|
788
789
|
out = {
|
|
789
|
-
...out,
|
|
790
|
+
...out, //state為'success'時msg為空字串, 直接被ro複寫至msg即可
|
|
790
791
|
msg: ro,
|
|
791
792
|
}
|
|
792
793
|
|
package/src/checkSlicesHash.mjs
CHANGED
|
@@ -40,8 +40,8 @@ let checkSlicesHash = async(fileSliceHashs, fileHash, pathUploadTemp) => {
|
|
|
40
40
|
_fileHash = res
|
|
41
41
|
})
|
|
42
42
|
.catch((err) => {
|
|
43
|
-
console.log(err)
|
|
44
43
|
console.log(`fsIsFile(_pathFile)`, _pathFile, fsIsFile(_pathFile))
|
|
44
|
+
console.log(err)
|
|
45
45
|
})
|
|
46
46
|
// console.log('_fileHash', _fileHash)
|
|
47
47
|
|