kfb-view 2.4.0 → 2.4.2
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/.idea/workspace.xml +159 -123
- package/config/webpack.dev.conf.js +1 -2
- package/example/index.js +51 -94
- package/package.json +1 -1
- package/src/components/common/common.js +2 -2
- package/src/components/shape/index.js +3 -3
- package/src/components/tailoring/index.js +4 -2
- package/lib/kfb-view.js +0 -2
- package/lib/kfb-view.js.LICENSE.txt +0 -9
package/.idea/workspace.xml
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project version="4">
|
|
3
|
+
<component name="AutoImportSettings">
|
|
4
|
+
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
|
+
</component>
|
|
3
6
|
<component name="BranchesTreeState">
|
|
4
7
|
<expand>
|
|
5
8
|
<path>
|
|
@@ -36,13 +39,9 @@
|
|
|
36
39
|
</select>
|
|
37
40
|
</component>
|
|
38
41
|
<component name="ChangeListManager">
|
|
39
|
-
<list default="true" id="55024232-8108-4dc9-9bd3-0fd2aa2f34f8" name="Default Changelist" comment="
|
|
40
|
-
<change beforePath="$PROJECT_DIR$/config/webpack.dev.conf.js" beforeDir="false" afterPath="$PROJECT_DIR$/config/webpack.dev.conf.js" afterDir="false" />
|
|
41
|
-
<change beforePath="$PROJECT_DIR$/example/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/example/index.js" afterDir="false" />
|
|
42
|
+
<list default="true" id="55024232-8108-4dc9-9bd3-0fd2aa2f34f8" name="Default Changelist" comment="build:3.0.1">
|
|
42
43
|
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
43
44
|
<change beforePath="$PROJECT_DIR$/src/components/shape/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/components/shape/index.js" afterDir="false" />
|
|
44
|
-
<change beforePath="$PROJECT_DIR$/src/const/mark.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/const/mark.js" afterDir="false" />
|
|
45
|
-
<change beforePath="$PROJECT_DIR$/src/view.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/view.js" afterDir="false" />
|
|
46
45
|
</list>
|
|
47
46
|
<option name="SHOW_DIALOG" value="false" />
|
|
48
47
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -84,23 +83,26 @@
|
|
|
84
83
|
"Project.color": "4c401d",
|
|
85
84
|
"WebServerToolWindowFactoryState": "false",
|
|
86
85
|
"dart.analysis.tool.window.visible": "false",
|
|
86
|
+
"git-widget-placeholder": "master",
|
|
87
87
|
"last_opened_file_path": "/home/fanqifeng/WebstormProjects/kfb-view",
|
|
88
88
|
"node.js.detected.package.eslint": "true",
|
|
89
|
+
"node.js.detected.package.tslint": "true",
|
|
89
90
|
"node.js.selected.package.eslint": "(autodetect)",
|
|
91
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
90
92
|
"nodejs_interpreter_path": "/home/fanqifeng/.nvm/versions/node/v10.15.1/bin/node",
|
|
91
93
|
"nodejs_package_manager_path": "npm",
|
|
92
94
|
"settings.editor.selected.configurable": "settings.nodejs",
|
|
93
|
-
"ts.external.directory.path": "/opt/WebStorm/plugins/
|
|
95
|
+
"ts.external.directory.path": "/opt/WebStorm/plugins/javascript-impl/jsLanguageServicesImpl/external",
|
|
94
96
|
"vue.rearranger.settings.migration": "true"
|
|
95
97
|
}
|
|
96
98
|
}</component>
|
|
97
99
|
<component name="RecentsManager">
|
|
98
100
|
<key name="CopyFile.RECENT_KEYS">
|
|
101
|
+
<recent name="$PROJECT_DIR$/src/plugin/openseadragon" />
|
|
99
102
|
<recent name="$PROJECT_DIR$/example" />
|
|
100
103
|
<recent name="$PROJECT_DIR$/src/image" />
|
|
101
104
|
<recent name="$PROJECT_DIR$/src/plugin" />
|
|
102
105
|
<recent name="$PROJECT_DIR$/src/components/cache" />
|
|
103
|
-
<recent name="$PROJECT_DIR$/src/components/rotation" />
|
|
104
106
|
</key>
|
|
105
107
|
<key name="MoveFile.RECENT_KEYS">
|
|
106
108
|
<recent name="$PROJECT_DIR$/src/components/grid" />
|
|
@@ -385,105 +387,40 @@
|
|
|
385
387
|
<workItem from="1671419756098" duration="2398000" />
|
|
386
388
|
<workItem from="1671437015276" duration="591000" />
|
|
387
389
|
<workItem from="1671501857160" duration="90000" />
|
|
388
|
-
<workItem from="1671751607914" duration="
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
<
|
|
392
|
-
<
|
|
393
|
-
<
|
|
394
|
-
<
|
|
395
|
-
<
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
<
|
|
399
|
-
<
|
|
400
|
-
<
|
|
401
|
-
<
|
|
402
|
-
<
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
<
|
|
406
|
-
<
|
|
407
|
-
<
|
|
408
|
-
<
|
|
409
|
-
<
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
<
|
|
413
|
-
<
|
|
414
|
-
<
|
|
415
|
-
<
|
|
416
|
-
<
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
<
|
|
420
|
-
<
|
|
421
|
-
<
|
|
422
|
-
<option name="project" value="LOCAL" />
|
|
423
|
-
<updated>1657538768786</updated>
|
|
424
|
-
</task>
|
|
425
|
-
<task id="LOCAL-00072" summary="优化点击操作">
|
|
426
|
-
<created>1657539785588</created>
|
|
427
|
-
<option name="number" value="00072" />
|
|
428
|
-
<option name="presentableId" value="LOCAL-00072" />
|
|
429
|
-
<option name="project" value="LOCAL" />
|
|
430
|
-
<updated>1657539785589</updated>
|
|
431
|
-
</task>
|
|
432
|
-
<task id="LOCAL-00073" summary="enableDbClickClose">
|
|
433
|
-
<created>1657539900044</created>
|
|
434
|
-
<option name="number" value="00073" />
|
|
435
|
-
<option name="presentableId" value="LOCAL-00073" />
|
|
436
|
-
<option name="project" value="LOCAL" />
|
|
437
|
-
<updated>1657539900044</updated>
|
|
438
|
-
</task>
|
|
439
|
-
<task id="LOCAL-00074" summary="2.1.20">
|
|
440
|
-
<created>1657539914133</created>
|
|
441
|
-
<option name="number" value="00074" />
|
|
442
|
-
<option name="presentableId" value="LOCAL-00074" />
|
|
443
|
-
<option name="project" value="LOCAL" />
|
|
444
|
-
<updated>1657539914133</updated>
|
|
445
|
-
</task>
|
|
446
|
-
<task id="LOCAL-00075" summary="view.js">
|
|
447
|
-
<created>1657540107150</created>
|
|
448
|
-
<option name="number" value="00075" />
|
|
449
|
-
<option name="presentableId" value="LOCAL-00075" />
|
|
450
|
-
<option name="project" value="LOCAL" />
|
|
451
|
-
<updated>1657540107150</updated>
|
|
452
|
-
</task>
|
|
453
|
-
<task id="LOCAL-00076" summary="优化选中点">
|
|
454
|
-
<created>1657588323251</created>
|
|
455
|
-
<option name="number" value="00076" />
|
|
456
|
-
<option name="presentableId" value="LOCAL-00076" />
|
|
457
|
-
<option name="project" value="LOCAL" />
|
|
458
|
-
<updated>1657588323252</updated>
|
|
459
|
-
</task>
|
|
460
|
-
<task id="LOCAL-00077" summary="优化标注图形显示,一次最多绘制5000个点,超过的标注延迟加载">
|
|
461
|
-
<created>1657592781786</created>
|
|
462
|
-
<option name="number" value="00077" />
|
|
463
|
-
<option name="presentableId" value="LOCAL-00077" />
|
|
464
|
-
<option name="project" value="LOCAL" />
|
|
465
|
-
<updated>1657592781786</updated>
|
|
466
|
-
</task>
|
|
467
|
-
<task id="LOCAL-00078" summary="键盘事件更新,delete可删除曲线标注点,双击可添加曲线标注点">
|
|
468
|
-
<created>1657607397044</created>
|
|
469
|
-
<option name="number" value="00078" />
|
|
470
|
-
<option name="presentableId" value="LOCAL-00078" />
|
|
471
|
-
<option name="project" value="LOCAL" />
|
|
472
|
-
<updated>1657607397044</updated>
|
|
473
|
-
</task>
|
|
474
|
-
<task id="LOCAL-00079" summary="2.20.0">
|
|
475
|
-
<created>1657607434015</created>
|
|
476
|
-
<option name="number" value="00079" />
|
|
477
|
-
<option name="presentableId" value="LOCAL-00079" />
|
|
478
|
-
<option name="project" value="LOCAL" />
|
|
479
|
-
<updated>1657607434015</updated>
|
|
480
|
-
</task>
|
|
481
|
-
<task id="LOCAL-00080" summary="2.2.0">
|
|
482
|
-
<created>1657607449348</created>
|
|
483
|
-
<option name="number" value="00080" />
|
|
484
|
-
<option name="presentableId" value="LOCAL-00080" />
|
|
485
|
-
<option name="project" value="LOCAL" />
|
|
486
|
-
<updated>1657607449348</updated>
|
|
390
|
+
<workItem from="1671751607914" duration="9693000" />
|
|
391
|
+
<workItem from="1671762555964" duration="1197000" />
|
|
392
|
+
<workItem from="1675327241367" duration="1458000" />
|
|
393
|
+
<workItem from="1675384282016" duration="594000" />
|
|
394
|
+
<workItem from="1675385204348" duration="1462000" />
|
|
395
|
+
<workItem from="1675843622628" duration="4524000" />
|
|
396
|
+
<workItem from="1675848342418" duration="2364000" />
|
|
397
|
+
<workItem from="1675902452322" duration="1711000" />
|
|
398
|
+
<workItem from="1675909040416" duration="1850000" />
|
|
399
|
+
<workItem from="1675923421168" duration="14000" />
|
|
400
|
+
<workItem from="1676430334861" duration="2002000" />
|
|
401
|
+
<workItem from="1676507825692" duration="1801000" />
|
|
402
|
+
<workItem from="1676515560281" duration="597000" />
|
|
403
|
+
<workItem from="1676530835986" duration="1197000" />
|
|
404
|
+
<workItem from="1676621760411" duration="596000" />
|
|
405
|
+
<workItem from="1676679228746" duration="561000" />
|
|
406
|
+
<workItem from="1676680577748" duration="1197000" />
|
|
407
|
+
<workItem from="1676690227544" duration="597000" />
|
|
408
|
+
<workItem from="1676722969064" duration="565000" />
|
|
409
|
+
<workItem from="1678926296962" duration="2385000" />
|
|
410
|
+
<workItem from="1679708561519" duration="550000" />
|
|
411
|
+
<workItem from="1679728741473" duration="161000" />
|
|
412
|
+
<workItem from="1680268962874" duration="1136000" />
|
|
413
|
+
<workItem from="1680271989452" duration="591000" />
|
|
414
|
+
<workItem from="1680437372638" duration="2994000" />
|
|
415
|
+
<workItem from="1680440411212" duration="49000" />
|
|
416
|
+
<workItem from="1680526343598" duration="1856000" />
|
|
417
|
+
<workItem from="1680595613024" duration="557000" />
|
|
418
|
+
<workItem from="1680596301151" duration="1804000" />
|
|
419
|
+
<workItem from="1680740253103" duration="572000" />
|
|
420
|
+
<workItem from="1680746491709" duration="597000" />
|
|
421
|
+
<workItem from="1680750141486" duration="416000" />
|
|
422
|
+
<workItem from="1680834237716" duration="2982000" />
|
|
423
|
+
<workItem from="1680858434486" duration="1053000" />
|
|
487
424
|
</task>
|
|
488
425
|
<task id="LOCAL-00081" summary="加载速度优化">
|
|
489
426
|
<created>1657612318446</created>
|
|
@@ -730,7 +667,105 @@
|
|
|
730
667
|
<option name="project" value="LOCAL" />
|
|
731
668
|
<updated>1669966382574</updated>
|
|
732
669
|
</task>
|
|
733
|
-
<
|
|
670
|
+
<task id="LOCAL-00116" summary="2.4.0,绘制标注优化,一次只绘制2000个,分批绘制">
|
|
671
|
+
<created>1671761704584</created>
|
|
672
|
+
<option name="number" value="00116" />
|
|
673
|
+
<option name="presentableId" value="LOCAL-00116" />
|
|
674
|
+
<option name="project" value="LOCAL" />
|
|
675
|
+
<updated>1671761704585</updated>
|
|
676
|
+
</task>
|
|
677
|
+
<task id="LOCAL-00117" summary="截图区域范围数值保留2位小数">
|
|
678
|
+
<created>1675327515756</created>
|
|
679
|
+
<option name="number" value="00117" />
|
|
680
|
+
<option name="presentableId" value="LOCAL-00117" />
|
|
681
|
+
<option name="project" value="LOCAL" />
|
|
682
|
+
<updated>1675327515756</updated>
|
|
683
|
+
</task>
|
|
684
|
+
<task id="LOCAL-00118" summary="标注位置跳转增加参数,是否显示跳转动画">
|
|
685
|
+
<created>1675327595052</created>
|
|
686
|
+
<option name="number" value="00118" />
|
|
687
|
+
<option name="presentableId" value="LOCAL-00118" />
|
|
688
|
+
<option name="project" value="LOCAL" />
|
|
689
|
+
<updated>1675327595052</updated>
|
|
690
|
+
</task>
|
|
691
|
+
<task id="LOCAL-00119" summary="2.4.1">
|
|
692
|
+
<created>1675327616880</created>
|
|
693
|
+
<option name="number" value="00119" />
|
|
694
|
+
<option name="presentableId" value="LOCAL-00119" />
|
|
695
|
+
<option name="project" value="LOCAL" />
|
|
696
|
+
<updated>1675327616880</updated>
|
|
697
|
+
</task>
|
|
698
|
+
<task id="LOCAL-00120" summary="升级openseadragon插件">
|
|
699
|
+
<created>1675919992646</created>
|
|
700
|
+
<option name="number" value="00120" />
|
|
701
|
+
<option name="presentableId" value="LOCAL-00120" />
|
|
702
|
+
<option name="project" value="LOCAL" />
|
|
703
|
+
<updated>1675919992646</updated>
|
|
704
|
+
</task>
|
|
705
|
+
<task id="LOCAL-00121" summary="feat:增加停止绘画事件">
|
|
706
|
+
<created>1678929016258</created>
|
|
707
|
+
<option name="number" value="00121" />
|
|
708
|
+
<option name="presentableId" value="LOCAL-00121" />
|
|
709
|
+
<option name="project" value="LOCAL" />
|
|
710
|
+
<updated>1678929016258</updated>
|
|
711
|
+
</task>
|
|
712
|
+
<task id="LOCAL-00122" summary="feat:截图生成的图片保留标注信息">
|
|
713
|
+
<created>1678929084617</created>
|
|
714
|
+
<option name="number" value="00122" />
|
|
715
|
+
<option name="presentableId" value="LOCAL-00122" />
|
|
716
|
+
<option name="project" value="LOCAL" />
|
|
717
|
+
<updated>1678929084617</updated>
|
|
718
|
+
</task>
|
|
719
|
+
<task id="LOCAL-00123" summary="build:3.0.1">
|
|
720
|
+
<created>1678929156803</created>
|
|
721
|
+
<option name="number" value="00123" />
|
|
722
|
+
<option name="presentableId" value="LOCAL-00123" />
|
|
723
|
+
<option name="project" value="LOCAL" />
|
|
724
|
+
<updated>1678929156803</updated>
|
|
725
|
+
</task>
|
|
726
|
+
<task id="LOCAL-00124" summary="build:3.0.2 截图图片格式自定义">
|
|
727
|
+
<created>1680269167145</created>
|
|
728
|
+
<option name="number" value="00124" />
|
|
729
|
+
<option name="presentableId" value="LOCAL-00124" />
|
|
730
|
+
<option name="project" value="LOCAL" />
|
|
731
|
+
<updated>1680269167145</updated>
|
|
732
|
+
</task>
|
|
733
|
+
<task id="LOCAL-00125" summary="build:3.0.3 截图支持设置分辨率,质量,格式">
|
|
734
|
+
<created>1680440104839</created>
|
|
735
|
+
<option name="number" value="00125" />
|
|
736
|
+
<option name="presentableId" value="LOCAL-00125" />
|
|
737
|
+
<option name="project" value="LOCAL" />
|
|
738
|
+
<updated>1680440104840</updated>
|
|
739
|
+
</task>
|
|
740
|
+
<task id="LOCAL-00126" summary="build:3.0.3导航图宽高限制">
|
|
741
|
+
<created>1680528157819</created>
|
|
742
|
+
<option name="number" value="00126" />
|
|
743
|
+
<option name="presentableId" value="LOCAL-00126" />
|
|
744
|
+
<option name="project" value="LOCAL" />
|
|
745
|
+
<updated>1680528157819</updated>
|
|
746
|
+
</task>
|
|
747
|
+
<task id="LOCAL-00127" summary="build:3.0.5 截图记录位置信息">
|
|
748
|
+
<created>1680847205108</created>
|
|
749
|
+
<option name="number" value="00127" />
|
|
750
|
+
<option name="presentableId" value="LOCAL-00127" />
|
|
751
|
+
<option name="project" value="LOCAL" />
|
|
752
|
+
<updated>1680847205108</updated>
|
|
753
|
+
</task>
|
|
754
|
+
<task id="LOCAL-00128" summary="build:3.0.6 修复填充图形绘制时显示异常">
|
|
755
|
+
<created>1680859251199</created>
|
|
756
|
+
<option name="number" value="00128" />
|
|
757
|
+
<option name="presentableId" value="LOCAL-00128" />
|
|
758
|
+
<option name="project" value="LOCAL" />
|
|
759
|
+
<updated>1680859251199</updated>
|
|
760
|
+
</task>
|
|
761
|
+
<task id="LOCAL-00129" summary="build:3.0.6 填充图形绘制时,内容偏移">
|
|
762
|
+
<created>1680859385125</created>
|
|
763
|
+
<option name="number" value="00129" />
|
|
764
|
+
<option name="presentableId" value="LOCAL-00129" />
|
|
765
|
+
<option name="project" value="LOCAL" />
|
|
766
|
+
<updated>1680859385125</updated>
|
|
767
|
+
</task>
|
|
768
|
+
<option name="localTasksCounter" value="130" />
|
|
734
769
|
<servers />
|
|
735
770
|
</component>
|
|
736
771
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -743,6 +778,7 @@
|
|
|
743
778
|
<option value="Default.Author" />
|
|
744
779
|
<option value="Default.Date" />
|
|
745
780
|
<option value="Default.Subject" />
|
|
781
|
+
<option value="Space.CommitStatus" />
|
|
746
782
|
</list>
|
|
747
783
|
</option>
|
|
748
784
|
</component>
|
|
@@ -757,7 +793,7 @@
|
|
|
757
793
|
<entry key="branch">
|
|
758
794
|
<value>
|
|
759
795
|
<list>
|
|
760
|
-
<option value="master" />
|
|
796
|
+
<option value="origin/master" />
|
|
761
797
|
</list>
|
|
762
798
|
</value>
|
|
763
799
|
</entry>
|
|
@@ -772,20 +808,6 @@
|
|
|
772
808
|
<component name="VcsManagerConfiguration">
|
|
773
809
|
<option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
|
|
774
810
|
<option name="LOCAL_CHANGES_DETAILS_PREVIEW_SHOWN" value="false" />
|
|
775
|
-
<MESSAGE value="grid优化" />
|
|
776
|
-
<MESSAGE value="触发限制优化" />
|
|
777
|
-
<MESSAGE value="增加图片绘制" />
|
|
778
|
-
<MESSAGE value="2.2.5" />
|
|
779
|
-
<MESSAGE value="2.2.8" />
|
|
780
|
-
<MESSAGE value="优化标注信息显示" />
|
|
781
|
-
<MESSAGE value="标注事件回调" />
|
|
782
|
-
<MESSAGE value="defaultShow" />
|
|
783
|
-
<MESSAGE value="2.2.9" />
|
|
784
|
-
<MESSAGE value="矩形框的选中点变成线" />
|
|
785
|
-
<MESSAGE value="2.3.0" />
|
|
786
|
-
<MESSAGE value="矩形移动点默认隐藏,悬浮显示" />
|
|
787
|
-
<MESSAGE value="label.model.js" />
|
|
788
|
-
<MESSAGE value="解决反向绘制时,标注信息显示错误" />
|
|
789
811
|
<MESSAGE value="2.3.1" />
|
|
790
812
|
<MESSAGE value="优化渲染速度" />
|
|
791
813
|
<MESSAGE value="2.3.2" />
|
|
@@ -797,7 +819,21 @@
|
|
|
797
819
|
<MESSAGE value="2.3.6,优化移动标注时的判断操作" />
|
|
798
820
|
<MESSAGE value="2.3.6,截图文字内容判断异常" />
|
|
799
821
|
<MESSAGE value="2.3.8,截图文字内容增加函数" />
|
|
800
|
-
<
|
|
822
|
+
<MESSAGE value="2.4.0,绘制标注优化,一次只绘制2000个,分批绘制" />
|
|
823
|
+
<MESSAGE value="截图区域范围数值保留2位小数" />
|
|
824
|
+
<MESSAGE value="标注位置跳转增加参数,是否显示跳转动画" />
|
|
825
|
+
<MESSAGE value="2.4.1" />
|
|
826
|
+
<MESSAGE value="升级openseadragon插件" />
|
|
827
|
+
<MESSAGE value="feat:增加停止绘画事件" />
|
|
828
|
+
<MESSAGE value="feat:截图生成的图片保留标注信息" />
|
|
829
|
+
<MESSAGE value="build:3.0.1" />
|
|
830
|
+
<MESSAGE value="build:3.0.2 截图图片格式自定义" />
|
|
831
|
+
<MESSAGE value="build:3.0.3 截图支持设置分辨率,质量,格式" />
|
|
832
|
+
<MESSAGE value="build:3.0.3导航图宽高限制" />
|
|
833
|
+
<MESSAGE value="build:3.0.5 截图记录位置信息" />
|
|
834
|
+
<MESSAGE value="build:3.0.6 修复填充图形绘制时显示异常" />
|
|
835
|
+
<MESSAGE value="build:3.0.6 填充图形绘制时,内容偏移" />
|
|
836
|
+
<option name="LAST_COMMIT_MESSAGE" value="build:3.0.6 填充图形绘制时,内容偏移" />
|
|
801
837
|
<option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="true" />
|
|
802
838
|
</component>
|
|
803
839
|
<component name="XSLT-Support.FileAssociations.UIState">
|
|
@@ -66,8 +66,7 @@ module.exports = function() {
|
|
|
66
66
|
// target: 'http://gastric.label.hzztai.com/',
|
|
67
67
|
// target: 'http://192.168.1.91:7007',
|
|
68
68
|
// target: 'http://192.168.1.91',
|
|
69
|
-
|
|
70
|
-
target: 'https://vai.hzztai.com',
|
|
69
|
+
target: 'http://192.168.1.16',
|
|
71
70
|
// target: 'https://tct.hzztai.com',
|
|
72
71
|
// target: 'https://pis-ningbo.hzztai.com',
|
|
73
72
|
// target: 'https://pis-test.hzztai.com',
|
package/example/index.js
CHANGED
|
@@ -25,12 +25,12 @@ deleteEmptyImg.src = deleteEmptySvg;
|
|
|
25
25
|
const hasAuditImg = new Image();
|
|
26
26
|
hasAuditImg.src = hasAuditSvg;
|
|
27
27
|
|
|
28
|
-
const fileName = 'uploads/TCT/已入库/
|
|
28
|
+
const fileName = '/uploads/TCT/已入库/ningbo_pathology_center/neg/labeling/WS/T2018-46374_ThinPrep_2018-08-31_WS.kfb';
|
|
29
29
|
|
|
30
30
|
const instance = axios.create({
|
|
31
31
|
baseURL: '/api',
|
|
32
32
|
timeout: 1000,
|
|
33
|
-
headers: {'Authorization': 'bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
|
|
33
|
+
headers: {'Authorization': 'bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vMTkyLjE2OC4xLjE2L2FwaS9hdXRoL2xvZ2luIiwiaWF0IjoxNjY2OTI2ODk1LCJleHAiOjE2NjY5NjUyOTUsIm5iZiI6MTY2NjkyNjg5NSwianRpIjoieU5mT3NXMmVraWs0RTUxayIsInN1YiI6MSwicHJ2IjoiMjNiZDVjODk0OWY2MDBhZGIzOWU3MDFjNDAwODcyZGI3YTU5NzZmNyJ9.2T7Xkx-5BhtR1HOc5FLbJIzDmgaq2bbCuXJoowUX0IE'},
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
let cacheImage = {};
|
|
@@ -76,7 +76,7 @@ instance.get(`/process/info?file=${fileName}`).then(({data}) => {
|
|
|
76
76
|
},
|
|
77
77
|
pxConversion: {
|
|
78
78
|
unit: 'um',
|
|
79
|
-
imageCapRes: data.imageCapRes
|
|
79
|
+
imageCapRes: data.imageCapRes,
|
|
80
80
|
},
|
|
81
81
|
grid: {
|
|
82
82
|
show: false,
|
|
@@ -273,7 +273,7 @@ instance.get(`/process/info?file=${fileName}`).then(({data}) => {
|
|
|
273
273
|
kv.viewer.addHandler('zoom', (res) => {
|
|
274
274
|
const zoom = kv.viewer.viewport.viewportToImageZoom(res.zoom) *
|
|
275
275
|
kv.$options.scale;
|
|
276
|
-
|
|
276
|
+
console.log(zoom.toFixed(2) / 1);
|
|
277
277
|
});
|
|
278
278
|
console.log(kv);
|
|
279
279
|
let list = [];
|
|
@@ -304,6 +304,7 @@ instance.get(`/process/info?file=${fileName}`).then(({data}) => {
|
|
|
304
304
|
kv.board.startDraw({
|
|
305
305
|
tool: KfbView.marks.RECTANGLE,
|
|
306
306
|
isROI: false,
|
|
307
|
+
once: true,
|
|
307
308
|
measure: true,
|
|
308
309
|
});
|
|
309
310
|
};
|
|
@@ -372,9 +373,9 @@ instance.get(`/process/info?file=${fileName}`).then(({data}) => {
|
|
|
372
373
|
console.log(e);
|
|
373
374
|
});*/
|
|
374
375
|
kv.$on(KfbView.events.EVENT_END_PAINTING, (e) => {
|
|
375
|
-
console.
|
|
376
|
-
|
|
377
|
-
|
|
376
|
+
console.log(e.detail);
|
|
377
|
+
list.push(e.detail);
|
|
378
|
+
kv.initLabelList(list);
|
|
378
379
|
// kv.board.endDraw();
|
|
379
380
|
});
|
|
380
381
|
kv.$on(KfbView.events.EVENT_DELETE_LABEL, (e) => {
|
|
@@ -412,111 +413,67 @@ instance.get(`/process/info?file=${fileName}`).then(({data}) => {
|
|
|
412
413
|
}, 6000);
|
|
413
414
|
}, 6000);
|
|
414
415
|
|
|
415
|
-
initLabels();
|
|
416
|
+
// initLabels();
|
|
416
417
|
|
|
417
418
|
function initLabels() {
|
|
418
419
|
const labels = [];
|
|
419
|
-
const colors = ['#027AFF', '#f56c6c'
|
|
420
|
-
for (let i = 0; i <
|
|
420
|
+
const colors = ['#027AFF', '#f56c6c'];
|
|
421
|
+
for (let i = 0; i < 50000; i++) {
|
|
421
422
|
const point = {
|
|
422
423
|
x: Math.random() * data.width,
|
|
423
424
|
y: Math.random() * data.height,
|
|
424
425
|
};
|
|
425
|
-
const point1 = {
|
|
426
|
-
x: point.x + Math.random() * 1000,
|
|
427
|
-
y: point.y + Math.random() * 1000,
|
|
428
|
-
};
|
|
429
426
|
const label = {
|
|
430
427
|
// fillStyle: 'rgba(2, 122, 255, 1)',
|
|
431
|
-
lineWidth:
|
|
432
|
-
points: [point,
|
|
428
|
+
lineWidth: 6,
|
|
429
|
+
points: [point, point],
|
|
433
430
|
scale: 0.1,
|
|
434
|
-
strokeStyle:
|
|
435
|
-
tool: '
|
|
436
|
-
move:
|
|
437
|
-
resize: true,
|
|
431
|
+
strokeStyle: Math.random() > .5 ? colors[0] : colors[1],
|
|
432
|
+
tool: 'Dot',
|
|
433
|
+
move: false,
|
|
438
434
|
};
|
|
439
435
|
labels.push(label);
|
|
440
436
|
}
|
|
441
437
|
kv.initLabelList(labels);
|
|
442
438
|
}
|
|
443
439
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
(
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
...r,
|
|
475
|
-
});
|
|
440
|
+
instance.get(
|
|
441
|
+
`/image_annotation?file=${fileName}&slide_label_id=48010&user_id=1`).
|
|
442
|
+
then(({data}) => {
|
|
443
|
+
data = data.data;
|
|
444
|
+
const labelRegionList = [];
|
|
445
|
+
(data || []).filter(item => item.id && item.region.width > 0).
|
|
446
|
+
forEach(item => {
|
|
447
|
+
const subClass = item.sub_class || item.subClass;
|
|
448
|
+
const is_ai = !!item.score || subClass === 'ROI' && !item.user_name; // 通过分数来判断是否是AI识别标注
|
|
449
|
+
const r = {
|
|
450
|
+
...item,
|
|
451
|
+
tool: (item.type || item.tool) === 'Spline' ?
|
|
452
|
+
'Polygon' :
|
|
453
|
+
(item.type || item.tool),
|
|
454
|
+
strokeStyle: `#${item.color.toString(16).
|
|
455
|
+
slice(2)}${item.color.toString(16).slice(0, 2)}`,
|
|
456
|
+
measure: true,
|
|
457
|
+
sub_class: subClass,
|
|
458
|
+
isROI: subClass === 'ROI',
|
|
459
|
+
isClose: item.isClose || item.is_close,
|
|
460
|
+
lineWidth: item.lineWidth || item.width,
|
|
461
|
+
text: item.text || item.description,
|
|
462
|
+
is_ai,
|
|
463
|
+
ai_sub_class: is_ai ? (item.ai_sub_class ?? item.sub_class) : '',
|
|
464
|
+
ai_points: is_ai ? (item.ai_points ?? item.points) : '',
|
|
465
|
+
ai_region: is_ai ? (item.ai_region ?? item.region) : '',
|
|
466
|
+
};
|
|
467
|
+
r.content = (kv.area.getMeasureContent(r)?.texts || []).slice(1, -1);
|
|
468
|
+
labelRegionList.push({
|
|
469
|
+
...r,
|
|
476
470
|
});
|
|
477
|
-
console.time('initLabelList');
|
|
478
|
-
kv.initLabelList(labelRegionList.filter(({deleted_at}) => !deleted_at));
|
|
479
|
-
console.timeEnd('initLabelList');
|
|
480
|
-
});
|
|
481
|
-
document.querySelector('#reDraw').addEventListener('click', () => {
|
|
482
|
-
instance.get(
|
|
483
|
-
`/image_annotation?file=${fileName}&slide_label_id=38749&user_id=27`).
|
|
484
|
-
then(({data}) => {
|
|
485
|
-
data = data.data;
|
|
486
|
-
const labelRegionList = [];
|
|
487
|
-
(data || []).filter(item => item.id && item.region.width > 0).
|
|
488
|
-
forEach(item => {
|
|
489
|
-
const subClass = item.sub_class || item.subClass;
|
|
490
|
-
const is_ai = !!item.score || subClass === 'ROI' && !item.user_name; // 通过分数来判断是否是AI识别标注
|
|
491
|
-
const r = {
|
|
492
|
-
...item,
|
|
493
|
-
tool: (item.type || item.tool) === 'Spline' ?
|
|
494
|
-
'Polygon' :
|
|
495
|
-
(item.type || item.tool),
|
|
496
|
-
strokeStyle: item.strokeStyle || `#${item.color.toString(16).
|
|
497
|
-
slice(2)}${item.color.toString(16).slice(0, 2)}`,
|
|
498
|
-
measure: true,
|
|
499
|
-
sub_class: subClass,
|
|
500
|
-
isROI: subClass === 'ROI',
|
|
501
|
-
isClose: item.isClose || item.is_close,
|
|
502
|
-
lineWidth: item.lineWidth || item.width,
|
|
503
|
-
text: item.text || item.description,
|
|
504
|
-
is_ai,
|
|
505
|
-
ai_sub_class: is_ai ? (item.ai_sub_class ?? item.sub_class) : '',
|
|
506
|
-
ai_points: is_ai ? (item.ai_points ?? item.points) : '',
|
|
507
|
-
ai_region: is_ai ? (item.ai_region ?? item.region) : '',
|
|
508
|
-
};
|
|
509
|
-
r.content = (kv.area.getMeasureContent(r)?.texts || []).slice(1,
|
|
510
|
-
-1);
|
|
511
|
-
labelRegionList.push({
|
|
512
|
-
...r,
|
|
513
|
-
});
|
|
514
|
-
});
|
|
515
|
-
console.time('initLabelList');
|
|
516
|
-
kv.initLabelList(labelRegionList.filter(({deleted_at}) => !deleted_at));
|
|
517
|
-
console.timeEnd('initLabelList');
|
|
518
471
|
});
|
|
519
|
-
|
|
472
|
+
kv.initLabelList(labelRegionList.filter(({deleted_at}) => !deleted_at));
|
|
473
|
+
});
|
|
474
|
+
document.querySelector('#reDraw').addEventListener('click', () => {
|
|
475
|
+
initLabels();
|
|
476
|
+
});
|
|
520
477
|
});
|
|
521
478
|
|
|
522
479
|
/**
|
package/package.json
CHANGED
|
@@ -60,8 +60,8 @@ export class ViewerCommon extends EventEmitter {
|
|
|
60
60
|
{x: rect.x + rect.width, y: rect.y + rect.height})[4];
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
moveToLabel(point) {
|
|
64
|
-
this.viewport.panTo(new Point(point.x, point.y),
|
|
63
|
+
moveToLabel(point, flag = false) {
|
|
64
|
+
this.viewport.panTo(new Point(point.x, point.y), flag);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/**
|
|
@@ -168,10 +168,10 @@ export class Shape extends ViewerCommon {
|
|
|
168
168
|
regionLabelList.forEach((item) => {
|
|
169
169
|
this.combination.setContent(this.canvas, item);
|
|
170
170
|
this.combination.draw({
|
|
171
|
-
points: item.
|
|
171
|
+
points: this.imageToViewerElementPoints(item.points),
|
|
172
172
|
tool: item.tool,
|
|
173
|
-
}, item.child.map(({
|
|
174
|
-
points:
|
|
173
|
+
}, item.child.map(({points, tool}) => ({
|
|
174
|
+
points: this.imageToViewerElementPoints(points),
|
|
175
175
|
tool,
|
|
176
176
|
})), this.viewport.getRotation());
|
|
177
177
|
});
|
|
@@ -110,10 +110,12 @@ export class Tailoring extends ViewerCommon {
|
|
|
110
110
|
ctx.beginPath();
|
|
111
111
|
ctx.fillStyle = this.color;
|
|
112
112
|
ctx.font = '18px Arial';
|
|
113
|
+
const width = (rightTop.x - leftTop.x).toFixed(2) / 1;
|
|
114
|
+
const height = (rightBottom.y - rightTop.y).toFixed(2) / 1;
|
|
113
115
|
ctx.fillText(
|
|
114
116
|
this.contents?.[2] ?
|
|
115
|
-
this.contents[2](
|
|
116
|
-
(`区域大小为:${
|
|
117
|
+
this.contents[2](width, height) :
|
|
118
|
+
(`区域大小为:${width}*${height}`),
|
|
117
119
|
leftTop.x, leftTop.y - 50);
|
|
118
120
|
ctx.fillText(this.contents?.[0] ?? `双击区域内表示完成截图`, leftTop.x,
|
|
119
121
|
leftTop.y - 30);
|