提交代码

This commit is contained in:
jiang 2024-11-28 17:30:25 +08:00
parent 65c63d3317
commit 1faa3b88cc
1 changed files with 22 additions and 46 deletions

View File

@ -5,8 +5,8 @@
</template> </template>
<script> <script>
import LabelStudio from 'label-studio'; import LabelStudio from 'label-studio'
import 'label-studio/build/static/css/main.css'; import 'label-studio/build/static/css/main.css'
export default { export default {
name: 'CustomLabelStudio', name: 'CustomLabelStudio',
@ -25,7 +25,7 @@ export default {
name: "自定义按钮", name: "自定义按钮",
icon: "🔍", icon: "🔍",
action: () => { action: () => {
console.log("自定义按钮被点击了!"); console.log("自定义按钮被点击了!")
} }
} }
], ],
@ -40,6 +40,7 @@ export default {
"RELATIONS": "关系", "RELATIONS": "关系",
"REGIONS": "区域", "REGIONS": "区域",
"RESULTS": "结果", "RESULTS": "结果",
// ...
}, },
labelConfig: ` labelConfig: `
<View> <View>
@ -50,9 +51,12 @@ export default {
</RectangleLabels> </RectangleLabels>
</View> </View>
`, `,
previousAnnotations: [] // previousAnnotations: [] //
}; }
}, },
watch:{
}
mounted() { mounted() {
this.initLabelStudio(); this.initLabelStudio();
}, },
@ -75,53 +79,30 @@ export default {
firstName: "James", firstName: "James",
lastName: "Dean" lastName: "Dean"
}, },
task: JSON.parse(this.task), task:JSON.parse( this.task),
locale: 'zh_CN', locale: 'zh_CN',
messages: this.chineseLocalization, messages: this.chineseLocalization,
onLabelStudioLoad: (LS) => { onLabelStudioLoad: (LS) => {
console.log("Label Studio 已加载", LS); console.log("Label Studio 已加载", LS);
var c = LS.annotationStore.addAnnotation({
//
setInterval(() => {
this.checkAnnotations(LS);
}, 1000); //
//
const annotation = LS.annotationStore.addAnnotation({
userGenerate: true userGenerate: true
}); });
LS.annotationStore.selectAnnotation(c.id); //
// const box = annotation.geometry;
LS.annotationStore.events.on('addAnnotation', this.handleAddAnnotation);
LS.annotationStore.events.on('updateAnnotation', this.handleUpdateAnnotation);
//
this.startAnnotationCheck(LS);
} }
}); });
}, },
//
handleAddAnnotation(annotation) {
console.log("新增标注框:", annotation);
},
//
handleUpdateAnnotation(annotation) {
console.log("更新标注框:", annotation);
},
//
startAnnotationCheck(LS) {
this.checkAnnotationsInterval = setInterval(() => {
this.checkAnnotations(LS);
}, 1000); //
},
//
stopAnnotationCheck() {
if (this.checkAnnotationsInterval) {
clearInterval(this.checkAnnotationsInterval);
}
},
// //
checkAnnotations(LS) { checkAnnotations(LS) {
const currentAnnotations = LS.annotationStore.data; // const currentAnnotations = LS.annotationStore.data; //
// //
if (this.hasAnnotationsChanged(currentAnnotations)) { if (this.hasAnnotationsChanged(currentAnnotations)) {
console.log('标注数据发生变化:', currentAnnotations); console.log('标注数据发生变化:', currentAnnotations);
@ -131,20 +112,15 @@ export default {
// //
hasAnnotationsChanged(currentAnnotations) { hasAnnotationsChanged(currentAnnotations) {
//
if (currentAnnotations.length !== this.previousAnnotations.length) { if (currentAnnotations.length !== this.previousAnnotations.length) {
return true; // return true; //
} }
// ID //
for (let i = 0; i < currentAnnotations.length; i++) { for (let i = 0; i < currentAnnotations.length; i++) {
const current = currentAnnotations[i]; const current = currentAnnotations[i];
const previous = this.previousAnnotations[i]; const previous = this.previousAnnotations[i];
if (current.id !== previous.id) {
return true; // ID
}
// true // true
if (JSON.stringify(current.geometry) !== JSON.stringify(previous.geometry)) { if (JSON.stringify(current.geometry) !== JSON.stringify(previous.geometry)) {
return true; return true;
@ -154,7 +130,7 @@ export default {
return false; return false;
} }
} }
}; }
</script> </script>
<style scoped> <style scoped>