commit 31a7caf9b7cf0f551ceb523f6a742915cd3e578a Author: yin-kangning <747919591@qq.com> Date: Fri Jun 21 10:28:20 2024 +0800 first commit diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..1c2fda5 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/alg_display.iml b/.idea/alg_display.iml new file mode 100644 index 0000000..bf135f7 --- /dev/null +++ b/.idea/alg_display.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..e34d475 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..6695ba8 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..a468a99 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml new file mode 100644 index 0000000..aeb9731 --- /dev/null +++ b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml new file mode 100644 index 0000000..04bfda7 --- /dev/null +++ b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml new file mode 100644 index 0000000..eae2e3f --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml new file mode 100644 index 0000000..caed937 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml b/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml new file mode 100644 index 0000000..2bb7ef5 --- /dev/null +++ b/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml b/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml new file mode 100644 index 0000000..7268d95 --- /dev/null +++ b/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml b/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml new file mode 100644 index 0000000..f32a171 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml new file mode 100644 index 0000000..b62f392 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml new file mode 100644 index 0000000..9b585d6 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml new file mode 100644 index 0000000..a1a78f5 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml new file mode 100644 index 0000000..371d7fc --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml new file mode 100644 index 0000000..cf1bf0f --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml new file mode 100644 index 0000000..202d901 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml new file mode 100644 index 0000000..61f92df --- /dev/null +++ b/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 0000000..05bc174 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml new file mode 100644 index 0000000..b04f3ad --- /dev/null +++ b/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 0000000..c70d93b --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml b/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml new file mode 100644 index 0000000..1e686b0 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 0000000..d5b1f39 --- /dev/null +++ b/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 0000000..6451915 --- /dev/null +++ b/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml new file mode 100644 index 0000000..48bf10d --- /dev/null +++ b/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml b/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml new file mode 100644 index 0000000..1ab3ac0 --- /dev/null +++ b/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml b/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml new file mode 100644 index 0000000..a9312d4 --- /dev/null +++ b/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml b/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml new file mode 100644 index 0000000..dd7f750 --- /dev/null +++ b/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml b/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml new file mode 100644 index 0000000..c80a02e --- /dev/null +++ b/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml new file mode 100644 index 0000000..7a854e3 --- /dev/null +++ b/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml new file mode 100644 index 0000000..c987dd2 --- /dev/null +++ b/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml b/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml new file mode 100644 index 0000000..bb6280d --- /dev/null +++ b/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml b/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml new file mode 100644 index 0000000..7f61849 --- /dev/null +++ b/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml b/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml new file mode 100644 index 0000000..df8f368 --- /dev/null +++ b/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_minio_minio_8_3_9.xml b/.idea/libraries/Maven__io_minio_minio_8_3_9.xml new file mode 100644 index 0000000..1991b8e --- /dev/null +++ b/.idea/libraries/Maven__io_minio_minio_8_3_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml b/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml new file mode 100644 index 0000000..18bf152 --- /dev/null +++ b/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml new file mode 100644 index 0000000..48ce366 --- /dev/null +++ b/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml new file mode 100644 index 0000000..c522aec --- /dev/null +++ b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml b/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml new file mode 100644 index 0000000..5dd945b --- /dev/null +++ b/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml new file mode 100644 index 0000000..b5b6066 --- /dev/null +++ b/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml new file mode 100644 index 0000000..437c18c --- /dev/null +++ b/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml new file mode 100644 index 0000000..17a318d --- /dev/null +++ b/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml new file mode 100644 index 0000000..f01360f --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml new file mode 100644 index 0000000..3eab128 --- /dev/null +++ b/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml b/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml new file mode 100644 index 0000000..1eaa2f5 --- /dev/null +++ b/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml b/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml new file mode 100644 index 0000000..39e37ec --- /dev/null +++ b/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml b/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml new file mode 100644 index 0000000..1b41147 --- /dev/null +++ b/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml new file mode 100644 index 0000000..ce1c48d --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml new file mode 100644 index 0000000..eb80bdf --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml new file mode 100644 index 0000000..fba45b9 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml new file mode 100644 index 0000000..c592d8c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml new file mode 100644 index 0000000..b2dea72 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml new file mode 100644 index 0000000..fa9031e --- /dev/null +++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml new file mode 100644 index 0000000..0d806e6 --- /dev/null +++ b/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml new file mode 100644 index 0000000..b42bf67 --- /dev/null +++ b/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml b/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml new file mode 100644 index 0000000..0144dd4 --- /dev/null +++ b/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml b/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml new file mode 100644 index 0000000..2268814 --- /dev/null +++ b/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml new file mode 100644 index 0000000..f326d56 --- /dev/null +++ b/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml new file mode 100644 index 0000000..7bbf943 --- /dev/null +++ b/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml b/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml new file mode 100644 index 0000000..690dd29 --- /dev/null +++ b/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml new file mode 100644 index 0000000..d3dac0d --- /dev/null +++ b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml new file mode 100644 index 0000000..cd93320 --- /dev/null +++ b/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml new file mode 100644 index 0000000..31a0a60 --- /dev/null +++ b/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml new file mode 100644 index 0000000..130329b --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml new file mode 100644 index 0000000..6219bb5 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml b/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml new file mode 100644 index 0000000..15288db --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml new file mode 100644 index 0000000..c0cd638 --- /dev/null +++ b/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml b/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000..7296fd5 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml new file mode 100644 index 0000000..af41853 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml new file mode 100644 index 0000000..d6ad630 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml new file mode 100644 index 0000000..d68e520 --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml new file mode 100644 index 0000000..39d5c6a --- /dev/null +++ b/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml new file mode 100644 index 0000000..3d9dd25 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml new file mode 100644 index 0000000..4308abf --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml new file mode 100644 index 0000000..f776160 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml new file mode 100644 index 0000000..be094b3 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml new file mode 100644 index 0000000..dabb105 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml new file mode 100644 index 0000000..1a234e5 --- /dev/null +++ b/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml b/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml new file mode 100644 index 0000000..0fbf819 --- /dev/null +++ b/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml new file mode 100644 index 0000000..d6e911b --- /dev/null +++ b/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml b/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml new file mode 100644 index 0000000..3902f19 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml new file mode 100644 index 0000000..493f822 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..6807977 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml new file mode 100644 index 0000000..e229957 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml new file mode 100644 index 0000000..7b9e132 --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..438493c --- /dev/null +++ b/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml b/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml new file mode 100644 index 0000000..e287991 --- /dev/null +++ b/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml new file mode 100644 index 0000000..e5bf322 --- /dev/null +++ b/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml b/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml new file mode 100644 index 0000000..9c1d551 --- /dev/null +++ b/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml new file mode 100644 index 0000000..f6de09c --- /dev/null +++ b/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml new file mode 100644 index 0000000..c72e34e --- /dev/null +++ b/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml new file mode 100644 index 0000000..00e2cb7 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml new file mode 100644 index 0000000..d9fa3ed --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml new file mode 100644 index 0000000..2046cc6 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..36fbedc --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml new file mode 100644 index 0000000..8fa8569 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml new file mode 100644 index 0000000..dad7099 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..0fee9de --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml new file mode 100644 index 0000000..15bf96f --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml new file mode 100644 index 0000000..6408b99 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml new file mode 100644 index 0000000..7ff3fb5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml new file mode 100644 index 0000000..08a28e3 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml new file mode 100644 index 0000000..c182ab0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml new file mode 100644 index 0000000..90d4ce7 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml new file mode 100644 index 0000000..8eca71e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml new file mode 100644 index 0000000..a2b8ea2 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml new file mode 100644 index 0000000..12c98d0 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..e0a7280 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml new file mode 100644 index 0000000..4582fe9 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..d2f0173 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml new file mode 100644 index 0000000..12d8974 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml b/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml new file mode 100644 index 0000000..50e0423 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml new file mode 100644 index 0000000..4c6c928 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml new file mode 100644 index 0000000..310082d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml new file mode 100644 index 0000000..0ebd0da --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml new file mode 100644 index 0000000..b9a8d9b --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml new file mode 100644 index 0000000..42c7e3e --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml new file mode 100644 index 0000000..f2e7c39 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml new file mode 100644 index 0000000..ef7976c --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml new file mode 100644 index 0000000..8cbc596 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml new file mode 100644 index 0000000..33985c5 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml new file mode 100644 index 0000000..5bfd8d8 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml new file mode 100644 index 0000000..8c28778 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml new file mode 100644 index 0000000..1cf3c57 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml new file mode 100644 index 0000000..2239495 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml new file mode 100644 index 0000000..03adffb --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml new file mode 100644 index 0000000..31fe352 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml new file mode 100644 index 0000000..383a038 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml new file mode 100644 index 0000000..178b315 --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml new file mode 100644 index 0000000..7b9fc4d --- /dev/null +++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml new file mode 100644 index 0000000..475a69f --- /dev/null +++ b/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml new file mode 100644 index 0000000..e6909df --- /dev/null +++ b/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml new file mode 100644 index 0000000..d05e4a1 --- /dev/null +++ b/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..604dfb3 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..2b59948 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/camera_rtsp.sql b/camera_rtsp.sql new file mode 100644 index 0000000..ee66e4e --- /dev/null +++ b/camera_rtsp.sql @@ -0,0 +1,84 @@ +/* + Navicat Premium Data Transfer + + Source Server : 10.51.10.122_3306 + Source Server Type : MySQL + Source Server Version : 80028 + Source Host : 10.51.10.122:3306 + Source Schema : camera_rtsp + + Target Server Type : MySQL + Target Server Version : 80028 + File Encoding : 65001 + + Date: 21/06/2024 10:23:31 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for algorithm +-- ---------------------------- +DROP TABLE IF EXISTS `algorithm`; +CREATE TABLE `algorithm` ( + `id` int NULL DEFAULT NULL, + `algorithm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of algorithm +-- ---------------------------- +INSERT INTO `algorithm` VALUES (1, '行人检测'); +INSERT INTO `algorithm` VALUES (2, '车辆检测'); +INSERT INTO `algorithm` VALUES (3, '火焰检测'); +INSERT INTO `algorithm` VALUES (4, '疲劳检测'); +INSERT INTO `algorithm` VALUES (5, '烟雾检测'); +INSERT INTO `algorithm` VALUES (6, '人脸识别'); +INSERT INTO `algorithm` VALUES (7, '表情识别'); +INSERT INTO `algorithm` VALUES (8, 'OCR'); +INSERT INTO `algorithm` VALUES (9, '实例分割'); +INSERT INTO `algorithm` VALUES (10, '车道线检测'); +INSERT INTO `algorithm` VALUES (11, 'PCB缺陷检测'); +INSERT INTO `algorithm` VALUES (12, '遥感目标检测'); +INSERT INTO `algorithm` VALUES (13, '姿态检测'); +INSERT INTO `algorithm` VALUES (14, '未佩戴头盔检测'); +INSERT INTO `algorithm` VALUES (15, '口罩检测'); +INSERT INTO `algorithm` VALUES (16, '电动车检测'); +INSERT INTO `algorithm` VALUES (17, '手套检测'); +INSERT INTO `algorithm` VALUES (18, '肝脏图像分割'); +INSERT INTO `algorithm` VALUES (19, '反光衣检测'); +INSERT INTO `algorithm` VALUES (20, '使用手机检测'); +INSERT INTO `algorithm` VALUES (21, '语音识别'); +INSERT INTO `algorithm` VALUES (22, '红绿灯检测'); +INSERT INTO `algorithm` VALUES (23, '安全检测'); + +-- ---------------------------- +-- Table structure for camera +-- ---------------------------- +DROP TABLE IF EXISTS `camera`; +CREATE TABLE `camera` ( + `cameraID` int NOT NULL, + `cameraRtsp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `camearLocation` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + PRIMARY KEY (`cameraID`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of camera +-- ---------------------------- +INSERT INTO `camera` VALUES (1, 'rtsp://192.168.30.18:8557/h264', '2楼北办公区1'); +INSERT INTO `camera` VALUES (2, 'rtsp://192.168.30.11:8557/h264', '1楼大厅电梯玻璃门'); +INSERT INTO `camera` VALUES (3, 'rtsp://192.168.30.12:8557/h264', '1楼办公区办公室'); +INSERT INTO `camera` VALUES (4, 'rtsp://192.168.30.13:8557/h264', '1楼大厅近强电井侧玻璃门'); +INSERT INTO `camera` VALUES (5, 'rtsp://192.168.30.14:8557/h264', '1楼办公区'); +INSERT INTO `camera` VALUES (6, 'rtsp://192.168.30.150:8557/h264', '1楼电梯玻璃门'); +INSERT INTO `camera` VALUES (7, 'rtsp://192.168.30.16:8557/h264', '1楼大厅朝外'); +INSERT INTO `camera` VALUES (8, 'rtsp://192.168.30.17:8557/h264', '1楼大厅朝大厅正门'); +INSERT INTO `camera` VALUES (9, 'rtsp://192.168.30.19:8557/h264', '1楼东办公区'); +INSERT INTO `camera` VALUES (10, 'rtsp://192.168.30.21:8557/h264', '2楼北办公区2'); +INSERT INTO `camera` VALUES (11, 'rtsp://192.168.30.23:8557/h264', '2楼南办公区2'); +INSERT INTO `camera` VALUES (12, 'rtsp://192.168.30.24:8557/h264', '2楼休息区'); +INSERT INTO `camera` VALUES (13, 'rtsp://192.168.30.22:8557/h264', '2楼南办公区1'); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/sfj-backend/.idea/.gitignore b/sfj-backend/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/sfj-backend/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/sfj-backend/.idea/compiler.xml b/sfj-backend/.idea/compiler.xml new file mode 100644 index 0000000..855cbac --- /dev/null +++ b/sfj-backend/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/dataSources.xml b/sfj-backend/.idea/dataSources.xml new file mode 100644 index 0000000..12c0a0b --- /dev/null +++ b/sfj-backend/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306/sfj + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/sfj-backend/.idea/encodings.xml b/sfj-backend/.idea/encodings.xml new file mode 100644 index 0000000..a96d384 --- /dev/null +++ b/sfj-backend/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/jarRepositories.xml b/sfj-backend/.idea/jarRepositories.xml new file mode 100644 index 0000000..22e83c6 --- /dev/null +++ b/sfj-backend/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/leetcode/editor.xml b/sfj-backend/.idea/leetcode/editor.xml new file mode 100644 index 0000000..203fb9c --- /dev/null +++ b/sfj-backend/.idea/leetcode/editor.xml @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/leetcode/statistics.xml b/sfj-backend/.idea/leetcode/statistics.xml new file mode 100644 index 0000000..28be487 --- /dev/null +++ b/sfj-backend/.idea/leetcode/statistics.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml new file mode 100644 index 0000000..ac6986a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml new file mode 100644 index 0000000..7a38623 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__ch_qos_logback_logback_core_1_4_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml new file mode 100644 index 0000000..1c55beb --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml new file mode 100644 index 0000000..3913683 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson2_fastjson2_extension_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml new file mode 100644 index 0000000..b348431 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_alibaba_fastjson_2_0_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml b/sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml new file mode 100644 index 0000000..a918945 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_carrotsearch_thirdparty_simple_xml_safe_2_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml new file mode 100644 index 0000000..fb8a548 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_classmate_1_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml new file mode 100644 index 0000000..b194d9d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml new file mode 100644 index 0000000..b1af432 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml new file mode 100644 index 0000000..86cd658 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml new file mode 100644 index 0000000..bffd290 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml new file mode 100644 index 0000000..50fc069 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml new file mode 100644 index 0000000..65bce52 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_15_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml b/sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml new file mode 100644 index 0000000..889972a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_4_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 0000000..1c380d0 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml b/sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml new file mode 100644 index 0000000..800c4b4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 0000000..36e948e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml b/sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml new file mode 100644 index 0000000..c937fa2 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_guava_guava_30_1_1_jre.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 0000000..4e15702 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml b/sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 0000000..bacaa45 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml b/sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml new file mode 100644 index 0000000..2cb631f --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml b/sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml new file mode 100644 index 0000000..68368de --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_mysql_mysql_connector_j_8_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml b/sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml new file mode 100644 index 0000000..f9d3d6b --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_squareup_okhttp3_okhttp_4_12_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml new file mode 100644 index 0000000..0d9725c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml new file mode 100644 index 0000000..ec1ad85 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_squareup_okio_okio_jvm_3_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml b/sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml new file mode 100644 index 0000000..b7cd780 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml new file mode 100644 index 0000000..b8581a6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml b/sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml new file mode 100644 index 0000000..40ae747 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__com_zaxxer_HikariCP_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml new file mode 100644 index 0000000..7d2821a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_commons_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml new file mode 100644 index 0000000..ceb1115 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_micrometer_micrometer_observation_1_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml b/sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml new file mode 100644 index 0000000..ba443d7 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_minio_minio_8_3_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml b/sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml new file mode 100644 index 0000000..30f6f47 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__io_smallrye_jandex_3_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml b/sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml new file mode 100644 index 0000000..58afa68 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_2_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml new file mode 100644 index 0000000..3f660ae --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml new file mode 100644 index 0000000..2ac1a9b --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_inject_jakarta_inject_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml b/sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml new file mode 100644 index 0000000..b5b2267 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_persistence_jakarta_persistence_api_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml new file mode 100644 index 0000000..605cbd9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_transaction_jakarta_transaction_api_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml b/sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml new file mode 100644 index 0000000..75d958a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml new file mode 100644 index 0000000..4c5d9c6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml new file mode 100644 index 0000000..734884c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_14_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml b/sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml new file mode 100644 index 0000000..67b8687 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_minidev_accessors_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml b/sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml new file mode 100644 index 0000000..32246c4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__net_minidev_json_smart_2_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml b/sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml new file mode 100644 index 0000000..cecaf8e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_antlr_antlr4_runtime_4_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml b/sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml new file mode 100644 index 0000000..49cd123 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_commons_commons_compress_1_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml new file mode 100644 index 0000000..ba17f0e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml new file mode 100644 index 0000000..30065dd --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_21_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml new file mode 100644 index 0000000..3468595 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml new file mode 100644 index 0000000..da8d99e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml new file mode 100644 index 0000000..d7cebc9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_10_1_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml new file mode 100644 index 0000000..6ac1c42 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml new file mode 100644 index 0000000..af68770 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml b/sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml new file mode 100644 index 0000000..8fa9524 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_assertj_assertj_core_3_24_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml b/sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml new file mode 100644 index 0000000..cd03dd9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_awaitility_awaitility_4_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml b/sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml new file mode 100644 index 0000000..004e4d3 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_69.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml b/sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml new file mode 100644 index 0000000..8c0570b --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_checkerframework_checker_qual_3_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml b/sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml new file mode 100644 index 0000000..166f6ae --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_eclipse_angus_angus_activation_2_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml new file mode 100644 index 0000000..2484f99 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml new file mode 100644 index 0000000..a453d90 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml new file mode 100644 index 0000000..81e19b6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_glassfish_jaxb_txw2_4_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml b/sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml new file mode 100644 index 0000000..6b5496f --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_hamcrest_hamcrest_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml b/sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml new file mode 100644 index 0000000..f191f57 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_hibernate_common_hibernate_commons_annotations_6_0_6_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml b/sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml new file mode 100644 index 0000000..1276831 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_hibernate_orm_hibernate_core_6_4_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml b/sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml new file mode 100644 index 0000000..d63874a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_5_3_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml new file mode 100644 index 0000000..e2c8297 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_annotations_13_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml new file mode 100644 index 0000000..16385da --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml new file mode 100644 index 0000000..0125d4a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml new file mode 100644 index 0000000..40be6cd --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml new file mode 100644 index 0000000..64d1fde --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml new file mode 100644 index 0000000..6e86eeb --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml new file mode 100644 index 0000000..3135587 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml new file mode 100644 index 0000000..68b7903 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml new file mode 100644 index 0000000..dad8df0 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml new file mode 100644 index 0000000..a0f728d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml new file mode 100644 index 0000000..90b8509 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_10_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml new file mode 100644 index 0000000..99bc624 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_core_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml new file mode 100644 index 0000000..2b6be62 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_5_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml new file mode 100644 index 0000000..c16e264 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_3_5_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml new file mode 100644 index 0000000..5100020 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_mybatis_spring_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..8a657ae --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml new file mode 100644 index 0000000..538eb82 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml new file mode 100644 index 0000000..39dbbb4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_test_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml new file mode 100644 index 0000000..06a391e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_test_autoconfigure_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml b/sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml new file mode 100644 index 0000000..3a3576c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_objenesis_objenesis_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml b/sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml new file mode 100644 index 0000000..87e7ec8 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_opentest4j_opentest4j_1_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml b/sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml new file mode 100644 index 0000000..ce5a26c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_ow2_asm_asm_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml b/sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml new file mode 100644 index 0000000..291270e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_projectlombok_lombok_1_18_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml b/sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml new file mode 100644 index 0000000..56582d6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml b/sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml new file mode 100644 index 0000000..0baef43 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml b/sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml new file mode 100644 index 0000000..4a7ab1d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_slf4j_slf4j_api_2_0_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml new file mode 100644 index 0000000..a38a657 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..e583437 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml new file mode 100644 index 0000000..cd1d1b5 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml new file mode 100644 index 0000000..8f5f333 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..7f8b4bb --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml new file mode 100644 index 0000000..5ba10a4 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml new file mode 100644 index 0000000..6bd2e7a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml new file mode 100644 index 0000000..5fdbce5 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml new file mode 100644 index 0000000..224d644 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml new file mode 100644 index 0000000..1b87070 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml new file mode 100644 index 0000000..8118a0c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml new file mode 100644 index 0000000..91d5cd9 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml new file mode 100644 index 0000000..3eca095 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml new file mode 100644 index 0000000..f0a92cf --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml new file mode 100644 index 0000000..3b10baf --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml new file mode 100644 index 0000000..ccf2462 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_commons_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml new file mode 100644 index 0000000..532a7d2 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jdbc_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml new file mode 100644 index 0000000..cb1be44 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_jpa_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml new file mode 100644 index 0000000..40f5869 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_data_spring_data_relational_3_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml new file mode 100644 index 0000000..88ded5f --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_config_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml new file mode 100644 index 0000000..c30851e --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_core_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml new file mode 100644 index 0000000..9dec22c --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml new file mode 100644 index 0000000..a539200 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_test_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml new file mode 100644 index 0000000..47d1870 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_security_spring_security_web_6_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml new file mode 100644 index 0000000..ed9d6bf --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aop_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml new file mode 100644 index 0000000..495a7b3 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_aspects_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml new file mode 100644 index 0000000..9732021 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_beans_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml new file mode 100644 index 0000000..7b2f4a6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_context_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml new file mode 100644 index 0000000..ae33ff2 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_core_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml new file mode 100644 index 0000000..a4053a6 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_expression_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml new file mode 100644 index 0000000..45ce026 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jcl_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml new file mode 100644 index 0000000..2e22420 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_jdbc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml new file mode 100644 index 0000000..17e5921 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_orm_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml new file mode 100644 index 0000000..6389a3a --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_test_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml new file mode 100644 index 0000000..64877af --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_tx_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml new file mode 100644 index 0000000..8c0b774 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_web_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml new file mode 100644 index 0000000..c3cc0ba --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_springframework_spring_webmvc_6_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml b/sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml new file mode 100644 index 0000000..e3db53d --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml b/sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml new file mode 100644 index 0000000..e2f6d14 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml b/sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml new file mode 100644 index 0000000..998e133 --- /dev/null +++ b/sfj-backend/.idea/libraries/Maven__org_yaml_snakeyaml_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/misc.xml b/sfj-backend/.idea/misc.xml new file mode 100644 index 0000000..0b8b341 --- /dev/null +++ b/sfj-backend/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/modules.xml b/sfj-backend/.idea/modules.xml new file mode 100644 index 0000000..d5c4605 --- /dev/null +++ b/sfj-backend/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/uiDesigner.xml b/sfj-backend/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/sfj-backend/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-backend/.idea/vcs.xml b/sfj-backend/.idea/vcs.xml new file mode 100644 index 0000000..2e3f692 --- /dev/null +++ b/sfj-backend/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sfj-backend/sfj-project-backend/.gitignore b/sfj-backend/sfj-project-backend/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/sfj-backend/sfj-project-backend/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/sfj-backend/sfj-project-backend/pom.xml b/sfj-backend/sfj-project-backend/pom.xml new file mode 100644 index 0000000..d0cf0a1 --- /dev/null +++ b/sfj-backend/sfj-project-backend/pom.xml @@ -0,0 +1,111 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.1 + + + com.upsfj + sfj-project-backend + 0.0.1-SNAPSHOT + sfj-project-backend + sfj-project-backend + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jdbc + + + org.springframework.boot + spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-web + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 3.0.3 + + + + com.mysql + mysql-connector-j + runtime + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mybatis.spring.boot + mybatis-spring-boot-starter-test + 3.0.3 + test + + + org.springframework.security + spring-security-test + test + + + com.alibaba + fastjson + 2.0.25 + + + org.springframework.boot + spring-boot-starter-data-jpa + + + io.minio + minio + 8.3.9 + + + + + + + + + + + jakarta.persistence + jakarta.persistence-api + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java new file mode 100644 index 0000000..6c316b2 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplication.java @@ -0,0 +1,13 @@ +package com.upsfj.sfjprojectbackend; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SfjProjectBackendApplication { + + public static void main(String[] args) { + SpringApplication.run(SfjProjectBackendApplication.class, args); + } + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java new file mode 100644 index 0000000..77d75b8 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/CorsConfig.java @@ -0,0 +1,25 @@ +package com.upsfj.sfjprojectbackend.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class CorsConfig implements WebMvcConfigurer { + + @Override + public void addCorsMappings(CorsRegistry registry) { + // 设置允许跨域的路径 + registry.addMapping("/**") + // 设置允许跨域请求的域名 + .allowedOriginPatterns("*") + // 是否允许cookie + .allowCredentials(true) + // 设置允许的请求方式 + .allowedMethods("GET", "POST", "DELETE", "PUT") + // 设置允许的header属性 + .allowedHeaders("*") + // 跨域允许时间 + .maxAge(5000); + } +} \ No newline at end of file diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java new file mode 100644 index 0000000..e8735c9 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/MinioConfiguration.java @@ -0,0 +1,19 @@ +package com.upsfj.sfjprojectbackend.config; + +import io.minio.MinioClient; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MinioConfiguration { + + @Bean + public MinioClient client(){ + return MinioClient.builder() + .endpoint("http://localhost:9000") + .credentials("minioadmin","minioadmin") + .build(); + } + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java new file mode 100644 index 0000000..7256aac --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/SecurityConfiguration.java @@ -0,0 +1,87 @@ +package com.upsfj.sfjprojectbackend.config; + +import com.alibaba.fastjson.JSONObject; +import com.upsfj.sfjprojectbackend.entity.RestBean; +import com.upsfj.sfjprojectbackend.service.AuthorizeService; +import jakarta.annotation.Resource; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.authentication.AuthenticationEntryPointFailureHandler; +import org.springframework.security.web.authentication.AuthenticationFailureHandler; +import org.springframework.security.web.authentication.AuthenticationSuccessHandler; + +import java.io.IOException; + +@Configuration +@EnableWebSecurity +public class SecurityConfiguration { + @Resource + AuthorizeService authorizeService; + + + @Bean + public SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception { + return httpSecurity + .authorizeHttpRequests() + .requestMatchers("/api/algorithm/**","/api/field/**","/api/use/**","/api/file/**","/api/auth/**").permitAll() + .anyRequest().authenticated() + .and() + .formLogin() + .loginProcessingUrl("/api/auth/login") + .successHandler(this::onAuthenticationSuccess) + .failureHandler(this::onAuthenticationFailure) + .and() + .logout() + .logoutUrl("/api/auth/logout") + .logoutSuccessHandler(this::onAuthenticationSuccess) + .and() + .csrf() + .disable() + .exceptionHandling() + .authenticationEntryPoint(this::onAuthenticationFailure) + .and() + .build(); + } + @Bean + public AuthenticationManager authenticationManager(HttpSecurity security) throws Exception{ + return security + .getSharedObject(AuthenticationManagerBuilder.class) + .userDetailsService(authorizeService) + .and() + .build(); + } + @Bean + public BCryptPasswordEncoder passwordEncoder(){ + return new BCryptPasswordEncoder(); + } + + + public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException { + response.setCharacterEncoding("utf-8"); + if (request.getRequestURI().endsWith("/login")){ + response.getWriter().write(JSONObject.toJSONString(RestBean.success("登录成功"))); + }else { + response.getWriter().write(JSONObject.toJSONString(RestBean.success("退出成功"))); + } + + } + public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException { + response.setCharacterEncoding("utf-8"); + response.getWriter().write(JSONObject.toJSONString(RestBean.failure(401,exception.getMessage()))); + } + + + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java new file mode 100644 index 0000000..21131bc --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/config/WebConfiguration.java @@ -0,0 +1,20 @@ +//package com.upsfj.sfjprojectbackend.config; +// +//import com.upsfj.sfjprojectbackend.interceptor.AuthorizeInterceptor; +//import jakarta.annotation.Resource; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +//@Configuration +//public class WebConfiguration implements WebMvcConfigurer { +// @Resource +// AuthorizeInterceptor interceptor; +// +// +// @Override +// public void addInterceptors(InterceptorRegistry registry) { +// registry +// .addInterceptor(interceptor) +// .addPathPatterns("/**"); +// } +//} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java new file mode 100644 index 0000000..bed44c2 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/AlgorithmController.java @@ -0,0 +1,95 @@ +package com.upsfj.sfjprojectbackend.controller; + + +import com.upsfj.sfjprojectbackend.entity.*; +import com.upsfj.sfjprojectbackend.service.impl.AlgorithmServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.userdetails.UserCache; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/api/algorithm") +public class AlgorithmController { + @Resource + AlgorithmServiceImpl algorithmService; + + + @GetMapping("/findall") + public List getAllAlgorithms(){ + List algorithms = algorithmService.getAllAlgorithms(); + for (Algorithm algorithm:algorithms){ +// System.out.println(algorithm); +// System.out.println(algorithm.getFieldStr()); + String fieldStr = algorithm.getFieldStr(); + String useStr = algorithm.getUserStr(); + List fieldList = Arrays.asList(fieldStr.split(",")); + List useList = Arrays.asList(useStr.split(",")); + algorithm.setUseList(useList); + algorithm.setFieldList(fieldList); + } +// for (Algorithm algorithm : algorithms){ +// System.out.println(algorithm); +// } +// for (Algorithm algorithm : algorithms){ +// List algorithmFields = (List) algorithm.getAlgorithmFields(); +// System.out.println("输出algorithmFields"); +// System.out.println(algorithmFields); +// String fields = (String) algorithmFields +// .stream() +// .map(field -> field.getField().toString()) +// .collect(Collectors.joining(",")); +// +//// algorithm.setAlgorithmFields(fields); +// +// List algorithmUserCases = (List) algorithm.getAlgorithmUserCases(); +// String useCases = algorithmUserCases.stream() +// .map(userCase -> userCase.getUsecase().toString()) +// .collect(Collectors.joining(",")); +// +// } + + return algorithms; + } + + @GetMapping("/findfield") + public List getAllField(){ + return algorithmService.getAllField(); + } + + + @GetMapping("/finduse") + public List getAllUsecase(){ + return algorithmService.getAllUsecase(); + } + + + @PostMapping("/updateAlgorithm") + public ResponseEntity updateAlgorithm(@RequestBody Algorithm algorithm){ + System.out.println("打印接收值"); + System.out.println(algorithm); + algorithmService.updateAlgorithm(algorithm); + + + return ResponseEntity.ok().build(); + } + + @PostMapping("/addAlgorithm") + public ResponseEntity addAlgorithm(@RequestBody Algorithm algorithm){ + algorithmService.addAlgorithm(algorithm); + return ResponseEntity.ok().build(); + } + + @PostMapping("/deleteAlgorithm") + public ResponseEntity deleteAlgorithm(@RequestBody Algorithm algorithm){ + algorithmService.deleteAlgorithm(algorithm); + return ResponseEntity.ok().build(); + } + + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java new file mode 100644 index 0000000..56f3fe9 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FieldController.java @@ -0,0 +1,33 @@ +package com.upsfj.sfjprojectbackend.controller; + + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.service.impl.FieldServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/field") +public class FieldController { + @Resource + FieldServiceImpl fieldService; + + @PostMapping("/addField") + public void addField(@RequestBody Field field){ + fieldService.addField(field.getField_name()); + } + + @PostMapping("/updateField") + public void updateField(@RequestBody Field field){ + fieldService.updateField(field); + } + + @PostMapping("/deleteField") + public void deleteField(@RequestBody Field field){ + fieldService.deleteField(field); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java new file mode 100644 index 0000000..5864470 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/FileController.java @@ -0,0 +1,60 @@ +package com.upsfj.sfjprojectbackend.controller; + +import com.upsfj.sfjprojectbackend.mapper.AlgorithmMapper; +import io.minio.GetObjectArgs; +import io.minio.GetObjectResponse; +import io.minio.MinioClient; +import io.minio.PutObjectArgs; +import io.minio.errors.*; +import jakarta.annotation.Resource; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.util.UUID; + +@RestController +@RequestMapping("/api/file") +public class FileController { + @Resource + MinioClient client; + + @Resource + AlgorithmMapper algorithmMapper; + + @PostMapping("/upload") + public String upload(@RequestParam("file")MultipartFile file,@RequestParam("algorithm_id") Integer algorithm_id) throws IOException, ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { + System.out.println(file); + System.out.println(algorithm_id); + InputStream stream = file.getInputStream(); + String name = UUID.randomUUID().toString()+".jpg"; + PutObjectArgs args = PutObjectArgs.builder() + .bucket("algorithm") + .object(name) + .stream(stream, file.getSize(), -1) + .contentType("image/jpeg") + .build(); + + client.putObject(args); +// name = +name; + if (algorithm_id != 999){ + algorithmMapper.updateAlgorithmImg("http://localhost:9000/algorithm/"+name,algorithm_id); + } + + return name; + } + + @GetMapping("/getimg/{name}") + public void file(@PathVariable("name") String name, HttpServletResponse response) throws Exception{ + GetObjectResponse object = client.getObject(GetObjectArgs.builder().bucket("algorithm").object(name).build()); + ServletOutputStream stream = response.getOutputStream(); +// response.setContentType(object.contentType()); + stream.write(object.readAllBytes()); + + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java new file mode 100644 index 0000000..06a1309 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/LoginController.java @@ -0,0 +1,28 @@ +package com.upsfj.sfjprojectbackend.controller; + +import com.upsfj.sfjprojectbackend.entity.RestBean; +import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/* + *文件名: LoginController + *创建者: LuoYiWang + *创建时间:2024/3/29 20:55 + *描述: + */ +@RestController +@RequestMapping("/api/auth") +public class LoginController { + + @PostMapping("/login") + public RestBean login(@RequestBody AccountUser accountUser){ +// System.out.println(accountUser.toString()); + + return RestBean.success(); + } + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java new file mode 100644 index 0000000..c1897de --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UseController.java @@ -0,0 +1,37 @@ +package com.upsfj.sfjprojectbackend.controller; + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import com.upsfj.sfjprojectbackend.service.impl.FieldServiceImpl; +import com.upsfj.sfjprojectbackend.service.impl.UsecaseServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/use") +public class UseController { + @Resource + UsecaseServiceImpl usecaseService; + + @PostMapping("/addUse") + public void addField(@RequestBody UseCase useCase){ + usecaseService.addUsecase(useCase.getUsecase_name()); + } + + + + @PostMapping("/updateUse") + public void updateField(@RequestBody UseCase useCase){ + usecaseService.updateUsecase(useCase); + } + + @PostMapping("/deleteUse") + public void deleteField(@RequestBody UseCase useCase){ + usecaseService.deleteUsecase(useCase); + } + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java new file mode 100644 index 0000000..7b064b4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/controller/UserController.java @@ -0,0 +1,19 @@ +package com.upsfj.sfjprojectbackend.controller; + + +import com.upsfj.sfjprojectbackend.entity.RestBean; +import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.SessionAttribute; + +@RestController +@RequestMapping("/api/user") +public class UserController { + @GetMapping("/me") + public RestBean me(@SessionAttribute("account") AccountUser user){ + return RestBean.success(user); + } + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java new file mode 100644 index 0000000..eda1a06 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Algorithm.java @@ -0,0 +1,39 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +import java.util.List; +import java.util.Set; + +@Data +@Entity +@Table(name = "sfj_algorithms") +public class Algorithm { + + @Id + int algorithm_id; + String algorithm_name; + String algorithm_img; + String algorithm_coder; + @Column(columnDefinition = "TEXT") + String algorithm_description; + +// +// @OneToMany() + + @Column(name = "algorithmFields") + String fieldStr; + @Column(name = "algorithmUserCases") + String userStr; + @Transient + List fieldList; + @Transient + List useList; + + @OneToMany(mappedBy = "algorithm") + Set algorithmFields; + @OneToMany(mappedBy = "algorithm") + Set algorithmUserCases; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java new file mode 100644 index 0000000..4a493ae --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmField.java @@ -0,0 +1,25 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +@Data +@Entity +@Table(name = "sfj_algorithm_field") +@IdClass(AlgorithmFieldId.class) + +public class AlgorithmField { + + @Id + @ManyToOne + @JoinColumn(name = "algorithm_id") + Algorithm algorithm; + + + @Id + @ManyToOne + @JoinColumn(name = "field_id") + Field field; + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java new file mode 100644 index 0000000..eef956d --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldDescription.java @@ -0,0 +1,7 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +@Data +public class AlgorithmFieldDescription { +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java new file mode 100644 index 0000000..5f23273 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmFieldId.java @@ -0,0 +1,13 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +import java.io.Serializable; +@Data +public class AlgorithmFieldId implements Serializable { +// int algorithm_id; +// int field_id; + + Algorithm algorithm; + Field field; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java new file mode 100644 index 0000000..4298ff4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUseCaseId.java @@ -0,0 +1,14 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AlgorithmUseCaseId implements Serializable { +// int algorithm_id; +// int usecase_id; + + Algorithm algorithm; + UseCase usecase; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java new file mode 100644 index 0000000..28b0b0e --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/AlgorithmUserCase.java @@ -0,0 +1,26 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.*; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +@Data +@Entity +@Table(name = "sfj_algorithm_usecases") +@IdClass(AlgorithmUseCaseId.class) +public class AlgorithmUserCase { + @Id + @ManyToOne + @JoinColumn(name = "algorithm_id") + Algorithm algorithm; + + @Id + @ManyToOne + @JoinColumn(name = "usecase_id") + UseCase usecase; + + + @Column(columnDefinition = "TEXT") + String description; + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java new file mode 100644 index 0000000..4304607 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/Field.java @@ -0,0 +1,21 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +import java.util.Set; + +@Data +@Entity +@Table(name = "sfj_field") +public class Field { + @Id + int field_id; + String field_name; + + @OneToMany(mappedBy = "field") + Set algorithemFields; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java new file mode 100644 index 0000000..7993c2a --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/RestBean.java @@ -0,0 +1,32 @@ +package com.upsfj.sfjprojectbackend.entity; + +import lombok.Data; + +@Data +public class RestBean { + private int status; + private boolean success; + private T message; + + + private RestBean(int status,boolean success,T message){ + this.status = status; + this.success = success; + this.message = message; + } + + public static RestBean success(){ + return new RestBean<>(200,true,null); + } + public static RestBean success(T data){ + return new RestBean<>(200,true,data); + } + public static RestBean failure(int status){ + return new RestBean<>(status,false,null); + } + + public static RestBean failure(int status,T data){ + return new RestBean<>(status,false,data); + } + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java new file mode 100644 index 0000000..44d78c0 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/UseCase.java @@ -0,0 +1,22 @@ +package com.upsfj.sfjprojectbackend.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import lombok.Data; +import org.springframework.data.relational.core.mapping.Table; + +import java.util.Set; + +@Data +@Table(name = "sfj_usecase") +@Entity +public class UseCase { + @Id + int usecase_id; + + String usecase_name; + + @OneToMany(mappedBy = "usecase") + Set algorithmUserCases; +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java new file mode 100644 index 0000000..14c73fd --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/auth/AccountBean.java @@ -0,0 +1,19 @@ +package com.upsfj.sfjprojectbackend.entity.auth; + + +import lombok.Data; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +@Data +public class AccountBean { + int id; + String username; + String password; + String email; + + public String getPassword() { + BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); +// System.out.println(encoder.encode("123456")); + return encoder.encode(password); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java new file mode 100644 index 0000000..5f8bbc4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/entity/user/AccountUser.java @@ -0,0 +1,10 @@ +package com.upsfj.sfjprojectbackend.entity.user; + +import lombok.Data; + +@Data +public class AccountUser { + int id; + String username; + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java new file mode 100644 index 0000000..e235f76 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/interceptor/AuthorizeInterceptor.java @@ -0,0 +1,37 @@ +//package com.upsfj.sfjprojectbackend.interceptor; +// +//import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +//import com.upsfj.sfjprojectbackend.mapper.UserMapper; +//import jakarta.annotation.Resource; +//import jakarta.servlet.http.HttpServletRequest; +//import jakarta.servlet.http.HttpServletResponse; +//import org.springframework.security.core.Authentication; +//import org.springframework.security.core.context.SecurityContext; +//import org.springframework.security.core.context.SecurityContextHolder; +//import org.springframework.security.core.userdetails.User; +//import org.springframework.stereotype.Component; +//import org.springframework.web.servlet.HandlerInterceptor; +//@Component +//public class AuthorizeInterceptor implements HandlerInterceptor{ +// @Resource +// UserMapper mapper; +// +// +// @Override +// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { +//// SecurityContext context = SecurityContextHolder.getContext(); +//// Authentication authentication = context.getAuthentication(); +////// System.out.println(authentication.getPrincipal()); +//// if (authentication.isAuthenticated()) { +//// User user = (User) authentication.getPrincipal(); +//// String username = user.getUsername(); +//// AccountUser accountUser = mapper.fingAccountUserByName(username); +//// request.getSession().setAttribute("account", accountUser); +//// return true; +//// } +//// return false; +// return true; +// +// +// } +//} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java new file mode 100644 index 0000000..deb1178 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/AlgorithmMapper.java @@ -0,0 +1,114 @@ +package com.upsfj.sfjprojectbackend.mapper; + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import org.apache.ibatis.annotations.*; +import org.springframework.data.relational.core.sql.In; + +import java.util.List; + +@Mapper +public interface AlgorithmMapper { +// 查询算法的所有相关信息 + @Select("SELECT \n" + + " a.algorithm_id, \n" + + " a.algorithm_name, \n" + + " a.algorithm_description, \n" + + " a.algorithm_img, \n" + + " a.algorithm_coder, \n" + + " GROUP_CONCAT(DISTINCT i.field_name) AS algorithmFields, \n" + + " GROUP_CONCAT(DISTINCT uc.usecase_name) AS algorithmUserCases\n" + + "FROM \n" + + " sfj_algorithms a \n" + + "LEFT JOIN \n" + + " sfj_algorithm_field ai ON a.algorithm_id = ai.algorithm_id \n" + + "LEFT JOIN \n" + + " sfj_field i ON ai.field_id = i.field_id \n" + + "LEFT JOIN \n" + + " sfj_algorithm_usecases auc ON a.algorithm_id = auc.algorithm_id \n" + + "LEFT JOIN \n" + + " sfj_usecase uc ON auc.usecase_id = uc.usecase_id\n" + + "GROUP BY \n" + + " a.algorithm_id;") + @Results({ + @Result(property = "algorithm_id", column = "algorithm_id"), + @Result(property = "algorithm_name", column = "algorithm_name"), + @Result(property = "algorithm_description", column = "algorithm_description"), + @Result(property = "algorithm_img", column = "algorithm_img"), + @Result(property = "algorithm_coder", column = "algorithm_coder"), + @Result(property = "fieldStr", column = "algorithmFields"), + @Result(property = "userStr", column = "algorithmUserCases") + }) + List findAllAlgorithm(); + + +// + + @Select("select * from sfj_field") + List findAllField(); + + +// @Select("select ") + + + + + @Select("select * from sfj_usecase") + List findAllUseCase(); + + + @Update("UPDATE sfj_algorithms SET algorithm_name=#{algorithm_name},algorithm_description=#{algorithm_description} ,algorithm_coder=#{algorithm_coder}WHERE algorithm_id=#{algorithm_id}") + void updateAlgorithmById(Algorithm algorithm); + + @Insert("INSERT INTO sfj_algorithms(algorithm_id,algorithm_name,algorithm_description,algorithm_img,algorithm_coder) VALUES(#{algorithm_id},#{algorithm_name},#{algorithm_description},#{algorithm_img},#{algorithm_coder})") + void addAlgorithm(Algorithm algorithm); + + @Delete("DELETE FROM sfj_algorithms WHERE algorithm_id=#{algorithm_id}") + void deleteAlgorithm(Algorithm algorithm); + + + + @Delete("DELETE FROM sfj_algorithm_field WHERE algorithm_id=#{algorithm_id} AND field_id=#{field_id}") + void deleteFieldForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("field_id") int fieldId); + + @Insert("INSERT INTO sfj_algorithm_field(algorithm_id, field_id) VALUES(#{algorithm_id}, #{field_id})") + void addFieldForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("field_id") int fieldId); + + + @Select("SELECT field_id FROM sfj_algorithm_field WHERE algorithm_id=#{algorithm_id}") + List getFieldIdsForAlgorithm(int algorithmId); + + + @Select("select field_id from sfj_field where field_name=#{name}") + Integer findFieldIdByName(String name); + + @Select("SELECT COUNT(*) FROM sfj_algorithms") + Integer getAlgorithmCount(); + + + @Delete("DELETE FROM sfj_algorithm_usecases WHERE algorithm_id=#{algorithm_id} AND usecase_id=#{use_id}") + void deleteUSeForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("use_id") int usecaseId); + + + @Insert("INSERT INTO sfj_algorithm_usecases(algorithm_id, usecase_id) VALUES(#{algorithm_id}, #{use_id})") + void addUseForAlgorithm(@Param("algorithm_id") int algorithmId,@Param("use_id") int usecaseId); + + @Select("SELECT usecase_id FROM sfj_algorithm_usecases WHERE algorithm_id=#{algorithmId}") + List getUseIdForAlgorithm(int algorithmId); + + @Select("select usecase_id from sfj_usecase where usecase_name=#{name}") + Integer findUseIdByName(String name); + +// +// @Insert("INSERT INTO sfj_algorithms(algorithm_img) VALUES(#{algorithm_img})") +// void addAlgorithmImg(String algorithm_img); +// +// + @Update("UPDATE sfj_algorithms SET algorithm_img=#{algorithm_img} WHERE algorithm_id=#{algorithm_id}" ) + void updateAlgorithmImg(String algorithm_img,Integer algorithm_id); + + + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java new file mode 100644 index 0000000..500c83e --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/FieldMapper.java @@ -0,0 +1,27 @@ +package com.upsfj.sfjprojectbackend.mapper; + + +import com.upsfj.sfjprojectbackend.entity.Field; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface FieldMapper { + + @Insert("INSERT INTO sfj_field (field_name) VALUES (#{field_name}) ") + void AddField(String field_name); + + + @Update("UPDATE sfj_field SET field_name=#{field_name} WHERE field_id = #{field_id}") + void UpdateField(Field field); + + + @Delete("DELETE FROM sfj_field WHERE field_id = #{field_id}") + void DeleteField(Field field); + + + @Delete("DELETE FROM sfj_algorithm_field WHERE field_id = #{field_id}") + void DeleteAlgorithmForField(Field field); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java new file mode 100644 index 0000000..66f4e0b --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UseMapper.java @@ -0,0 +1,29 @@ +package com.upsfj.sfjprojectbackend.mapper; + + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Update; + +@Mapper +public interface UseMapper { + @Insert("INSERT INTO sfj_usecase (usecase_name) VALUES (#{usecase_name}) ") + void AddUsecase(String usecase_name); + + + @Update("UPDATE sfj_usecase SET usecase_name=#{usecase_name} WHERE usecase_id = #{usecase_id}") + void UpdateUsecase(UseCase usecase); + + + @Delete("DELETE FROM sfj_usecase WHERE usecase_id = #{usecase_id}") + void DeleteUsecase(UseCase usecase); + + + @Delete("DELETE FROM sfj_algorithm_usecases WHERE usecase_id = #{usecase_id}") + void DeleteAlgorithmForUse(UseCase usecase); + + +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java new file mode 100644 index 0000000..124f16c --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/mapper/UserMapper.java @@ -0,0 +1,17 @@ +package com.upsfj.sfjprojectbackend.mapper; + +import com.upsfj.sfjprojectbackend.entity.auth.AccountBean; +import com.upsfj.sfjprojectbackend.entity.user.AccountUser; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +@Mapper +public interface UserMapper { + + @Select("select * from sfj_account where username = #{text} ") + AccountUser fingAccountUserByName(String text); + + + @Select("select * from sfj_account where username = #{text} or email = #{text}") + AccountBean findAccountByNameOrEmail(String text); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java new file mode 100644 index 0000000..dcb3335 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AlgorithmService.java @@ -0,0 +1,25 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; + +import java.util.List; + +public interface AlgorithmService { + +// 获取算法具体的所有信息 + public List getAllAlgorithms(); +// 获取所有的应用领域 + + public List getAllField(); + + + public List getAllUsecase(); + + public void updateAlgorithm(Algorithm algorithm); + + public void addAlgorithm(Algorithm algorithm); + + public void deleteAlgorithm(Algorithm algorithm); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java new file mode 100644 index 0000000..805eac8 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/AuthorizeService.java @@ -0,0 +1,37 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.auth.AccountBean; +import com.upsfj.sfjprojectbackend.mapper.UserMapper; +import jakarta.annotation.Resource; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + + +@Service +public class AuthorizeService implements UserDetailsService { + + @Resource + UserMapper mapper; + + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + if (username == null) + throw new UsernameNotFoundException("用户名不能为空"); + AccountBean account = mapper.findAccountByNameOrEmail(username); +// System.out.println(account); + if (account == null) + throw new UsernameNotFoundException("用户名或密码错误"); + return User + + .withUsername(account.getUsername()) + .password(account.getPassword()) + .roles("user") + .build(); + + + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java new file mode 100644 index 0000000..81aebf4 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/FieldService.java @@ -0,0 +1,14 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.Field; + +public interface FieldService { + + public void addField(String fieldName); + + + public void updateField(Field field); + + + public void deleteField(Field field); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java new file mode 100644 index 0000000..135e61e --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/UsecaseService.java @@ -0,0 +1,15 @@ +package com.upsfj.sfjprojectbackend.service; + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; + +public interface UsecaseService { + + public void addUsecase(String usecaseName); + + + public void updateUsecase(UseCase usecase); + + + public void deleteUsecase(UseCase usecase); +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java new file mode 100644 index 0000000..4f088be --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/AlgorithmServiceImpl.java @@ -0,0 +1,141 @@ +package com.upsfj.sfjprojectbackend.service.impl; + +import com.upsfj.sfjprojectbackend.entity.Algorithm; +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.entity.UseCase; +import com.upsfj.sfjprojectbackend.mapper.AlgorithmMapper; +import com.upsfj.sfjprojectbackend.service.AlgorithmService; +import jakarta.annotation.Resource; +import jakarta.persistence.Transient; +import jakarta.transaction.Transactional; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +@Service +public class AlgorithmServiceImpl implements AlgorithmService { + @Resource + AlgorithmMapper algorithmMapper; + + + + @Override + public List getAllAlgorithms() { + return algorithmMapper.findAllAlgorithm(); + } + + @Override + public List getAllField() { + return algorithmMapper.findAllField(); + } + + @Override + public List getAllUsecase() { + return algorithmMapper.findAllUseCase(); + } + + @Override + @Transactional + public void updateAlgorithm(Algorithm algorithm) { + algorithmMapper.updateAlgorithmById(algorithm); + + List oldFieldId = algorithmMapper.getFieldIdsForAlgorithm(algorithm.getAlgorithm_id()); + + List fieldList = algorithm.getFieldList(); + List fieldIdList = new ArrayList<>(); + +// 根据名字 创建最新的field id列表 + for (String fieldName : fieldList){ + Integer fieldId = algorithmMapper.findFieldIdByName(fieldName); + fieldIdList.add(fieldId); + } +// 删除不再关联的field + for (Integer fieldId :oldFieldId){ + if (!fieldIdList.contains(fieldId)){ + algorithmMapper.deleteFieldForAlgorithm(algorithm.getAlgorithm_id(), fieldId); + } + } +// 添加关联的field + for (Integer field : fieldIdList){ + if (!oldFieldId.contains(field)){ + algorithmMapper.addFieldForAlgorithm(algorithm.getAlgorithm_id(), field); + } + } + +// 下面对use的处理也是类似 + List oldUseList = algorithmMapper.getUseIdForAlgorithm(algorithm.getAlgorithm_id()); + + List useList = algorithm.getUseList(); + + List useIdList = new ArrayList<>(); + + + for (String useName : useList){ + Integer useId = algorithmMapper.findUseIdByName(useName); + useIdList.add(useId); + } + + for (Integer useId : oldUseList){ + if (!useIdList.contains(useId)){ + algorithmMapper.deleteUSeForAlgorithm(algorithm.getAlgorithm_id(), useId); + } + } + + for (Integer useId : useIdList){ + if (!oldUseList.contains(useId)){ + System.out.println("输出要添加的id"); + System.out.println(algorithm.getAlgorithm_id()+""+useId); + algorithmMapper.addUseForAlgorithm(algorithm.getAlgorithm_id(), useId); + } + } + + + } + + @Override + @Transactional + public void addAlgorithm(Algorithm algorithm) { + System.out.println("打印添加"); + System.out.println(algorithm); + Integer algorithmCount = algorithmMapper.getAlgorithmCount(); + algorithm.setAlgorithm_id(algorithmCount+1); + algorithmMapper.addAlgorithm(algorithm); + + List fieldList = algorithm.getFieldList(); + List useList = algorithm.getUseList(); + for (String field :fieldList){ + Integer fieldId = algorithmMapper.findFieldIdByName(field); + + algorithmMapper.addFieldForAlgorithm(algorithm.getAlgorithm_id(), fieldId); + } + + for (String useName : useList){ + Integer useId = algorithmMapper.findUseIdByName(useName); + + algorithmMapper.addUseForAlgorithm(algorithm.getAlgorithm_id(), useId); + } + + + + } + + @Override + @Transactional + public void deleteAlgorithm(Algorithm algorithm) { + List fieldList = algorithm.getFieldList(); + List useList = algorithm.getUseList(); + + for (String fieldName :fieldList){ + Integer fieldId = algorithmMapper.findFieldIdByName(fieldName); + algorithmMapper.deleteFieldForAlgorithm(algorithm.getAlgorithm_id(), fieldId); + } + + for (String useName : useList){ + Integer usedId = algorithmMapper.findUseIdByName(useName); + algorithmMapper.deleteUSeForAlgorithm(algorithm.getAlgorithm_id(), usedId); + } + + algorithmMapper.deleteAlgorithm(algorithm); + + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java new file mode 100644 index 0000000..bc60857 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/FieldServiceImpl.java @@ -0,0 +1,34 @@ +package com.upsfj.sfjprojectbackend.service.impl; + +import com.upsfj.sfjprojectbackend.entity.Field; +import com.upsfj.sfjprojectbackend.mapper.FieldMapper; +import com.upsfj.sfjprojectbackend.service.FieldService; +import jakarta.annotation.Resource; +import jakarta.transaction.Transactional; +import org.springframework.stereotype.Service; + +@Service +public class FieldServiceImpl implements FieldService { + @Resource + FieldMapper fieldMapper; + + + + @Override + public void addField(String fieldName) { + fieldMapper.AddField(fieldName); + + } + + @Override + public void updateField(Field field) { + fieldMapper.UpdateField(field); + } + + @Override + @Transactional + public void deleteField(Field field) { + fieldMapper.DeleteAlgorithmForField(field); + fieldMapper.DeleteField(field); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java new file mode 100644 index 0000000..0cf49f9 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/java/com/upsfj/sfjprojectbackend/service/impl/UsecaseServiceImpl.java @@ -0,0 +1,32 @@ +package com.upsfj.sfjprojectbackend.service.impl; + +import com.upsfj.sfjprojectbackend.entity.UseCase; +import com.upsfj.sfjprojectbackend.mapper.UseMapper; +import com.upsfj.sfjprojectbackend.mapper.UserMapper; +import com.upsfj.sfjprojectbackend.service.UsecaseService; +import jakarta.annotation.Resource; +import jakarta.transaction.Transactional; +import org.springframework.stereotype.Service; + +@Service +public class UsecaseServiceImpl implements UsecaseService { + @Resource + UseMapper useMapper; + + @Override + public void addUsecase(String usecaseName) { + useMapper.AddUsecase(usecaseName); + } + + @Override + public void updateUsecase(UseCase usecase) { + useMapper.UpdateUsecase(usecase); + } + + @Override + @Transactional + public void deleteUsecase(UseCase usecase) { + useMapper.DeleteAlgorithmForUse(usecase); + useMapper.DeleteUsecase(usecase); + } +} diff --git a/sfj-backend/sfj-project-backend/src/main/resources/application.yaml b/sfj-backend/sfj-project-backend/src/main/resources/application.yaml new file mode 100644 index 0000000..8c4aa60 --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/main/resources/application.yaml @@ -0,0 +1,6 @@ +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://10.51.10.122:3306/sfj?useUnicode=true&characterEncoding=utf-8 + username: root + password: fate_dev \ No newline at end of file diff --git a/sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java b/sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java new file mode 100644 index 0000000..292a41d --- /dev/null +++ b/sfj-backend/sfj-project-backend/src/test/java/com/upsfj/sfjprojectbackend/SfjProjectBackendApplicationTests.java @@ -0,0 +1,16 @@ +package com.upsfj.sfjprojectbackend; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +@SpringBootTest +class SfjProjectBackendApplicationTests { + + @Test + void contextLoads() { +// BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); +// System.out.println(encoder.encode("123456")); + } + +} diff --git a/sfj-backend/sfj-project.iml b/sfj-backend/sfj-project.iml new file mode 100644 index 0000000..2b0f75c --- /dev/null +++ b/sfj-backend/sfj-project.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/.gitignore b/sfj-vue3/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/sfj-vue3/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/sfj-vue3/.vscode/extensions.json b/sfj-vue3/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/sfj-vue3/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/sfj-vue3/Dockerfile b/sfj-vue3/Dockerfile new file mode 100644 index 0000000..0445cf9 --- /dev/null +++ b/sfj-vue3/Dockerfile @@ -0,0 +1,20 @@ +# 基于Node.js的Alpine Linux作为基础镜像 +FROM node:alpine + +# 设置工作目录 +WORKDIR /app + +# 复制package.json和package-lock.json到容器内 +COPY package*.json ./ + +# 运行npm install命令来安装依赖包 +RUN npm ci --only=production + +# 复制src目录及其他需要的文件到容器内 +COPY . . + +# 打开80端口 +EXPOSE 80 + +# 定义入口点 +CMD ["npm", "run", "serve"] \ No newline at end of file diff --git a/sfj-vue3/README.md b/sfj-vue3/README.md new file mode 100644 index 0000000..160e579 --- /dev/null +++ b/sfj-vue3/README.md @@ -0,0 +1,40 @@ +# vue_project3 + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` diff --git a/sfj-vue3/env.d.ts b/sfj-vue3/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/sfj-vue3/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/sfj-vue3/index.html b/sfj-vue3/index.html new file mode 100644 index 0000000..1bc1369 --- /dev/null +++ b/sfj-vue3/index.html @@ -0,0 +1,18 @@ + + + + + + + Vite App + + + + + + + diff --git a/sfj-vue3/package-lock.json b/sfj-vue3/package-lock.json new file mode 100644 index 0000000..3690528 --- /dev/null +++ b/sfj-vue3/package-lock.json @@ -0,0 +1,2912 @@ +{ + "name": "vue_project3", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "vue_project3", + "version": "0.0.0", + "dependencies": { + "aos": "^2.3.4", + "axios": "^1.6.5", + "element-plus": "^2.5.1", + "particles.vue3": "^2.12.0", + "tsparticles": "^3.0.3", + "tsparticles-slim": "^2.12.0", + "vue": "^3.3.11", + "vue-axios": "^3.5.2", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/aos": "^3.0.7", + "@types/node": "^18.19.3", + "@vitejs/plugin-vue": "^4.5.2", + "@vue/tsconfig": "^0.5.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.3.0", + "vite": "^5.0.10", + "vue-tsc": "^1.8.25" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.3.tgz", + "integrity": "sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz", + "integrity": "sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==", + "dependencies": { + "@floating-ui/core": "^1.5.3", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz", + "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz", + "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz", + "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz", + "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz", + "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz", + "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz", + "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz", + "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz", + "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz", + "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz", + "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz", + "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz", + "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tsconfig/node18": { + "version": "18.2.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz", + "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "dev": true + }, + "node_modules/@tsparticles/basic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/basic/-/basic-3.0.3.tgz", + "integrity": "sha512-hMzHTuKhMoTNiqkcEnlGZ3Aa15o3tLcjVDTtuNhZlrONgu7KwVUR4mpxxWUyJHNYlho7VHtZvUU8XAYmN/uAFw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/move-base": "^3.0.3", + "@tsparticles/shape-circle": "^3.0.3", + "@tsparticles/updater-color": "^3.0.3", + "@tsparticles/updater-opacity": "^3.0.3", + "@tsparticles/updater-out-modes": "^3.0.3", + "@tsparticles/updater-size": "^3.0.3" + } + }, + "node_modules/@tsparticles/engine": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/engine/-/engine-3.0.3.tgz", + "integrity": "sha512-1yGci0gMF9uBIVPXBYekORq8UYf8Twz3Xy/ZWWVCFWeVh90Amdns3fad2pf2HicZe8HZqpa1cN2Io1MOHAlO8w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "hasInstallScript": true + }, + "node_modules/@tsparticles/interaction-external-attract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-attract/-/interaction-external-attract-3.0.3.tgz", + "integrity": "sha512-Fnb556N/i7wEj+ziLLkU4dOJWYm31OKyAd8CItsC9/mVtd01jCnBR57rcR3KdlKhknzDrPAWPG0CV29PdZWmXg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-bounce": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bounce/-/interaction-external-bounce-3.0.3.tgz", + "integrity": "sha512-Uc7VNQxeb4KMGTmzIn3/35t0FPFFTSn8sUNyUyE24nlmSZBE1PwxuyMbCCzyj2VYGgdx4PXoijY1tLN9FGfIQg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-bubble": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-bubble/-/interaction-external-bubble-3.0.3.tgz", + "integrity": "sha512-tA3OZfoMhYsy/cY90z8GolGjH9B+r29CplTKiAbOk+CdNFZ9oMBuMXfDhMCFURxbb1Ak4SFhwCSnsTZOokrZeQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-connect": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-connect/-/interaction-external-connect-3.0.3.tgz", + "integrity": "sha512-KtPxzxuG+GLfejSAoQ9d2apYEBt6PnuzNtRuASbnZFMZ8xS9wXcS+6Jn3JCBx6wq7hXJY3yvX86MtIsArVS/cg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-grab": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-grab/-/interaction-external-grab-3.0.3.tgz", + "integrity": "sha512-5JlZRpz4qB1ukcJquhnyETJdSMPu/t7ZNNgecWgiDd1akN3/zQAUp6cY918C1Mtq3J7vElBcyqf/6mY6wApmzg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-pause": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-pause/-/interaction-external-pause-3.0.3.tgz", + "integrity": "sha512-iQnN9cEhInQpGEaYe03L7Y603MuSwBco4FaMYcPcZxHCf6uEAag6zQPxdIZjF/a49dVUuEKv6elW+y07DTVYBg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-push": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-push/-/interaction-external-push-3.0.3.tgz", + "integrity": "sha512-Tiw/o+2jJwpIGPSez8pQSUAzoSSga5q33qtwJgWcjiMedBRnwSJNIdShkR5g5EiWop8GSN9U8AnCA3UrG3cq6Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-remove": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-remove/-/interaction-external-remove-3.0.3.tgz", + "integrity": "sha512-Vo38bKAzFyJDLE6WNespJJn/cIEm9qFZZ6ZVwPbdFDI9rK8gmIqHgmHudQduVPvs2Co9oIjfQq0OgVG70bHFvQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-repulse": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-repulse/-/interaction-external-repulse-3.0.3.tgz", + "integrity": "sha512-6OOk2NzhVsLu7xp8fyn6xw+zVUYlmGcIMgJSa5LzaUZ/gHoVZ2f7UKdtKxZVnqOCWO+Ff8P7rRtm5q39JS8Pvg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-slow": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-slow/-/interaction-external-slow-3.0.3.tgz", + "integrity": "sha512-+oNTTpMjHooMD/+BVtk6xllpVimcRoXlMPrQ+Pj7CndhoQNR6s8MacUyw2HPYO9epuItGui9qq1HyFWqZRQtSA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-external-trail": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-external-trail/-/interaction-external-trail-3.0.3.tgz", + "integrity": "sha512-qP5820gtY2DsIMC8BodFu0cr+f4jvAlnXT3nwpf2N4Rfcn1c0bhzJI8TNtBB/z9wkY8xBKZFhJBwGnNn8sqyrg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-particles-attract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-attract/-/interaction-particles-attract-3.0.3.tgz", + "integrity": "sha512-3DdFXxMujkLRZAAnid8eBW3BwKe3SGoXzVaSaiht7tq/Q0H98h3ryMJNeD6Rr0PbxGFWid3zmwk8+gdhQyOqZg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-particles-collisions": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-collisions/-/interaction-particles-collisions-3.0.3.tgz", + "integrity": "sha512-pYxzrmvwLj4gwQdg33xTDm6670lQExLoCmeATNAukN4qTFWqYnS45AWrUsedKAverDMcnu1iT2Vs+xmEwtSFcw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/interaction-particles-links": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/interaction-particles-links/-/interaction-particles-links-3.0.3.tgz", + "integrity": "sha512-is2I/GTz2nC+2zupyVGbr2tbtp5qGRiwkC3lMWpmvfMWiXxs0iW4w7o/eFy6W5n1Sw2GKLjLUxMn0+xLwRVOEQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/move-base": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/move-base/-/move-base-3.0.3.tgz", + "integrity": "sha512-4OFyZ55zWGgw1di1R7hgjlqySE+SEHrAHEqoEq8x14/D1Zg3ai/6BRFqze161ybtwddpz/ukrFy9cpJaUDH1kA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/move-parallax": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/move-parallax/-/move-parallax-3.0.3.tgz", + "integrity": "sha512-LP9b+Yz3MpnReAgSQrBIINg+fQMzmKlYZ79FQLZdI5UlnyGEarYTYEpcg6VyBWb+QVPDCE+RfOQINfUPI5PB4A==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-absorbers": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-absorbers/-/plugin-absorbers-3.0.3.tgz", + "integrity": "sha512-mpAgIRdAmbb3+SX3KNGbmS0YsMJYx711/dV3e3kCu1M/k7ptFze/oFDLMb1f3614WWRlJCwQGdtmAAv517tpWg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-easing-quad": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-easing-quad/-/plugin-easing-quad-3.0.3.tgz", + "integrity": "sha512-KgzX9VzkPO61GTcLUHGx+wbiBdnxxp7174zICUiLZxYUuKYkn31k00MPsbja3HgW5lSZ6ruFh4RERi8nVwXo/w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-emitters": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters/-/plugin-emitters-3.0.3.tgz", + "integrity": "sha512-Rt1Hrp/teqz6sLPwHShR8L7AWfQCLttXtf7r1VW7iKUhSou7Ye2L77ZCKzqq7xvEszPztYEVMLqjttccGzfs8Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-emitters-shape-circle": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters-shape-circle/-/plugin-emitters-shape-circle-3.0.3.tgz", + "integrity": "sha512-TDB0cw7P27orHwm51Uq6OZoQ3iiZOl948//q6WFvQrufR+TaKCkoyttqzgdV7OKVaMNZa+YlUZ6BIDv5aj5PSA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/plugin-emitters": "^3.0.3" + } + }, + "node_modules/@tsparticles/plugin-emitters-shape-square": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/plugin-emitters-shape-square/-/plugin-emitters-shape-square-3.0.3.tgz", + "integrity": "sha512-gYIN24gqDkzQMfNMdlUqWQBHTvugghRMkEw42FxllKtHZ9urNBWqPA3EGrNL1Z6ZXZI8UuG18udUZKQsxq36vg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/plugin-emitters": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-circle": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-circle/-/shape-circle-3.0.3.tgz", + "integrity": "sha512-BXolExTzU8wKbV9XvYwYmsYVMBFpx6kb+k880Do+HMp9qUvnJ4G7jshwPp7Ns8svoN4EvbqqhacNd029ESMMYw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-emoji": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-emoji/-/shape-emoji-3.0.3.tgz", + "integrity": "sha512-THOeWohtdXQpI3xUjVAcL4XVIWjE66MpGcq1w4Jo+V8luab1fCEKT6GQPPINmkiQe7lWChdz6qUX/FfPYmWG4A==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-image": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-image/-/shape-image-3.0.3.tgz", + "integrity": "sha512-xc2HAmmF1iffOzit3UnIJGQuNX6gqxpO4srm3EOQEoWcS62v2Dr+tI6pEhY60RoVrDhBzdRI2da3+EvL5J39ag==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-line": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-line/-/shape-line-3.0.3.tgz", + "integrity": "sha512-JOJrFKcnDgKJlD2YlJGISyuMRMKCdEuqYvUuXD4JqBR7XP8hoAgMEx2Of3rJ7sZyoAo2pdYEqDoSGWq0vgLuvQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-polygon": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-polygon/-/shape-polygon-3.0.3.tgz", + "integrity": "sha512-gl+XW46oOudD84lgano6exNEKLyXwOXpHJPRm+dz2HLbRuuU6wCFd5isY4YCr47HJL7wJ7u7pm9LF1kkMk68Sg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-square": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-square/-/shape-square-3.0.3.tgz", + "integrity": "sha512-FACZ0OFPMhdeRnspgU8CJimEyNhXNdmP/l5i8booj9ECvuYATy4yRvTbtktBy/mVuehinM8tgFYKgg8UF/as6Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-star": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-star/-/shape-star-3.0.3.tgz", + "integrity": "sha512-P6C+oFneM75Sx2iuLnyNEZR+Cd7V3IIi7lYws54pcUdrYfvQ0lXdQZpUf3noHXoi03c+PnVvEsXvC+fX/+Zdlw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/shape-text": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/shape-text/-/shape-text-3.0.3.tgz", + "integrity": "sha512-OoGA6193n6NXDJrLovmaa9Yu+ErfwrVRoxiAK5mVayM5ecZX6vhD8+c0H+pR2nY6iOn0h8GXU/FYmX9RFaIaOw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/slim": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/slim/-/slim-3.0.3.tgz", + "integrity": "sha512-E6ci6uEujJLaoY1JuFwDDOlJHaAAWbQiSEpgQUqETjD9+yEiiQ0zhxrua4HImU2+JhA6vSi7b1rTc7TYBjRRnQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/basic": "^3.0.3", + "@tsparticles/engine": "^3.0.3", + "@tsparticles/interaction-external-attract": "^3.0.3", + "@tsparticles/interaction-external-bounce": "^3.0.3", + "@tsparticles/interaction-external-bubble": "^3.0.3", + "@tsparticles/interaction-external-connect": "^3.0.3", + "@tsparticles/interaction-external-grab": "^3.0.3", + "@tsparticles/interaction-external-pause": "^3.0.3", + "@tsparticles/interaction-external-push": "^3.0.3", + "@tsparticles/interaction-external-remove": "^3.0.3", + "@tsparticles/interaction-external-repulse": "^3.0.3", + "@tsparticles/interaction-external-slow": "^3.0.3", + "@tsparticles/interaction-particles-attract": "^3.0.3", + "@tsparticles/interaction-particles-collisions": "^3.0.3", + "@tsparticles/interaction-particles-links": "^3.0.3", + "@tsparticles/move-base": "^3.0.3", + "@tsparticles/move-parallax": "^3.0.3", + "@tsparticles/plugin-easing-quad": "^3.0.3", + "@tsparticles/shape-circle": "^3.0.3", + "@tsparticles/shape-emoji": "^3.0.3", + "@tsparticles/shape-image": "^3.0.3", + "@tsparticles/shape-line": "^3.0.3", + "@tsparticles/shape-polygon": "^3.0.3", + "@tsparticles/shape-square": "^3.0.3", + "@tsparticles/shape-star": "^3.0.3", + "@tsparticles/updater-color": "^3.0.3", + "@tsparticles/updater-life": "^3.0.3", + "@tsparticles/updater-opacity": "^3.0.3", + "@tsparticles/updater-out-modes": "^3.0.3", + "@tsparticles/updater-rotate": "^3.0.3", + "@tsparticles/updater-size": "^3.0.3", + "@tsparticles/updater-stroke-color": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-color": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-color/-/updater-color-3.0.3.tgz", + "integrity": "sha512-zOQuO+nJIGcYK2iS4k6+HyO+APfJ58OiZVvkerZaI/on5yE5Cq4goqCrjJBkRWo6WimdhDJjS9vxAyon8Y7CPQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-destroy": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-destroy/-/updater-destroy-3.0.3.tgz", + "integrity": "sha512-nCOP2oxg9Qy5h9WLpR46sZLp0X6Y7/0LVw2Jf7Kz+BNO9aqYW54tRS8AiG9j6DpMmt0HWbiB37Nv05s7/bZnKQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-life": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-life/-/updater-life-3.0.3.tgz", + "integrity": "sha512-2YZoK13qqPB+m2QgcmStiZdCdvmkhIYHCv5fVqHFXrghS6IMqxEOAh+WV5FRcnL19UvMvKZUFLxmubrKnsi1RA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-opacity": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-opacity/-/updater-opacity-3.0.3.tgz", + "integrity": "sha512-B+tCeItEEKfwJMeZ5l7jdggFDdt2Rzo3GSWrbTzsa4RxTlzNBZcuFp5qNOuwnBUERBM9u7wxPnfF+x0fDJlGgw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-out-modes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-out-modes/-/updater-out-modes-3.0.3.tgz", + "integrity": "sha512-3tJ9UKc00KalPVmEfrHUDaXcOAJNjG/83ufiLnj4ZVec4PeibSck7OGkYgNht8O5CR93ZxONNI85DcUHCkBXXg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-roll": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-roll/-/updater-roll-3.0.3.tgz", + "integrity": "sha512-OH1iyHAUvdqKOQN94isViQVUORNUqBDDkgkukvRp6La0Xjk1sop3pVtfH5kADkuolunzD17SlKWup75AUGZKIw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-rotate": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-rotate/-/updater-rotate-3.0.3.tgz", + "integrity": "sha512-447je9lpU++TxPcZjUlit1NaBctIyT2x6W5NevVjrxckoAWoW2OYuy4mhuJRxn3SZHJ7/t2Wt6Es1g3DR4plRA==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-size": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-size/-/updater-size-3.0.3.tgz", + "integrity": "sha512-mgo7VXJR6rfeSuVT2alxzdYs9BO2tr0iWiBKkbQMH/GSpLI4juijvHxUKC7MXk5E8C0f9ZLfoeSDH1NaeizbDw==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-stroke-color": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-stroke-color/-/updater-stroke-color-3.0.3.tgz", + "integrity": "sha512-8CdRz5KE3RxmuJlao92w0Fo1BtwMLSkZIATMLkzuJYUu0Fq5AWnBkUxxe7r5Qk015n9qaMo8aWiQFwrYJ+FGAg==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-tilt": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-tilt/-/updater-tilt-3.0.3.tgz", + "integrity": "sha512-vdw5pBuBosWIq54u7CJD71r2P0UqlMZpOLof8So+Wacm92khZ3ONMpnPbvo0ghBVpZQENvpm5yqJPnroD8KP4Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-twinkle": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-twinkle/-/updater-twinkle-3.0.3.tgz", + "integrity": "sha512-5ejosaUYLji5Wr7uT9bqNae1L0PVb4XOY9a6bhMfoWEQQ8MAGFDFLcSF8ilgL0xpp6GsyF646rM8caIERLUvpQ==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@tsparticles/updater-wobble": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@tsparticles/updater-wobble/-/updater-wobble-3.0.3.tgz", + "integrity": "sha512-PwO53o1Cb8Wwt5jv6hwJ1zBgSH0L6Hz4FD1uJGW/VcYYUg+/NIlUWKpC77PIqS8NE9hiX0c8Yjg1hw60bHR75Q==", + "dependencies": { + "@tsparticles/engine": "^3.0.3" + } + }, + "node_modules/@types/aos": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/aos/-/aos-3.0.7.tgz", + "integrity": "sha512-sEhyFqvKauUJZDbvAB3Pggynrq6g+2PS4XB3tmUr+mDL1gfDJnwslUC4QQ7/l8UD+LWpr3RxZVR/rHoZrLqZVg==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.202", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", + "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "18.19.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.4.tgz", + "integrity": "sha512-xNzlUhzoHotIsnFoXmJB+yWmBvFZgKCI9TtPIEdYIMM1KWfwuY8zh7wvc1u1OAXlC7dlf6mZVx/s+Y5KfFz19A==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.4.tgz", + "integrity": "sha512-U5AdCN+6skzh2bSJrkMj2KZsVkUpgK8/XlxjSRYQZhNPcvt9/kmgIMpFEiTyK+Dz5E1J+8o8//BEIX+bakgVSw==", + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.4", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.4.tgz", + "integrity": "sha512-iSwkdDULCN+Vr8z6uwdlL044GJ/nUmECxP9vu7MzEs4Qma0FwDLYvnvRcyO0ZITuu3Os4FptGUDnhi1kOLSaGw==", + "dependencies": { + "@vue/compiler-core": "3.4.4", + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.4.tgz", + "integrity": "sha512-OTFcU6vUxUNHBcarzkp4g6d25nvcmDvFDzPRvSrIsByFFPRYN+y3b+j9HxYwt6nlWvGyFCe0roeJdJlfYxbCBg==", + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/compiler-core": "3.4.4", + "@vue/compiler-dom": "3.4.4", + "@vue/compiler-ssr": "3.4.4", + "@vue/shared": "3.4.4", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.4.tgz", + "integrity": "sha512-1DU9DflSSQlx/M61GEBN+NbT/anUki2ooDo9IXfTckCeKA/2IKNhY8KbG3x6zkd3KGrxzteC7de6QL88vEb41Q==", + "dependencies": { + "@vue/compiler-dom": "3.4.4", + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" + }, + "node_modules/@vue/language-core": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "dev": true, + "dependencies": { + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.4.tgz", + "integrity": "sha512-DFsuJBf6sfhd5SYzJmcBTUG9+EKqjF31Gsk1NJtnpJm9liSZ806XwGJUeNBVQIanax7ODV7Lmk/k17BgxXNuTg==", + "dependencies": { + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.4.tgz", + "integrity": "sha512-zWWwNQAj5JdxrmOA1xegJm+c4VtyIbDEKgQjSb4va5v7gGTCh0ZjvLI+htGFdVXaO9bs2J3C81p5p+6jrPK8Bw==", + "dependencies": { + "@vue/reactivity": "3.4.4", + "@vue/shared": "3.4.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.4.tgz", + "integrity": "sha512-Nlh2ap1J/eJQ6R0g+AIRyGNwpTJQACN0dk8I8FRLH8Ev11DSvfcPOpn4+Kbg5xAMcuq0cHB8zFYxVrOgETrrvg==", + "dependencies": { + "@vue/runtime-core": "3.4.4", + "@vue/shared": "3.4.4", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.4.tgz", + "integrity": "sha512-+AjoiKcC41k7SMJBYkDO9xs79/Of8DiThS9mH5l2MK+EY0to3psI0k+sElvVqQvsoZTjHMEuMz0AEgvm2T+CwA==", + "dependencies": { + "@vue/compiler-ssr": "3.4.4", + "@vue/shared": "3.4.4" + }, + "peerDependencies": { + "vue": "3.4.4" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.4.tgz", + "integrity": "sha512-abSgiVRhfjfl3JALR/cSuBl74hGJ3SePgf1mKzodf1eMWLwHZbfEGxT2cNJSsNiw44jEgrO7bNkhchaWA7RwNw==" + }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aos": { + "version": "2.3.4", + "resolved": "https://registry.npmmirror.com/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dependencies": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.6.5", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/element-plus": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.5.1.tgz", + "integrity": "sha512-ylX9h2U125/nesPlLWgfPkI1rID9EiGROlgf0QkzBUjx+/d4w/YqS+IqZZZC5yvQPhKYu9aMDqEBzOurwn4Cnw==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.3", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/follow-redirects": { + "version": "1.15.4", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.4.tgz", + "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, + "node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==" + }, + "node_modules/npm-run-all2": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.1.tgz", + "integrity": "sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-pkg": "^8.0.0", + "shell-quote": "^1.7.3" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0", + "npm": ">= 8" + } + }, + "node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/particles.vue3": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/particles.vue3/-/particles.vue3-2.12.0.tgz", + "integrity": "sha512-t1AFUSuL+zzXO5fvBq6y76DAyy6sXtBOVY3UirNzaRQ0JCqSV3wCQwQ2N51tJRG6V952ARi87NMcQP5VwfTkqA==", + "deprecated": "@tsparticles/vue3 is the new package for v3, please use that", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0", + "vue": "^3.3.4" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rollup": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz", + "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.2", + "@rollup/rollup-android-arm64": "4.9.2", + "@rollup/rollup-darwin-arm64": "4.9.2", + "@rollup/rollup-darwin-x64": "4.9.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.2", + "@rollup/rollup-linux-arm64-gnu": "4.9.2", + "@rollup/rollup-linux-arm64-musl": "4.9.2", + "@rollup/rollup-linux-riscv64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-gnu": "4.9.2", + "@rollup/rollup-linux-x64-musl": "4.9.2", + "@rollup/rollup-win32-arm64-msvc": "4.9.2", + "@rollup/rollup-win32-ia32-msvc": "4.9.2", + "@rollup/rollup-win32-x64-msvc": "4.9.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsparticles": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/tsparticles/-/tsparticles-3.0.3.tgz", + "integrity": "sha512-chClgQd4ePebjMk0UtK91ELPsOCcA7pBvDrzb54Yyzy66S5Ksa8oEhuepCfVAREyrAzn0YVuEue07SXvWXS88Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "@tsparticles/engine": "^3.0.3", + "@tsparticles/interaction-external-trail": "^3.0.3", + "@tsparticles/plugin-absorbers": "^3.0.3", + "@tsparticles/plugin-emitters": "^3.0.3", + "@tsparticles/plugin-emitters-shape-circle": "^3.0.3", + "@tsparticles/plugin-emitters-shape-square": "^3.0.3", + "@tsparticles/shape-text": "^3.0.3", + "@tsparticles/slim": "^3.0.3", + "@tsparticles/updater-destroy": "^3.0.3", + "@tsparticles/updater-roll": "^3.0.3", + "@tsparticles/updater-tilt": "^3.0.3", + "@tsparticles/updater-twinkle": "^3.0.3", + "@tsparticles/updater-wobble": "^3.0.3" + } + }, + "node_modules/tsparticles-basic": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-basic/-/tsparticles-basic-2.12.0.tgz", + "integrity": "sha512-pN6FBpL0UsIUXjYbiui5+IVsbIItbQGOlwyGV55g6IYJBgdTNXgFX0HRYZGE9ZZ9psEXqzqwLM37zvWnb5AG9g==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0", + "tsparticles-move-base": "^2.12.0", + "tsparticles-shape-circle": "^2.12.0", + "tsparticles-updater-color": "^2.12.0", + "tsparticles-updater-opacity": "^2.12.0", + "tsparticles-updater-out-modes": "^2.12.0", + "tsparticles-updater-size": "^2.12.0" + } + }, + "node_modules/tsparticles-engine": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-engine/-/tsparticles-engine-2.12.0.tgz", + "integrity": "sha512-ZjDIYex6jBJ4iMc9+z0uPe7SgBnmb6l+EJm83MPIsOny9lPpetMsnw/8YJ3xdxn8hV+S3myTpTN1CkOVmFv0QQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "hasInstallScript": true + }, + "node_modules/tsparticles-interaction-external-attract": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-attract/-/tsparticles-interaction-external-attract-2.12.0.tgz", + "integrity": "sha512-0roC6D1QkFqMVomcMlTaBrNVjVOpyNzxIUsjMfshk2wUZDAvTNTuWQdUpmsLS4EeSTDN3rzlGNnIuuUQqyBU5w==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-bounce": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-bounce/-/tsparticles-interaction-external-bounce-2.12.0.tgz", + "integrity": "sha512-MMcqKLnQMJ30hubORtdq+4QMldQ3+gJu0bBYsQr9BsThsh8/V0xHc1iokZobqHYVP5tV77mbFBD8Z7iSCf0TMQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-bubble": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-bubble/-/tsparticles-interaction-external-bubble-2.12.0.tgz", + "integrity": "sha512-5kImCSCZlLNccXOHPIi2Yn+rQWTX3sEa/xCHwXW19uHxtILVJlnAweayc8+Zgmb7mo0DscBtWVFXHPxrVPFDUA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-connect": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-connect/-/tsparticles-interaction-external-connect-2.12.0.tgz", + "integrity": "sha512-ymzmFPXz6AaA1LAOL5Ihuy7YSQEW8MzuSJzbd0ES13U8XjiU3HlFqlH6WGT1KvXNw6WYoqrZt0T3fKxBW3/C3A==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-grab": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-grab/-/tsparticles-interaction-external-grab-2.12.0.tgz", + "integrity": "sha512-iQF/A947hSfDNqAjr49PRjyQaeRkYgTYpfNmAf+EfME8RsbapeP/BSyF6mTy0UAFC0hK2A2Hwgw72eT78yhXeQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-pause": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-pause/-/tsparticles-interaction-external-pause-2.12.0.tgz", + "integrity": "sha512-4SUikNpsFROHnRqniL+uX2E388YTtfRWqqqZxRhY0BrijH4z04Aii3YqaGhJxfrwDKkTQlIoM2GbFT552QZWjw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-push": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-push/-/tsparticles-interaction-external-push-2.12.0.tgz", + "integrity": "sha512-kqs3V0dgDKgMoeqbdg+cKH2F+DTrvfCMrPF1MCCUpBCqBiH+TRQpJNNC86EZYHfNUeeLuIM3ttWwIkk2hllR/Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-remove": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-remove/-/tsparticles-interaction-external-remove-2.12.0.tgz", + "integrity": "sha512-2eNIrv4m1WB2VfSVj46V2L/J9hNEZnMgFc+A+qmy66C8KzDN1G8aJUAf1inW8JVc0lmo5+WKhzex4X0ZSMghBg==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-repulse": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-repulse/-/tsparticles-interaction-external-repulse-2.12.0.tgz", + "integrity": "sha512-rSzdnmgljeBCj5FPp4AtGxOG9TmTsK3AjQW0vlyd1aG2O5kSqFjR+FuT7rfdSk9LEJGH5SjPFE6cwbuy51uEWA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-external-slow": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-external-slow/-/tsparticles-interaction-external-slow-2.12.0.tgz", + "integrity": "sha512-2IKdMC3om7DttqyroMtO//xNdF0NvJL/Lx7LDo08VpfTgJJozxU+JAUT8XVT7urxhaDzbxSSIROc79epESROtA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-particles-attract": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-attract/-/tsparticles-interaction-particles-attract-2.12.0.tgz", + "integrity": "sha512-Hl8qwuwF9aLq3FOkAW+Zomu7Gb8IKs6Y3tFQUQScDmrrSCaeRt2EGklAiwgxwgntmqzL7hbMWNx06CHHcUQKdQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-particles-collisions": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-collisions/-/tsparticles-interaction-particles-collisions-2.12.0.tgz", + "integrity": "sha512-Se9nPWlyPxdsnHgR6ap4YUImAu3W5MeGKJaQMiQpm1vW8lSMOUejI1n1ioIaQth9weKGKnD9rvcNn76sFlzGBA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-interaction-particles-links": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-interaction-particles-links/-/tsparticles-interaction-particles-links-2.12.0.tgz", + "integrity": "sha512-e7I8gRs4rmKfcsHONXMkJnymRWpxHmeaJIo4g2NaDRjIgeb2AcJSWKWZvrsoLnm7zvaf/cMQlbN6vQwCixYq3A==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-move-base": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-move-base/-/tsparticles-move-base-2.12.0.tgz", + "integrity": "sha512-oSogCDougIImq+iRtIFJD0YFArlorSi8IW3HD2gO3USkH+aNn3ZqZNTqp321uB08K34HpS263DTbhLHa/D6BWw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-move-parallax": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-move-parallax/-/tsparticles-move-parallax-2.12.0.tgz", + "integrity": "sha512-58CYXaX8Ih5rNtYhpnH0YwU4Ks7gVZMREGUJtmjhuYN+OFr9FVdF3oDIJ9N6gY5a5AnAKz8f5j5qpucoPRcYrQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-particles.js": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-particles.js/-/tsparticles-particles.js-2.12.0.tgz", + "integrity": "sha512-LyOuvYdhbUScmA4iDgV3LxA0HzY1DnOwQUy3NrPYO393S2YwdDjdwMod6Btq7EBUjg9FVIh+sZRizgV5elV2dg==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-plugin-easing-quad": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-plugin-easing-quad/-/tsparticles-plugin-easing-quad-2.12.0.tgz", + "integrity": "sha512-2mNqez5pydDewMIUWaUhY5cNQ80IUOYiujwG6qx9spTq1D6EEPLbRNAEL8/ecPdn2j1Um3iWSx6lo340rPkv4Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-circle": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-circle/-/tsparticles-shape-circle-2.12.0.tgz", + "integrity": "sha512-L6OngbAlbadG7b783x16ns3+SZ7i0SSB66M8xGa5/k+YcY7zm8zG0uPt1Hd+xQDR2aNA3RngVM10O23/Lwk65Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-image": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-image/-/tsparticles-shape-image-2.12.0.tgz", + "integrity": "sha512-iCkSdUVa40DxhkkYjYuYHr9MJGVw+QnQuN5UC+e/yBgJQY+1tQL8UH0+YU/h0GHTzh5Sm+y+g51gOFxHt1dj7Q==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-line": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-line/-/tsparticles-shape-line-2.12.0.tgz", + "integrity": "sha512-RcpKmmpKlk+R8mM5wA2v64Lv1jvXtU4SrBDv3vbdRodKbKaWGGzymzav1Q0hYyDyUZgplEK/a5ZwrfrOwmgYGA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-polygon": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-polygon/-/tsparticles-shape-polygon-2.12.0.tgz", + "integrity": "sha512-5YEy7HVMt1Obxd/jnlsjajchAlYMr9eRZWN+lSjcFSH6Ibra7h59YuJVnwxOxAobpijGxsNiBX0PuGQnB47pmA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-square": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-square/-/tsparticles-shape-square-2.12.0.tgz", + "integrity": "sha512-33vfajHqmlODKaUzyPI/aVhnAOT09V7nfEPNl8DD0cfiNikEuPkbFqgJezJuE55ebtVo7BZPDA9o7GYbWxQNuw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-star": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-star/-/tsparticles-shape-star-2.12.0.tgz", + "integrity": "sha512-4sfG/BBqm2qBnPLASl2L5aBfCx86cmZLXeh49Un+TIR1F5Qh4XUFsahgVOG0vkZQa+rOsZPEH04xY5feWmj90g==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-shape-text": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-shape-text/-/tsparticles-shape-text-2.12.0.tgz", + "integrity": "sha512-v2/FCA+hyTbDqp2ymFOe97h/NFb2eezECMrdirHWew3E3qlvj9S/xBibjbpZva2gnXcasBwxn0+LxKbgGdP0rA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-slim": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-slim/-/tsparticles-slim-2.12.0.tgz", + "integrity": "sha512-27w9aGAAAPKHvP4LHzWFpyqu7wKyulayyaZ/L6Tuuejy4KP4BBEB4rY5GG91yvAPsLtr6rwWAn3yS+uxnBDpkA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/matteobruni" + }, + { + "type": "github", + "url": "https://github.com/sponsors/tsparticles" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/matteobruni" + } + ], + "dependencies": { + "tsparticles-basic": "^2.12.0", + "tsparticles-engine": "^2.12.0", + "tsparticles-interaction-external-attract": "^2.12.0", + "tsparticles-interaction-external-bounce": "^2.12.0", + "tsparticles-interaction-external-bubble": "^2.12.0", + "tsparticles-interaction-external-connect": "^2.12.0", + "tsparticles-interaction-external-grab": "^2.12.0", + "tsparticles-interaction-external-pause": "^2.12.0", + "tsparticles-interaction-external-push": "^2.12.0", + "tsparticles-interaction-external-remove": "^2.12.0", + "tsparticles-interaction-external-repulse": "^2.12.0", + "tsparticles-interaction-external-slow": "^2.12.0", + "tsparticles-interaction-particles-attract": "^2.12.0", + "tsparticles-interaction-particles-collisions": "^2.12.0", + "tsparticles-interaction-particles-links": "^2.12.0", + "tsparticles-move-base": "^2.12.0", + "tsparticles-move-parallax": "^2.12.0", + "tsparticles-particles.js": "^2.12.0", + "tsparticles-plugin-easing-quad": "^2.12.0", + "tsparticles-shape-circle": "^2.12.0", + "tsparticles-shape-image": "^2.12.0", + "tsparticles-shape-line": "^2.12.0", + "tsparticles-shape-polygon": "^2.12.0", + "tsparticles-shape-square": "^2.12.0", + "tsparticles-shape-star": "^2.12.0", + "tsparticles-shape-text": "^2.12.0", + "tsparticles-updater-color": "^2.12.0", + "tsparticles-updater-life": "^2.12.0", + "tsparticles-updater-opacity": "^2.12.0", + "tsparticles-updater-out-modes": "^2.12.0", + "tsparticles-updater-rotate": "^2.12.0", + "tsparticles-updater-size": "^2.12.0", + "tsparticles-updater-stroke-color": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-color": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-color/-/tsparticles-updater-color-2.12.0.tgz", + "integrity": "sha512-KcG3a8zd0f8CTiOrylXGChBrjhKcchvDJjx9sp5qpwQK61JlNojNCU35xoaSk2eEHeOvFjh0o3CXWUmYPUcBTQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-life": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-life/-/tsparticles-updater-life-2.12.0.tgz", + "integrity": "sha512-J7RWGHAZkowBHpcLpmjKsxwnZZJ94oGEL2w+wvW1/+ZLmAiFFF6UgU0rHMC5CbHJT4IPx9cbkYMEHsBkcRJ0Bw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-opacity": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-opacity/-/tsparticles-updater-opacity-2.12.0.tgz", + "integrity": "sha512-YUjMsgHdaYi4HN89LLogboYcCi1o9VGo21upoqxq19yRy0hRCtx2NhH22iHF/i5WrX6jqshN0iuiiNefC53CsA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-out-modes": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-out-modes/-/tsparticles-updater-out-modes-2.12.0.tgz", + "integrity": "sha512-owBp4Gk0JNlSrmp12XVEeBroDhLZU+Uq3szbWlHGSfcR88W4c/0bt0FiH5bHUqORIkw+m8O56hCjbqwj69kpOQ==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-rotate": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-rotate/-/tsparticles-updater-rotate-2.12.0.tgz", + "integrity": "sha512-waOFlGFmEZOzsQg4C4VSejNVXGf4dMf3fsnQrEROASGf1FCd8B6WcZau7JtXSTFw0OUGuk8UGz36ETWN72DkCw==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-size": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-size/-/tsparticles-updater-size-2.12.0.tgz", + "integrity": "sha512-B0yRdEDd/qZXCGDL/ussHfx5YJ9UhTqNvmS5X2rR2hiZhBAE2fmsXLeWkdtF2QusjPeEqFDxrkGiLOsh6poqRA==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/tsparticles-updater-stroke-color": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/tsparticles-updater-stroke-color/-/tsparticles-updater-stroke-color-2.12.0.tgz", + "integrity": "sha512-MPou1ZDxsuVq6SN1fbX+aI5yrs6FyP2iPCqqttpNbWyL+R6fik1rL0ab/x02B57liDXqGKYomIbBQVP3zUTW1A==", + "deprecated": "starting from tsparticles v3 the packages are now moved to @tsparticles/package-name instead of tsparticles-package-name", + "dependencies": { + "tsparticles-engine": "^2.12.0" + } + }, + "node_modules/type-fest": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.9.0.tgz", + "integrity": "sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", + "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.4.tgz", + "integrity": "sha512-suZXgDVT8lRNhKmxdkwOsR0oyUi8is7mtqI18qW97JLoyorEbE9B2Sb4Ws/mR/+0AgA/JUtsv1ytlRSH3/pDIA==", + "dependencies": { + "@vue/compiler-dom": "3.4.4", + "@vue/compiler-sfc": "3.4.4", + "@vue/runtime-dom": "3.4.4", + "@vue/server-renderer": "3.4.4", + "@vue/shared": "3.4.4" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-axios": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/vue-axios/-/vue-axios-3.5.2.tgz", + "integrity": "sha512-GP+dct7UlAWkl1qoP3ppw0z6jcSua5/IrMpjB5O8bh089iIiJ+hdxPYH2NPEpajlYgkW5EVMP95ttXWdas1O0g==", + "peerDependencies": { + "axios": "*", + "vue": "^3.0.0 || ^2.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", + "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "dev": true, + "dependencies": { + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.27", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/sfj-vue3/package.json b/sfj-vue3/package.json new file mode 100644 index 0000000..78f5bd5 --- /dev/null +++ b/sfj-vue3/package.json @@ -0,0 +1,35 @@ +{ + "name": "vue_project3", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build --force" + }, + "dependencies": { + "aos": "^2.3.4", + "axios": "^1.6.5", + "element-plus": "^2.5.1", + "particles.vue3": "^2.12.0", + "tsparticles": "^3.0.3", + "tsparticles-slim": "^2.12.0", + "vue": "^3.3.11", + "vue-axios": "^3.5.2", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/aos": "^3.0.7", + "@types/node": "^18.19.3", + "@vitejs/plugin-vue": "^4.5.2", + "@vue/tsconfig": "^0.5.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.3.0", + "vite": "^5.0.10", + "vue-tsc": "^1.8.25" + } +} diff --git a/sfj-vue3/public/favicon.ico b/sfj-vue3/public/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/sfj-vue3/public/favicon.ico differ diff --git a/sfj-vue3/src/App.vue b/sfj-vue3/src/App.vue new file mode 100644 index 0000000..ef225f6 --- /dev/null +++ b/sfj-vue3/src/App.vue @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/sfj-vue3/src/api/data.ts b/sfj-vue3/src/api/data.ts new file mode 100644 index 0000000..0e94ab4 --- /dev/null +++ b/sfj-vue3/src/api/data.ts @@ -0,0 +1,103 @@ +//定义一个接口用于限制第二页面的数据 +export interface data { + id: number; + url: string; + title: string; + data1:string; + data2:string; + data3:string; +} + +import anquanmao from '../assets/image/anquanmao.jpg' +import banyi from '../assets/image/banyi.jpg' +import duanxiu from '../assets/image/duanxiu.jpg' +import facesb from '../assets/image/facesb.png' +import fall from '../assets/image/fall.jpg' +import fanguangyi from '../assets/image/fanguangyi.jpg' +import fight from '../assets/image/fight.jpg' +import mask from '../assets/image/mask.jpg' +import sleep from '../assets/image/sleep.jpg' +import smoke from '../assets/image/smoke.jpg' +import tuogang from '../assets/image/tuogang.jpg' +import yanwu from '../assets/image/yanwu.jpg' +import zhuapai from '../assets/image/zhuapai.jpg' +import yiliu from '../assets/image/yiliu.jpg' +import weiting from '../assets/image/weiting.jpg' +import zhandao from '../assets/image/zhandao.jpg' +import redlight from '../assets/image/redlight.jpg' +import helmet from '../assets/image/helmet.jpg' +import chepai from '../assets/image/chepai.jpg' +import trafficbz from '../assets/image/trafficbz.jpg' +import pilao from '../assets/image/pilao.jpg' +import yongdu from '../assets/image/yongdu.jpg' +import chedaoxian from '../assets/image/chedaoxian.jpg' +import gongfu from '../assets/image/gongfu.jpg' +import gaokongpw from '../assets/image/gaokongpw.jpg' +import miehuoqi from '../assets/image/miehuoqi.jpg' +import fire from '../assets/image/fire.jpg' +import bike from '../assets/image/e-bike.jpg' +import climb from '../assets/image/climb.jpg' +import playphone from '../assets/image/playphone.jpg' +import gather from '../assets/image/gather.jpg' +import keliu from '../assets/image/keliu.jpg' +import midu from '../assets/image/midu.jpg' +import paihuai from '../assets/image/paihuai.jpg' +import phone from '../assets/image/phone.jpg' + +let data_list:Array = [ + {id:1,url:anquanmao,title:'安全帽识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:2,url:banyi,title:'物品搬移',data1:'建筑地产',data2:'智慧银行',data3:'建筑地产'}, + {id:3,url:duanxiu,title:'短袖短裤识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:4,url:facesb,title:'人脸识别',data1:'建筑地产',data2:'智慧园区',data3:'智慧银行'}, + {id:5,url:fall,title:'摔倒检测',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:6,url:fanguangyi,title:'反光衣识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:7,url:fight,title:'打架识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:8,url:mask,title:'戴口罩识别',data1:'建筑地产',data2:'建筑地产',data3:'建筑地产'}, + {id:9,url:sleep,title:'睡岗识别',data1:'建筑地产',data2:'智慧园区',data3:'建筑地产'}, + {id:10,url:smoke,title:'抽烟识别',data1:'建筑地产',data2:'智慧园区',data3:'智慧银行'}, + {id:11,url:tuogang,title:'脱岗检测',data1:'建筑地产',data2:'智慧交通',data3:'智慧银行'}, + {id:12,url:yanwu,title:'烟雾识别',data1:'建筑地产',data2:'智慧园区',data3:'智慧零售'}, + {id:13,url:zhuapai,title:'人脸抓拍',data1:'建筑地产',data2:'智慧园区',data3:'智慧银行'}, + {id:14,url:yiliu,title:'物品遗留',data1:'建筑地产',data2:'智慧银行',data3:'建筑地产'}, + {id:15,url:weiting,title:'车辆违停识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:16,url:zhandao,title:'机动车占道识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:17,url:redlight,title:'行人闯红灯识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:18,url:helmet,title:'电动车头盔识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:19,url:chepai,title:'车牌识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:20,url:mask,title:'流量和方向异常检测',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:21,url:redlight,title:'交通灯识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:22,url:trafficbz,title:'交通标志识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:23,url:pilao,title:'人员疲劳检测',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:24,url:yongdu,title:'交通拥堵识别',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:25,url:chedaoxian,title:'车道线',data1:'智慧交通',data2:'智慧交通',data3:'智慧交通'}, + {id:26,url:tuogang,title:'离岗识别',data1:'建筑地产',data2:'智慧交通',data3:'智慧银行'}, + {id:27,url:gongfu,title:'工服识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:28,url:gaokongpw,title:'高空抛物识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:29,url:fire,title:'火焰识别',data1:'智慧园区',data2:'智慧零售',data3:'智慧银行'}, + {id:30,url:bike,title:'电梯间电动车识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:31,url:climb,title:'攀爬识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:32,url:playphone,title:'玩手机检测',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:33,url:smoke,title:'入侵检测',data1:'智慧园区',data2:'智慧零售',data3:'智慧园区'}, + {id:34,url:gather,title:'聚集发散检测',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:35,url:miehuoqi,title:'灭火器识别',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:36,url:gather,title:'聚众检测',data1:'智慧园区',data2:'智慧园区',data3:'智慧园区'}, + {id:37,url:keliu,title:'客流特征识别',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:38,url:midu,title:'客流密度统计',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:39,url:keliu,title:'客流统计',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:40,url:facesb,title:'人员热力图',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:41,url:fall,title:'跌倒检测',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:42,url:fight,title:'打架、剧烈运动',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:43,url:fight,title:'人员尾随识别',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:44,url:mask,title:'间距异常',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:45,url:sleep,title:'堵截识别',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:46,url:smoke,title:'区域入侵、离开',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:47,url:keliu,title:'人数统计',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:48,url:gather,title:'区域人数统计',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, + {id:49,url:gather,title:'人员聚集',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:50,url:gather,title:'多人侦测',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:51,url:paihuai,title:'徘徊检测',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:52,url:phone,title:'打电话检测',data1:'智慧零售',data2:'智慧零售',data3:'智慧零售'}, + {id:53,url:fall,title:'表情识别',data1:'智慧银行',data2:'智慧银行',data3:'智慧银行'}, +] + +export {data_list} \ No newline at end of file diff --git a/sfj-vue3/src/api/interface.ts b/sfj-vue3/src/api/interface.ts new file mode 100644 index 0000000..d877f1d --- /dev/null +++ b/sfj-vue3/src/api/interface.ts @@ -0,0 +1,47 @@ +//算法类选择 +export interface Item { + name: string; + url: string; + selected: boolean; +} + +//数据库获得数据 +export interface alList { + algorithmFields: string + algorithmUserCases: string + algorithm_description: string + algorithm_id: number + algorithm_name: string + fieldList:fieldList[] + fieldStr: string + useList:useList[] + userStr: string + length: number +} + +interface alMes { + algorithm_name:string, + fieldList:fieldList[], + page:number, + pagesize:number, + count:number +} + +interface fieldList{ + fieldname:string +} + +interface useList { + usename: string +} + +export class MyClass{ + select:alMes={ + algorithm_name:'', + fieldList:[], + page:1, + pagesize:12, + count:0 + } + list:alList[]=[] +} \ No newline at end of file diff --git a/sfj-vue3/src/api/uesr.ts b/sfj-vue3/src/api/uesr.ts new file mode 100644 index 0000000..66c07f3 --- /dev/null +++ b/sfj-vue3/src/api/uesr.ts @@ -0,0 +1,43 @@ +import { servicesVersion } from "typescript"; +import service from "@/utils/axios"; + +//登录接口 +interface loginData{ + username:string, + password:string +} +export function login(data:any){ + return service({ + url:"/api/auth/login", + method:"post", + data + }) +} +export function logout(){ + return service({ + url:"/api/auth/logout", + method:"get", + }) +} +export function authorize(){ + return service({ + url:"/api/user/me", + method:"get" + }) +} + +export function getAlgorithemList(){ + + return service({ + url:"", + method:"get" + }) +} +//查询所有信息接口 +export function getAllAlgorithm(){ + return service({ + url:"/api/algorithm/findall", + method:"get" + }) +} + diff --git a/sfj-vue3/src/assets/1-1.png b/sfj-vue3/src/assets/1-1.png new file mode 100644 index 0000000..7837d48 Binary files /dev/null and b/sfj-vue3/src/assets/1-1.png differ diff --git a/sfj-vue3/src/assets/1-2.png b/sfj-vue3/src/assets/1-2.png new file mode 100644 index 0000000..c2451be Binary files /dev/null and b/sfj-vue3/src/assets/1-2.png differ diff --git a/sfj-vue3/src/assets/1-3.png b/sfj-vue3/src/assets/1-3.png new file mode 100644 index 0000000..7df5e12 Binary files /dev/null and b/sfj-vue3/src/assets/1-3.png differ diff --git a/sfj-vue3/src/assets/1-4.png b/sfj-vue3/src/assets/1-4.png new file mode 100644 index 0000000..1cbfb79 Binary files /dev/null and b/sfj-vue3/src/assets/1-4.png differ diff --git a/sfj-vue3/src/assets/1-5.png b/sfj-vue3/src/assets/1-5.png new file mode 100644 index 0000000..ae42e43 Binary files /dev/null and b/sfj-vue3/src/assets/1-5.png differ diff --git a/sfj-vue3/src/assets/1-6.png b/sfj-vue3/src/assets/1-6.png new file mode 100644 index 0000000..df9ca26 Binary files /dev/null and b/sfj-vue3/src/assets/1-6.png differ diff --git a/sfj-vue3/src/assets/1.png b/sfj-vue3/src/assets/1.png new file mode 100644 index 0000000..987a7bd Binary files /dev/null and b/sfj-vue3/src/assets/1.png differ diff --git a/sfj-vue3/src/assets/11.jpg b/sfj-vue3/src/assets/11.jpg new file mode 100644 index 0000000..30f8dc4 Binary files /dev/null and b/sfj-vue3/src/assets/11.jpg differ diff --git a/sfj-vue3/src/assets/2.png b/sfj-vue3/src/assets/2.png new file mode 100644 index 0000000..47e2dcf Binary files /dev/null and b/sfj-vue3/src/assets/2.png differ diff --git a/sfj-vue3/src/assets/bankbg.jpg b/sfj-vue3/src/assets/bankbg.jpg new file mode 100644 index 0000000..5ba0888 Binary files /dev/null and b/sfj-vue3/src/assets/bankbg.jpg differ diff --git a/sfj-vue3/src/assets/bg.jpg b/sfj-vue3/src/assets/bg.jpg new file mode 100644 index 0000000..27e7995 Binary files /dev/null and b/sfj-vue3/src/assets/bg.jpg differ diff --git a/sfj-vue3/src/assets/bg3.jpg b/sfj-vue3/src/assets/bg3.jpg new file mode 100644 index 0000000..20cb48f Binary files /dev/null and b/sfj-vue3/src/assets/bg3.jpg differ diff --git a/sfj-vue3/src/assets/campusBg.jpg b/sfj-vue3/src/assets/campusBg.jpg new file mode 100644 index 0000000..be2f5dd Binary files /dev/null and b/sfj-vue3/src/assets/campusBg.jpg differ diff --git a/sfj-vue3/src/assets/dcbg.jpg b/sfj-vue3/src/assets/dcbg.jpg new file mode 100644 index 0000000..c669417 Binary files /dev/null and b/sfj-vue3/src/assets/dcbg.jpg differ diff --git a/sfj-vue3/src/assets/image/anquanmao.jpg b/sfj-vue3/src/assets/image/anquanmao.jpg new file mode 100644 index 0000000..ada2366 Binary files /dev/null and b/sfj-vue3/src/assets/image/anquanmao.jpg differ diff --git a/sfj-vue3/src/assets/image/banyi.jpg b/sfj-vue3/src/assets/image/banyi.jpg new file mode 100644 index 0000000..9621bf7 Binary files /dev/null and b/sfj-vue3/src/assets/image/banyi.jpg differ diff --git a/sfj-vue3/src/assets/image/chedaoxian.jpg b/sfj-vue3/src/assets/image/chedaoxian.jpg new file mode 100644 index 0000000..e71076c Binary files /dev/null and b/sfj-vue3/src/assets/image/chedaoxian.jpg differ diff --git a/sfj-vue3/src/assets/image/chepai.jpg b/sfj-vue3/src/assets/image/chepai.jpg new file mode 100644 index 0000000..3674a68 Binary files /dev/null and b/sfj-vue3/src/assets/image/chepai.jpg differ diff --git a/sfj-vue3/src/assets/image/climb.jpg b/sfj-vue3/src/assets/image/climb.jpg new file mode 100644 index 0000000..ed6a2d5 Binary files /dev/null and b/sfj-vue3/src/assets/image/climb.jpg differ diff --git a/sfj-vue3/src/assets/image/duanxiu.jpg b/sfj-vue3/src/assets/image/duanxiu.jpg new file mode 100644 index 0000000..d429452 Binary files /dev/null and b/sfj-vue3/src/assets/image/duanxiu.jpg differ diff --git a/sfj-vue3/src/assets/image/e-bike.jpg b/sfj-vue3/src/assets/image/e-bike.jpg new file mode 100644 index 0000000..f991275 Binary files /dev/null and b/sfj-vue3/src/assets/image/e-bike.jpg differ diff --git a/sfj-vue3/src/assets/image/facesb.png b/sfj-vue3/src/assets/image/facesb.png new file mode 100644 index 0000000..3ad63f1 Binary files /dev/null and b/sfj-vue3/src/assets/image/facesb.png differ diff --git a/sfj-vue3/src/assets/image/fall.jpg b/sfj-vue3/src/assets/image/fall.jpg new file mode 100644 index 0000000..e1d6d7d Binary files /dev/null and b/sfj-vue3/src/assets/image/fall.jpg differ diff --git a/sfj-vue3/src/assets/image/fanguangyi.jpg b/sfj-vue3/src/assets/image/fanguangyi.jpg new file mode 100644 index 0000000..14d9b3f Binary files /dev/null and b/sfj-vue3/src/assets/image/fanguangyi.jpg differ diff --git a/sfj-vue3/src/assets/image/fight.jpg b/sfj-vue3/src/assets/image/fight.jpg new file mode 100644 index 0000000..f146a98 Binary files /dev/null and b/sfj-vue3/src/assets/image/fight.jpg differ diff --git a/sfj-vue3/src/assets/image/fire.jpg b/sfj-vue3/src/assets/image/fire.jpg new file mode 100644 index 0000000..26dea66 Binary files /dev/null and b/sfj-vue3/src/assets/image/fire.jpg differ diff --git a/sfj-vue3/src/assets/image/gaokongpw.jpg b/sfj-vue3/src/assets/image/gaokongpw.jpg new file mode 100644 index 0000000..8c8e43d Binary files /dev/null and b/sfj-vue3/src/assets/image/gaokongpw.jpg differ diff --git a/sfj-vue3/src/assets/image/gather.jpg b/sfj-vue3/src/assets/image/gather.jpg new file mode 100644 index 0000000..0f904e1 Binary files /dev/null and b/sfj-vue3/src/assets/image/gather.jpg differ diff --git a/sfj-vue3/src/assets/image/gongfu.jpg b/sfj-vue3/src/assets/image/gongfu.jpg new file mode 100644 index 0000000..7162c5c Binary files /dev/null and b/sfj-vue3/src/assets/image/gongfu.jpg differ diff --git a/sfj-vue3/src/assets/image/helmet.jpg b/sfj-vue3/src/assets/image/helmet.jpg new file mode 100644 index 0000000..9326a28 Binary files /dev/null and b/sfj-vue3/src/assets/image/helmet.jpg differ diff --git a/sfj-vue3/src/assets/image/icon.png b/sfj-vue3/src/assets/image/icon.png new file mode 100644 index 0000000..42641f5 Binary files /dev/null and b/sfj-vue3/src/assets/image/icon.png differ diff --git a/sfj-vue3/src/assets/image/keliu.jpg b/sfj-vue3/src/assets/image/keliu.jpg new file mode 100644 index 0000000..2a7dce0 Binary files /dev/null and b/sfj-vue3/src/assets/image/keliu.jpg differ diff --git a/sfj-vue3/src/assets/image/llyfangx.jpg b/sfj-vue3/src/assets/image/llyfangx.jpg new file mode 100644 index 0000000..b24529d Binary files /dev/null and b/sfj-vue3/src/assets/image/llyfangx.jpg differ diff --git a/sfj-vue3/src/assets/image/mask.jpg b/sfj-vue3/src/assets/image/mask.jpg new file mode 100644 index 0000000..a342734 Binary files /dev/null and b/sfj-vue3/src/assets/image/mask.jpg differ diff --git a/sfj-vue3/src/assets/image/midu.jpg b/sfj-vue3/src/assets/image/midu.jpg new file mode 100644 index 0000000..99b9e95 Binary files /dev/null and b/sfj-vue3/src/assets/image/midu.jpg differ diff --git a/sfj-vue3/src/assets/image/miehuoqi.jpg b/sfj-vue3/src/assets/image/miehuoqi.jpg new file mode 100644 index 0000000..47e596f Binary files /dev/null and b/sfj-vue3/src/assets/image/miehuoqi.jpg differ diff --git a/sfj-vue3/src/assets/image/paihuai.jpg b/sfj-vue3/src/assets/image/paihuai.jpg new file mode 100644 index 0000000..8ae1ae3 Binary files /dev/null and b/sfj-vue3/src/assets/image/paihuai.jpg differ diff --git a/sfj-vue3/src/assets/image/phone.jpg b/sfj-vue3/src/assets/image/phone.jpg new file mode 100644 index 0000000..ee826db Binary files /dev/null and b/sfj-vue3/src/assets/image/phone.jpg differ diff --git a/sfj-vue3/src/assets/image/pilao.jpg b/sfj-vue3/src/assets/image/pilao.jpg new file mode 100644 index 0000000..c07da8b Binary files /dev/null and b/sfj-vue3/src/assets/image/pilao.jpg differ diff --git a/sfj-vue3/src/assets/image/playphone.jpg b/sfj-vue3/src/assets/image/playphone.jpg new file mode 100644 index 0000000..67c7430 Binary files /dev/null and b/sfj-vue3/src/assets/image/playphone.jpg differ diff --git a/sfj-vue3/src/assets/image/redlight.jpg b/sfj-vue3/src/assets/image/redlight.jpg new file mode 100644 index 0000000..7593cf1 Binary files /dev/null and b/sfj-vue3/src/assets/image/redlight.jpg differ diff --git a/sfj-vue3/src/assets/image/safe.jpg b/sfj-vue3/src/assets/image/safe.jpg new file mode 100644 index 0000000..e3cbafb Binary files /dev/null and b/sfj-vue3/src/assets/image/safe.jpg differ diff --git a/sfj-vue3/src/assets/image/sleep.jpg b/sfj-vue3/src/assets/image/sleep.jpg new file mode 100644 index 0000000..1a9c69f Binary files /dev/null and b/sfj-vue3/src/assets/image/sleep.jpg differ diff --git a/sfj-vue3/src/assets/image/smoke.jpg b/sfj-vue3/src/assets/image/smoke.jpg new file mode 100644 index 0000000..cc924e4 Binary files /dev/null and b/sfj-vue3/src/assets/image/smoke.jpg differ diff --git a/sfj-vue3/src/assets/image/trafficbz.jpg b/sfj-vue3/src/assets/image/trafficbz.jpg new file mode 100644 index 0000000..f0dc272 Binary files /dev/null and b/sfj-vue3/src/assets/image/trafficbz.jpg differ diff --git a/sfj-vue3/src/assets/image/tuogang.jpg b/sfj-vue3/src/assets/image/tuogang.jpg new file mode 100644 index 0000000..ef05176 Binary files /dev/null and b/sfj-vue3/src/assets/image/tuogang.jpg differ diff --git a/sfj-vue3/src/assets/image/weiting.jpg b/sfj-vue3/src/assets/image/weiting.jpg new file mode 100644 index 0000000..0727652 Binary files /dev/null and b/sfj-vue3/src/assets/image/weiting.jpg differ diff --git a/sfj-vue3/src/assets/image/yanwu.jpg b/sfj-vue3/src/assets/image/yanwu.jpg new file mode 100644 index 0000000..a1e16e8 Binary files /dev/null and b/sfj-vue3/src/assets/image/yanwu.jpg differ diff --git a/sfj-vue3/src/assets/image/yiliu.jpg b/sfj-vue3/src/assets/image/yiliu.jpg new file mode 100644 index 0000000..ebbf6c6 Binary files /dev/null and b/sfj-vue3/src/assets/image/yiliu.jpg differ diff --git a/sfj-vue3/src/assets/image/yongdu.jpg b/sfj-vue3/src/assets/image/yongdu.jpg new file mode 100644 index 0000000..e3e49d0 Binary files /dev/null and b/sfj-vue3/src/assets/image/yongdu.jpg differ diff --git a/sfj-vue3/src/assets/image/zhandao.jpg b/sfj-vue3/src/assets/image/zhandao.jpg new file mode 100644 index 0000000..b24529d Binary files /dev/null and b/sfj-vue3/src/assets/image/zhandao.jpg differ diff --git a/sfj-vue3/src/assets/image/zhuapai.jpg b/sfj-vue3/src/assets/image/zhuapai.jpg new file mode 100644 index 0000000..e3f2576 Binary files /dev/null and b/sfj-vue3/src/assets/image/zhuapai.jpg differ diff --git a/sfj-vue3/src/assets/jtbg.jpg b/sfj-vue3/src/assets/jtbg.jpg new file mode 100644 index 0000000..85e7a37 Binary files /dev/null and b/sfj-vue3/src/assets/jtbg.jpg differ diff --git a/sfj-vue3/src/assets/logo.png b/sfj-vue3/src/assets/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/sfj-vue3/src/assets/logo.png differ diff --git a/sfj-vue3/src/assets/lsbg.jpg b/sfj-vue3/src/assets/lsbg.jpg new file mode 100644 index 0000000..3f14ae2 Binary files /dev/null and b/sfj-vue3/src/assets/lsbg.jpg differ diff --git a/sfj-vue3/src/components/Algorithm.vue b/sfj-vue3/src/components/Algorithm.vue new file mode 100644 index 0000000..74ae533 --- /dev/null +++ b/sfj-vue3/src/components/Algorithm.vue @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + 热门搜索: + 热门搜索1 + 热门搜索1 + 热门搜索1 + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + + + + + + + + + + + 首页 + + {{ item.fieldList[0] }} + + {{ clName }} + + + + {{ clName }} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/src/components/detail.vue b/sfj-vue3/src/components/detail.vue new file mode 100644 index 0000000..5853d4b --- /dev/null +++ b/sfj-vue3/src/components/detail.vue @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + 热门搜索: + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + 热门搜索 + + + + + + + + + + + 首页 + + {{ item.fieldList[0] }} + + {{ clName }} + + + + {{ clName }} + + {{ item.algorithm_description }} + + + {{ item.fieldList[i-1] }} + + + + + + 算法演示 + + + + + 申请使用 + + + + + + + + + + + + + + + + + + 应用场景 + + + + + + {{ item.useList[i-1] }} + + + + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/src/components/home.vue b/sfj-vue3/src/components/home.vue new file mode 100644 index 0000000..20d1ed0 --- /dev/null +++ b/sfj-vue3/src/components/home.vue @@ -0,0 +1,453 @@ + + + + + + + 算法集 + + + {{ name }} + + + + + + + 安全生产 + 智慧交通 + 智慧园区 + 智慧零售 + 智慧银行 + + + 相关算法 + + + + + {{ items }} + + + + + + {{ items }} + + + + + + {{ items }} + + + + + + {{ items }} + + + + + + {{ items }} + + + + 查看更多 + + + + + + + + + + 安全生产 + + + + + 智慧交通 + + + + + 智慧园区 + + + + + 智慧零售 + + + + + 智慧银行 + + + + + 更多行业 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/src/main.ts b/sfj-vue3/src/main.ts new file mode 100644 index 0000000..52c7dac --- /dev/null +++ b/sfj-vue3/src/main.ts @@ -0,0 +1,18 @@ +// import './assets/main.css' + +import { createApp } from 'vue' +import App from './App.vue' +import router from './router' +import Particles from 'particles.vue3' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' + +const app = createApp(App) +app.use(Particles) +app.use(router) +app.use(ElementPlus) +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) + } +app.mount('#app') diff --git a/sfj-vue3/src/pages/AlgorithmShowcase.vue b/sfj-vue3/src/pages/AlgorithmShowcase.vue new file mode 100644 index 0000000..e69de29 diff --git a/sfj-vue3/src/pages/anquan.vue b/sfj-vue3/src/pages/anquan.vue new file mode 100644 index 0000000..ad9f063 --- /dev/null +++ b/sfj-vue3/src/pages/anquan.vue @@ -0,0 +1,366 @@ + + + + + + + + 算法商城 + + + + 行业 + + + + {{ items.name }} + + + + + + + 场景 + + + + {{ data.name }} + + + + + + + + + + + + + + + + + + + + + {{ items.algorithm_name }} + + + + {{ items.fieldList[0] }} + + {{ items.fieldList[1] }} + + {{ items.fieldList[2] }} + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/src/pages/gengduo.vue b/sfj-vue3/src/pages/gengduo.vue new file mode 100644 index 0000000..ecb7e1b --- /dev/null +++ b/sfj-vue3/src/pages/gengduo.vue @@ -0,0 +1,31 @@ + + + 更多 + + + + + + + \ No newline at end of file diff --git a/sfj-vue3/src/router/index.ts b/sfj-vue3/src/router/index.ts new file mode 100644 index 0000000..c9f36e2 --- /dev/null +++ b/sfj-vue3/src/router/index.ts @@ -0,0 +1,36 @@ +import {createRouter,createWebHistory,createWebHashHistory} from 'vue-router' + +import Home from '@/components/home.vue' +import anquan from '@/pages/anquan.vue' +import gengduo from '@/pages/gengduo.vue' +import detail from '@/components/detail.vue' +import Algorithm from '@/components/Algorithm.vue' + +const router = createRouter({ + history:createWebHistory(), //路由器的工作模式(稍后讲解) + routes:[ //一个一个的路由规则 + { + name:'home', + path:'/', + component:Home, + + }, + { + name:'algorithm', + path:'/algorithm:need', + component:anquan, + }, + { + name:'detail', + path:'/detail:algorithm_name', + component:detail + }, + { + name:'algorithm', + path:'/algorithm:algorithm_name', + component:Algorithm + } + ] + }) + + export default router \ No newline at end of file diff --git a/sfj-vue3/src/utils/axios.ts b/sfj-vue3/src/utils/axios.ts new file mode 100644 index 0000000..a36a261 --- /dev/null +++ b/sfj-vue3/src/utils/axios.ts @@ -0,0 +1,37 @@ +import axios from 'axios' +// 创建一个 axios 实例 +const service = axios.create({ + baseURL:"http://localhost:8080", + timeout:5000, + headers:{ + 'Content-Type':'application/x-www-form-urlencoded;charset=utf-8' + }, + withCredentials:true + +}) + +// 请求拦截 +service.interceptors.request.use((config)=>{ + config.headers=config.headers || {} + if(localStorage.getItem('token')){ + config.headers.token=localStorage.getItem('token') || "" + } + return config +}) + +// 相应拦截 +service.interceptors.response.use((res) => { + + const status:number = res.data.status + if(status!=200){ + // console.log("dddd"); + // ElMessage.error(res.data.message) + // return Promise.reject(res.data) + + } + return res +},(err)=>{ + // ElMessage.error(err); +}) + +export default service \ No newline at end of file diff --git a/sfj-vue3/tsconfig.app.json b/sfj-vue3/tsconfig.app.json new file mode 100644 index 0000000..eb629bd --- /dev/null +++ b/sfj-vue3/tsconfig.app.json @@ -0,0 +1,13 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "noEmit": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + } +} diff --git a/sfj-vue3/tsconfig.json b/sfj-vue3/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/sfj-vue3/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/sfj-vue3/tsconfig.node.json b/sfj-vue3/tsconfig.node.json new file mode 100644 index 0000000..ff8fd31 --- /dev/null +++ b/sfj-vue3/tsconfig.node.json @@ -0,0 +1,17 @@ +{ + "extends": "@tsconfig/node18/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"], + } +} diff --git a/sfj-vue3/vite.config.ts b/sfj-vue3/vite.config.ts new file mode 100644 index 0000000..fdd84d8 --- /dev/null +++ b/sfj-vue3/vite.config.ts @@ -0,0 +1,17 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import { tr } from 'element-plus/es/locales.mjs' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + }, +}) diff --git a/sfj.sql b/sfj.sql new file mode 100644 index 0000000..3700677 --- /dev/null +++ b/sfj.sql @@ -0,0 +1,514 @@ +/* + Navicat Premium Data Transfer + + Source Server : 10.51.10.122_3306 + Source Server Type : MySQL + Source Server Version : 80028 + Source Host : 10.51.10.122:3306 + Source Schema : sfj + + Target Server Type : MySQL + Target Server Version : 80028 + File Encoding : 65001 + + Date: 21/06/2024 10:23:56 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for sfj_account +-- ---------------------------- +DROP TABLE IF EXISTS `sfj_account`; +CREATE TABLE `sfj_account` ( + `id` int NOT NULL AUTO_INCREMENT, + `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + UNIQUE INDEX `unique_name`(`username`) USING BTREE, + UNIQUE INDEX `unique_email`(`email`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of sfj_account +-- ---------------------------- +INSERT INTO `sfj_account` VALUES (1, 'admin', '$2a$10$wyYsyxZQnJbCgp1FJ5QGaeyOvH0PFBc9wNSIokRqPq1ZILczp91qS', NULL); + +-- ---------------------------- +-- Table structure for sfj_algorithm_field +-- ---------------------------- +DROP TABLE IF EXISTS `sfj_algorithm_field`; +CREATE TABLE `sfj_algorithm_field` ( + `algorithm_id` int NOT NULL, + `field_id` int NOT NULL, + PRIMARY KEY (`algorithm_id`, `field_id`) USING BTREE, + INDEX `field_id`(`field_id`) USING BTREE, + CONSTRAINT `sfj_algorithm_field_ibfk_1` FOREIGN KEY (`algorithm_id`) REFERENCES `sfj_algorithms` (`algorithm_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `sfj_algorithm_field_ibfk_2` FOREIGN KEY (`field_id`) REFERENCES `sfj_field` (`field_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of sfj_algorithm_field +-- ---------------------------- +INSERT INTO `sfj_algorithm_field` VALUES (1, 1); +INSERT INTO `sfj_algorithm_field` VALUES (2, 1); +INSERT INTO `sfj_algorithm_field` VALUES (3, 1); +INSERT INTO `sfj_algorithm_field` VALUES (4, 1); +INSERT INTO `sfj_algorithm_field` VALUES (5, 1); +INSERT INTO `sfj_algorithm_field` VALUES (6, 1); +INSERT INTO `sfj_algorithm_field` VALUES (7, 1); +INSERT INTO `sfj_algorithm_field` VALUES (8, 1); +INSERT INTO `sfj_algorithm_field` VALUES (9, 1); +INSERT INTO `sfj_algorithm_field` VALUES (11, 1); +INSERT INTO `sfj_algorithm_field` VALUES (12, 1); +INSERT INTO `sfj_algorithm_field` VALUES (13, 1); +INSERT INTO `sfj_algorithm_field` VALUES (14, 1); +INSERT INTO `sfj_algorithm_field` VALUES (27, 1); +INSERT INTO `sfj_algorithm_field` VALUES (51, 1); +INSERT INTO `sfj_algorithm_field` VALUES (52, 1); +INSERT INTO `sfj_algorithm_field` VALUES (53, 1); +INSERT INTO `sfj_algorithm_field` VALUES (54, 1); +INSERT INTO `sfj_algorithm_field` VALUES (55, 1); +INSERT INTO `sfj_algorithm_field` VALUES (56, 1); +INSERT INTO `sfj_algorithm_field` VALUES (57, 1); +INSERT INTO `sfj_algorithm_field` VALUES (58, 1); +INSERT INTO `sfj_algorithm_field` VALUES (60, 1); +INSERT INTO `sfj_algorithm_field` VALUES (61, 1); +INSERT INTO `sfj_algorithm_field` VALUES (63, 1); +INSERT INTO `sfj_algorithm_field` VALUES (64, 1); +INSERT INTO `sfj_algorithm_field` VALUES (4, 2); +INSERT INTO `sfj_algorithm_field` VALUES (6, 2); +INSERT INTO `sfj_algorithm_field` VALUES (12, 2); +INSERT INTO `sfj_algorithm_field` VALUES (15, 2); +INSERT INTO `sfj_algorithm_field` VALUES (16, 2); +INSERT INTO `sfj_algorithm_field` VALUES (48, 2); +INSERT INTO `sfj_algorithm_field` VALUES (2, 3); +INSERT INTO `sfj_algorithm_field` VALUES (1, 4); +INSERT INTO `sfj_algorithm_field` VALUES (3, 4); +INSERT INTO `sfj_algorithm_field` VALUES (6, 4); +INSERT INTO `sfj_algorithm_field` VALUES (8, 4); +INSERT INTO `sfj_algorithm_field` VALUES (9, 4); +INSERT INTO `sfj_algorithm_field` VALUES (10, 4); +INSERT INTO `sfj_algorithm_field` VALUES (12, 4); +INSERT INTO `sfj_algorithm_field` VALUES (13, 4); +INSERT INTO `sfj_algorithm_field` VALUES (15, 4); +INSERT INTO `sfj_algorithm_field` VALUES (19, 4); +INSERT INTO `sfj_algorithm_field` VALUES (20, 4); +INSERT INTO `sfj_algorithm_field` VALUES (22, 4); +INSERT INTO `sfj_algorithm_field` VALUES (23, 4); +INSERT INTO `sfj_algorithm_field` VALUES (25, 4); +INSERT INTO `sfj_algorithm_field` VALUES (26, 4); +INSERT INTO `sfj_algorithm_field` VALUES (27, 4); +INSERT INTO `sfj_algorithm_field` VALUES (28, 4); +INSERT INTO `sfj_algorithm_field` VALUES (29, 4); +INSERT INTO `sfj_algorithm_field` VALUES (32, 4); +INSERT INTO `sfj_algorithm_field` VALUES (33, 4); +INSERT INTO `sfj_algorithm_field` VALUES (34, 4); +INSERT INTO `sfj_algorithm_field` VALUES (35, 4); +INSERT INTO `sfj_algorithm_field` VALUES (39, 4); +INSERT INTO `sfj_algorithm_field` VALUES (40, 4); +INSERT INTO `sfj_algorithm_field` VALUES (44, 4); +INSERT INTO `sfj_algorithm_field` VALUES (48, 4); +INSERT INTO `sfj_algorithm_field` VALUES (1, 5); +INSERT INTO `sfj_algorithm_field` VALUES (2, 5); +INSERT INTO `sfj_algorithm_field` VALUES (3, 5); +INSERT INTO `sfj_algorithm_field` VALUES (6, 5); +INSERT INTO `sfj_algorithm_field` VALUES (8, 5); +INSERT INTO `sfj_algorithm_field` VALUES (9, 5); +INSERT INTO `sfj_algorithm_field` VALUES (22, 5); +INSERT INTO `sfj_algorithm_field` VALUES (1, 6); +INSERT INTO `sfj_algorithm_field` VALUES (2, 6); +INSERT INTO `sfj_algorithm_field` VALUES (6, 6); +INSERT INTO `sfj_algorithm_field` VALUES (12, 6); +INSERT INTO `sfj_algorithm_field` VALUES (13, 6); +INSERT INTO `sfj_algorithm_field` VALUES (50, 6); +INSERT INTO `sfj_algorithm_field` VALUES (1, 7); +INSERT INTO `sfj_algorithm_field` VALUES (2, 7); +INSERT INTO `sfj_algorithm_field` VALUES (9, 7); +INSERT INTO `sfj_algorithm_field` VALUES (24, 7); +INSERT INTO `sfj_algorithm_field` VALUES (64, 9); +INSERT INTO `sfj_algorithm_field` VALUES (4, 10); +INSERT INTO `sfj_algorithm_field` VALUES (15, 10); +INSERT INTO `sfj_algorithm_field` VALUES (16, 10); +INSERT INTO `sfj_algorithm_field` VALUES (17, 10); +INSERT INTO `sfj_algorithm_field` VALUES (18, 10); +INSERT INTO `sfj_algorithm_field` VALUES (19, 10); +INSERT INTO `sfj_algorithm_field` VALUES (20, 10); +INSERT INTO `sfj_algorithm_field` VALUES (21, 10); +INSERT INTO `sfj_algorithm_field` VALUES (35, 10); +INSERT INTO `sfj_algorithm_field` VALUES (36, 10); +INSERT INTO `sfj_algorithm_field` VALUES (37, 10); +INSERT INTO `sfj_algorithm_field` VALUES (38, 10); +INSERT INTO `sfj_algorithm_field` VALUES (45, 10); +INSERT INTO `sfj_algorithm_field` VALUES (6, 11); +INSERT INTO `sfj_algorithm_field` VALUES (25, 11); +INSERT INTO `sfj_algorithm_field` VALUES (29, 11); +INSERT INTO `sfj_algorithm_field` VALUES (30, 11); +INSERT INTO `sfj_algorithm_field` VALUES (31, 11); +INSERT INTO `sfj_algorithm_field` VALUES (32, 11); +INSERT INTO `sfj_algorithm_field` VALUES (33, 11); +INSERT INTO `sfj_algorithm_field` VALUES (39, 11); +INSERT INTO `sfj_algorithm_field` VALUES (41, 11); +INSERT INTO `sfj_algorithm_field` VALUES (50, 11); +INSERT INTO `sfj_algorithm_field` VALUES (29, 12); +INSERT INTO `sfj_algorithm_field` VALUES (33, 12); +INSERT INTO `sfj_algorithm_field` VALUES (34, 12); +INSERT INTO `sfj_algorithm_field` VALUES (42, 12); +INSERT INTO `sfj_algorithm_field` VALUES (43, 12); +INSERT INTO `sfj_algorithm_field` VALUES (44, 12); +INSERT INTO `sfj_algorithm_field` VALUES (45, 12); +INSERT INTO `sfj_algorithm_field` VALUES (46, 12); +INSERT INTO `sfj_algorithm_field` VALUES (47, 12); +INSERT INTO `sfj_algorithm_field` VALUES (48, 12); +INSERT INTO `sfj_algorithm_field` VALUES (49, 12); +INSERT INTO `sfj_algorithm_field` VALUES (50, 12); +INSERT INTO `sfj_algorithm_field` VALUES (14, 13); +INSERT INTO `sfj_algorithm_field` VALUES (20, 13); +INSERT INTO `sfj_algorithm_field` VALUES (22, 13); +INSERT INTO `sfj_algorithm_field` VALUES (23, 13); +INSERT INTO `sfj_algorithm_field` VALUES (24, 13); +INSERT INTO `sfj_algorithm_field` VALUES (25, 13); +INSERT INTO `sfj_algorithm_field` VALUES (28, 13); +INSERT INTO `sfj_algorithm_field` VALUES (34, 13); +INSERT INTO `sfj_algorithm_field` VALUES (40, 13); +INSERT INTO `sfj_algorithm_field` VALUES (44, 13); +INSERT INTO `sfj_algorithm_field` VALUES (45, 13); +INSERT INTO `sfj_algorithm_field` VALUES (46, 13); +INSERT INTO `sfj_algorithm_field` VALUES (64, 13); + +-- ---------------------------- +-- Table structure for sfj_algorithm_usecases +-- ---------------------------- +DROP TABLE IF EXISTS `sfj_algorithm_usecases`; +CREATE TABLE `sfj_algorithm_usecases` ( + `algorithm_id` int NOT NULL, + `usecase_id` int NOT NULL, + `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL, + PRIMARY KEY (`algorithm_id`, `usecase_id`) USING BTREE, + INDEX `usecase_id`(`usecase_id`) USING BTREE, + CONSTRAINT `sfj_algorithm_usecases_ibfk_1` FOREIGN KEY (`algorithm_id`) REFERENCES `sfj_algorithms` (`algorithm_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `sfj_algorithm_usecases_ibfk_2` FOREIGN KEY (`usecase_id`) REFERENCES `sfj_usecase` (`usecase_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of sfj_algorithm_usecases +-- ---------------------------- +INSERT INTO `sfj_algorithm_usecases` VALUES (1, 1, '针对如加油站、油漆厂、液化石油气站等极易发生火灾爆炸的特殊场所,检测到烟雾即刻报警,避免(潜在)危险'); +INSERT INTO `sfj_algorithm_usecases` VALUES (1, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (1, 3, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (2, 4, '针对如加油站、油田、工厂等极易发生火灾爆炸的特殊场所,人员吸烟行为立刻报警,推送管理员及时处理,提高安全性'); +INSERT INTO `sfj_algorithm_usecases` VALUES (2, 5, '自动检测如商超、美术馆、公共交通等地的违规吸烟行为,实时提醒,有效禁烟'); +INSERT INTO `sfj_algorithm_usecases` VALUES (2, 6, '自动检测校内及厨房违规吸烟行为,实时提醒,有效禁烟'); +INSERT INTO `sfj_algorithm_usecases` VALUES (3, 1, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (3, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (4, 7, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (4, 8, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (4, 9, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (5, 12, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (5, 13, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (5, 14, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (6, 15, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (6, 16, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (6, 17, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (7, 17, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (8, 18, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (8, 19, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (9, 20, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (9, 21, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (10, 22, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (10, 23, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (11, 21, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (11, 22, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (11, 23, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (12, 24, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (12, 25, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (13, 18, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (13, 26, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (13, 27, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (14, 28, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (14, 29, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (14, 30, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (15, 31, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (15, 32, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (15, 33, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (16, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (16, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (17, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (17, 36, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (17, 37, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (18, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (18, 38, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (18, 39, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (19, 40, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (19, 41, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (19, 42, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (20, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (20, 39, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (20, 43, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (21, 44, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (21, 45, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (22, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (22, 46, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (22, 47, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (23, 19, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (23, 22, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (24, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (24, 19, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (25, 23, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (25, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (25, 48, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (26, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (26, 49, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (27, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (27, 40, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (28, 6, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (28, 20, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (28, 21, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (29, 40, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (29, 50, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (30, 51, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (30, 52, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (30, 53, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (31, 51, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (31, 52, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (32, 54, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (32, 55, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (33, 40, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (33, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (33, 57, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (34, 4, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (34, 6, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (35, 19, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (35, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (35, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (36, 32, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (36, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (36, 36, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (37, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (37, 39, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (37, 44, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (38, 34, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (38, 39, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (38, 44, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (39, 1, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (39, 19, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (39, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (40, 19, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (40, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (40, 40, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (41, 51, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (41, 52, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (41, 54, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (42, 52, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (42, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (42, 57, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (43, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (43, 57, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (44, 35, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (44, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (45, 44, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (45, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (46, 46, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (46, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (46, 57, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (47, 5, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (47, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (48, 3, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (48, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (48, 57, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (49, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (49, 57, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (50, 27, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (50, 55, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (50, 56, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (51, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (52, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (53, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (54, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (55, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (56, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (57, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (58, 2, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (60, 3, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (61, 3, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (63, 3, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (64, 7, NULL); +INSERT INTO `sfj_algorithm_usecases` VALUES (64, 12, NULL); + +-- ---------------------------- +-- Table structure for sfj_algorithms +-- ---------------------------- +DROP TABLE IF EXISTS `sfj_algorithms`; +CREATE TABLE `sfj_algorithms` ( + `algorithm_id` int NOT NULL AUTO_INCREMENT, + `algorithm_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `algorithm_description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `algorithm_img` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `algorithm_coder` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + PRIMARY KEY (`algorithm_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 65 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of sfj_algorithms +-- ---------------------------- +INSERT INTO `sfj_algorithms` VALUES (1, '烟雾识别', '烟雾识别算法基于大规模白色烟雾数据识别训练,配合摄像头实时识别监控区内室内和室外白色烟雾情况,检测到白色烟雾立刻发出警报。适用于工厂、商场、蒸汽作业等任何有火灾隐患的场所,并可用于室内多种复杂环境', 'http://192.168.1.133:9000/algorithm/05b3630f-da5a-4650-9b1e-1ab695300822.jpg', 'tes'); +INSERT INTO `sfj_algorithms` VALUES (2, '抽烟识别', '抽烟识别基于人工智能视觉分析技术,通过监控视角识别场景中的吸烟行为,如果场景中出现人嘴叼着白色香烟的行为,则立即报警报由相关人员处理,以帮助相关单位管控吸烟行为。', 'http://192.168.1.133:9000/algorithm/5bd94999-4c37-4bd3-af7c-035d595d45c5.jpg', NULL); +INSERT INTO `sfj_algorithms` VALUES (3, '安全帽识别', '安全帽识别算法基于大规模安全帽数据识别训练,配合现场摄像头,实现自动识别现场作业人员的安全帽佩戴情况,准确率高于90%,达到高效率监督监管', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (4, '反光衣识别', '反光衣识别算法基于大规模反光衣服数据识别训练,配合现场摄像头,自动监控如工地矿井、公路环卫、路政交警等特殊环境下人员是是否穿着反光衣,有效防范因未着反光衣造成的意外伤害事故,高效率监督监管', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (5, '戴口罩识别', '口罩识别算法基于人工智能视觉分析技术,对如医院、后厨等对卫生要求较高的人员工作场所,有效监测工作人员口罩佩戴情况,检测到未佩戴者立即标注并进行提醒,有效保障工作场所安全卫生情况,减少人力监管成本', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (6, '人脸识别', '人脸识别算法基于人工智能视觉技术,对人脸进行1:1, 1:N, M:N身份验证与识别,与预置人脸库进行比对,识别人身份信息', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (7, '人脸抓拍', '人脸抓拍算法是一种基于计算机视觉和模式识别技术的智能系统,用于在视频监控等场景中自动检测、定位并捕捉清晰的人脸图像。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (8, '脱岗识别', '脱岗识别基于AI视觉分析技术,配合现场摄像头,对关键区域划定ROI,人员离开区域自动识别预警,保证24h安全', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (9, '睡岗识别', '睡岗识别基于AI视觉算法,检测趴在桌子上睡、坐在凳子上后仰睡、躺在凳子上仰躺睡的睡岗人员,避免带来安全隐患,甚至造成安全生产事故,影响生产进度等场景。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (10, '物品搬移', '物品搬移识别基于人工智能视觉分析技术', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (11, '物品遗留', '物品遗留', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (12, '打架识别', '打架识别基于大量人体动作数据训练,配合摄像头及视觉分析技术,依据身体18个关键点实时检测并捕捉人体姿态结果,检测打架行为即刻告警,管理人员及时采取安全措施,防止意外伤害', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (13, '摔倒识别', '摔倒识别基于计算机识别技术,配合现场摄像头,自动识别如居家老人、养老院、地铁手扶梯/楼梯、老幼活动区等公共场所人员摔倒行为,准确率高于96%,及时救援,提高人工监管效果,保障生命安全。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (14, '短裤短袖识别', '短袖短裤识别基于大规模工作服数据识别训练,配合现场摄像头,自动监控高温化工等特殊环境下工作人员是否规范穿着长袖长裤工作服,准确率高于90%,达到高效率监督监管', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (15, '车辆违停识别', '车辆违停识别是基于人工智能视觉分析技术,通过摄像头实时识别是否有机动车违规停放,及时提醒交警人员', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (16, '机动车占道识别', '机动车占道识别/ 车辆违停识别算法主要用于对小区、工业园区,路边停车、消防通道等区域,当车辆进入违停区域或者违规占道时,自动检测违停车辆的车牌号码,并将违停车辆的车牌号码和现场违停的车辆图片上传到客户的管理平台,便于管理人员对违停的车辆或者机动车占道行为进行及时处理', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (17, '行人闯红灯识别', '行人闯红灯识别基于人工智能视觉分析,自动识别行人闯红灯,检测到行人闯红灯行为后立即警报,对行人进行轨迹跟踪,精准捕捉违法瞬间,辅助交管人员高效执法', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (18, '电动车头盔识别', '电动车头盔识别算法主要用于交通管理,可对骑摩托车、自行车人员进行自动识别,若检测到人员未佩戴安全头盔,可立即报警,报警信号同步推送至管理人员', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (19, '车牌识别', '车牌识别算法采用深度学习的方式可对车牌的颜色、车牌信息进行识别分析,把分析的数据信息直接呈现在系统平台上,可查询区域内的车牌、出入时间等历史信息,适用于大陆机动车车牌、香港机动车。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (20, '人员疲劳检测', '人员疲劳检测算法基于大规模AI视觉分析技术,配合现场摄像头,实时监测分析人员疲劳状态,如:点头、歪头、低头、仰头、闭眼等状态,及时告警避免发生安全事故', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (21, '交通拥堵识别', '交通拥堵识别基于人工智能视觉技术,通过监控视频流分析道路拥堵情况,算法对ROI区域中的车辆进行跟踪,当一定数量的车辆在画面中出现达到一定时间后,则认为交通拥堵,并进行报警', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (22, '工服识别', '工服识别算法基于大规模工作服数据识别训练,配合现场摄像头,自动监控员工衣着规范情况,且有效防范外部人员闯入,准确率高于90%,达到高效率监督监管', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (23, '高空抛物识别', '高空抛物识别基于人工智能视觉分析,对学校、小区、办公楼、工厂等场景高空抛物行为进行识别,记录整个抛物过程,并将抛物轨迹可视化,从而定位抛物位置,提高工作人员管理效率', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (24, '灭火器识别', '灭火器识别基于AI视觉分析,自动识别指定区域,灭火器是否缺失,如未检测到灭火器,立即警报,并通知管理人员,适用于加油站,写字楼,化工厂等场景', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (25, '火焰识别', '火焰识别算法基于大规模火焰数据识别训练,配合摄像头,实时识别监控区内明火情况。如有火灾隐患,立刻发出警报。适用于工地,商场,超市,等任何有火灾隐患的场所,可用于室内室外多种复杂环境', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (26, '电梯间电动车识别', '电梯间电动车识别算法基于人工智能视觉分析技术,自动识别视频图像中电梯间、楼道、走廊内是否有电动车进入,若检测到电动车则在画面中报警,有效的防止电动车充电起火等安全隐患,实现电动车安全管控', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (27, '攀爬识别', '攀爬识别算法可对进入检测区域的人员进行自动识别:双手举起并且脚离地超过设定阈值,则判定为攀爬。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (28, '玩手机识别', '玩手机识别算法基于监控摄像头画面,使用计算机视觉技术检测识别人员玩手机的行为,包括单手/双手拿着手机向前看/向下看的玩手机动作,并可以设置当检测到玩手机行为超过大概多少秒时需要进行报警。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (29, '聚众识别', '聚众识别算法基于动态视频实时统计视频区域内的人员, 进行数据采集,监控固定区域出现多人聚集的情况,以实现突发事件预警,现场安全把控等作用。主要用于商场门口,体育馆门口,小巷街道等小场所', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (30, '客流统计', '客流统计算法主要用于写字楼、购物中心、博物馆、展览馆等人流量多场所,可对进入检测区域的人员进行自动识别,并统计图像中划定区域内的人员进出数量。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (31, '客流特征识别', '客流特征识别对动态视频中的现场人员进行实时检测,定位并标记边框,从而对个人外形姿态进行分析得出性别、年龄数据,进行数据采集,辅助商业决策', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (32, '客流密度统计', '客流密度统计基于动态视频实时统计大型活动现场人流密度、变化趋势等,进行数据采集,实现突发事件预警,现场安全把控等', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (33, '徘徊识别', '徘徊识别算法基于计算机识别技术,配合现场摄像头,自动识别监控点下同一人物进出次数,对多次进出徘徊人员实时检测预警,填补人为管控死角,加强安全管控。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (34, '打电话识别', '打电话识别基于人工智能计算机视觉技术,可应用于加油站、校园、易燃易爆品堆放区域等场景,如果检测到区域内有人员有打手机动作,可立即报警,报警信号同步推送至管理人员', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (35, '流量和方向异常检测算法', '流量和方向异常检测算法通过收集车辆流量、速度和方向等数据,利用统计学和机器学习等方法,识别出异常的流量和方向模式。这些异常可能预示着交通事故、道路拥堵或其他交通问题。通过及时发现和预警这些异常情况,该算法有助于提高交通管理效率和道路安全。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (36, '交通灯识别', '交通灯识别算法从交通监控视频中提取出交通信号灯的图像,并根据其颜色、形状、位置等特征判断其状态,例如红灯、绿灯或黄灯。交通灯识别算法在智能交通系统中具有重要作用,能够帮助实现交通流量的自动监测、交通违规行为的自动检测等功能,从而提高交通管理效率和道路安全性。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (37, '交通标志检测', '交通标志检测算法通过采集道路上的图像数据,利用图像处理、特征提取和分类器设计等技术手段,识别出不同类型的交通标志,例如指示牌、警告牌和禁令牌等。交通标志识别算法在智能交通系统中具有重要作用,能够帮助实现交通违规行为的自动检测、驾驶辅助系统的智能化等功能,从而提高道路安全性和交通流畅度。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (38, '车道线检测', '车道线检测算法通过采集道路图像,利用图像处理、特征提取和机器学习等技术手段,识别出车道线的位置、方向和形状等信息。车道线检测算法在智能交通系统中具有重要作用,是实现自动驾驶、车辆导航和交通监控等应用的基础技术之一。通过精确检测车道线的位置和方向,该算法能够帮助车辆实现自主巡航、自动跟车、车道偏离预警等功能,从而提高道路安全性和交通流畅度。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (39, '入侵检测', '入侵检测算法通过收集和分析环境数据,如音频、视频、红外线、震动等,利用机器学习、模式识别等技术手段,自动检测出异常行为或入侵事件。现实中的入侵检测算法具有高度的实时性和准确性,能够在第一时间发现潜在的安全威胁,并及时触发报警或安全响应。这种算法在安全监控、智能家居、智能城市等领域中发挥着越来越重要的作用,为保护人员和财产的安全提供了有力支持。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (40, '聚集发散检测算法', '聚集发散检测算法用于实时监测和分析人员和车辆的聚集和流动情况。该算法通过收集和分析园区内的监控视频、传感器数据等,利用计算机视觉和数据分析技术,自动检测和识别出人员和车辆聚集的区域、密度和流动趋势。工业园区中的聚集发散检测算法具有实时性、高效性和准确性等特点,能够及时发现和预警潜在的安全风险和交通拥堵等问题。这种算法的应用有助于提高工业园区的安全管理和交通流畅度,为工业生产和物流运输提供更加安全和高效的环境。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (41, '人员热力图', '人员热力图算法通过收集和分析人员的位置、移动轨迹等信息,利用地理信息系统(GIS)技术和可视化技术,将人员分布情况以热力图的形式呈现出来。在商业分析方面,该算法可以用于分析消费者的购物行为和活动轨迹,为商业决策提供有力支持。通过人员热力图算法的应用,可以提高城市管理和商业运营的效率和智能化水平,为人们的生活和工作提供更加便捷和安全的环境。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (42, '人员尾随识别', '人员尾随识别算法通过采集视频数据,利用图像处理、目标检测和跟踪等技术手段,实时检测出人员的尾随行为,并分析尾随者的跟随轨迹和行为特征。人员尾随识别算法在安全监控、智能交通和智能城市等领域具有广泛的应用价值。在安全监控方面,该算法可以帮助监控系统及时发现和预警尾随行为,提高安全防范能力', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (43, '间距异常', '间距异常算法通过分析客户在银行内的行为数据,包括人与人之间的距离、移动轨迹等,利用机器学习和模式识别等技术手段,检测出异常的行为模式或可疑行为。间距异常算法能够及时发现和预警潜在的威胁或非法行为,有助于提高银行内的安全管理和客户体验。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (44, '周界防范越线入侵', '周界防范越线入侵算法通过分析摄像机采集的视频数据,利用图像处理、目标检测和跟踪等技术手段,实时检测和识别周界入侵行为,包括越线、攀爬、非法穿越等。一旦发现入侵行为,该算法将立即触发报警系统,并通过多种方式通知管理人员,以便及时采取应对措施。周界防范越线入侵算法具有高精度、实时性和可靠性等特点,能够有效地防范潜在风险和事故的发生,提高周界安全管理的效率和智能化水平。这种算法在城市安全监控、工业园区、机场、油库等重要设施的周界安全防范中具有广泛的应用价值。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (45, '堵截识别', '堵截识别算法通过分析视频图像,利用目标检测、跟踪和行为识别等技术手段,实时检测出物体在视频中的堵截行为,并识别出相关物体的属性和特征。堵截识别算法在安全监控、智能交通和智能城市等领域具有广泛的应用价值。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (46, '区域入侵、离开', '区域入侵、离开算法通过分析视频图像,利用目标检测、跟踪和行为识别等技术手段,实时检测出物体在特定区域内的入侵和离开行为,并识别出相关物体的属性和特征。区域入侵、离开算法在安全监控、智能交通和智能城市等领域具有广泛的应用价值。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (47, '人数统计', '人数统计算法通过分析视频图像,利用目标检测、跟踪和行为识别等技术手段,实时统计出视频中的人数流量、密度和分布情况。人数统计算法在安全监控、智能交通和智能城市等领域具有广泛的应用价值。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (48, '区域人数统计', '区域人数统计算法通过分析摄像机采集的视频数据,利用图像处理、目标检测和跟踪等技术手段,实时检测和识别特定区域内的人数流量和分布情况。区域人数统计算法具有高精度、实时性和可靠性等特点,能够为管理者提供准确的人数数据,以便进行有效的管理和调度。这种算法在商场、景区、车站等公共场所的安全监控、人流管理和运营优化等方面具有广泛的应用价值。通过区域人数统计算法的应用,可以提高公共场所的管理效率和智能化水平,为人们提供更加安全、便捷和舒适的环境。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (49, '多人侦测', '多人侦测算法通过实时分析监控视频,利用目标检测、跟踪和行为识别等技术手段,对银行内客户的行为进行侦测和分类。一旦发现异常行为或潜在的安全威胁,该算法将立即触发报警系统,并通过多种方式通知管理人员,以便及时采取应对措施。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (50, '表情识别', '表情识别算法通过分析面部特征、肌肉运动和表情变化等信息,能够识别出不同的表情,如高兴、悲伤、愤怒等。表情识别算法通常包括图像采集、预处理、特征提取和分类识别等步骤。在实际应用中,表情识别算法可以用于人机交互、机器人制造、医疗诊断等领域,为提高人机交互的智能化水平和改善人机交流提供了有力支持。', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (51, '语音识别', '个', 'http://192.168.1.133:9000/algorithm/a5936300-87dc-49ce-9bdf-b49204347b89.jpg', NULL); +INSERT INTO `sfj_algorithms` VALUES (52, '行人检测', '对生产环境的行人进行检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (53, 'OCR', 'OCR检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (54, '车辆检测', '车辆检测相关', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (55, '实例分割', '实例分割', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (56, '疲劳检测', '疲劳检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (57, 'PCB缺陷检测', 'PCB缺陷检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (58, '遥感目标检测', '遥感目标检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (60, '电动车检测', '电动车检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (61, '姿态检测', '姿态检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (63, '手套检测', '手套检测', NULL, NULL); +INSERT INTO `sfj_algorithms` VALUES (64, '安全检测', '安全检测算法是一种能够自动识别和分类图像或视频中特定安全装备佩戴情况的计算机视觉技术。能够准确地检测出人员是否佩戴了特定的安全装备。这些安全检测算法在实际应用中具有重要意义。\r\n', NULL, NULL); + +-- ---------------------------- +-- Table structure for sfj_field +-- ---------------------------- +DROP TABLE IF EXISTS `sfj_field`; +CREATE TABLE `sfj_field` ( + `field_id` int NOT NULL AUTO_INCREMENT, + `field_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + PRIMARY KEY (`field_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of sfj_field +-- ---------------------------- +INSERT INTO `sfj_field` VALUES (1, '安全生产'); +INSERT INTO `sfj_field` VALUES (2, '智慧城管'); +INSERT INTO `sfj_field` VALUES (3, '智慧能源'); +INSERT INTO `sfj_field` VALUES (4, '智慧园区'); +INSERT INTO `sfj_field` VALUES (5, '智慧矿山'); +INSERT INTO `sfj_field` VALUES (6, '智慧养老'); +INSERT INTO `sfj_field` VALUES (7, '智慧消防'); +INSERT INTO `sfj_field` VALUES (9, '智慧油站'); +INSERT INTO `sfj_field` VALUES (10, '智慧交通'); +INSERT INTO `sfj_field` VALUES (11, '智慧零售'); +INSERT INTO `sfj_field` VALUES (12, '智慧银行'); +INSERT INTO `sfj_field` VALUES (13, '智慧工业'); + +-- ---------------------------- +-- Table structure for sfj_usecase +-- ---------------------------- +DROP TABLE IF EXISTS `sfj_usecase`; +CREATE TABLE `sfj_usecase` ( + `usecase_id` int NOT NULL AUTO_INCREMENT, + `usecase_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + PRIMARY KEY (`usecase_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of sfj_usecase +-- ---------------------------- +INSERT INTO `sfj_usecase` VALUES (1, '建筑楼宇'); +INSERT INTO `sfj_usecase` VALUES (2, '加油站/油漆厂等'); +INSERT INTO `sfj_usecase` VALUES (3, '日常活动场所'); +INSERT INTO `sfj_usecase` VALUES (4, '油田/加油站'); +INSERT INTO `sfj_usecase` VALUES (5, '公共场所'); +INSERT INTO `sfj_usecase` VALUES (6, '学校/厨房'); +INSERT INTO `sfj_usecase` VALUES (7, '工地矿井'); +INSERT INTO `sfj_usecase` VALUES (8, '公路环卫'); +INSERT INTO `sfj_usecase` VALUES (9, '路政交警'); +INSERT INTO `sfj_usecase` VALUES (12, '食品加工厂'); +INSERT INTO `sfj_usecase` VALUES (13, '医院/防疫站/实验室等无菌场所'); +INSERT INTO `sfj_usecase` VALUES (14, '饭店酒店等后厨场所'); +INSERT INTO `sfj_usecase` VALUES (15, '身份验证'); +INSERT INTO `sfj_usecase` VALUES (16, '身份识别'); +INSERT INTO `sfj_usecase` VALUES (17, '多目标检测与识别'); +INSERT INTO `sfj_usecase` VALUES (18, '活动场所'); +INSERT INTO `sfj_usecase` VALUES (19, '园区/工厂'); +INSERT INTO `sfj_usecase` VALUES (20, '值班场所'); +INSERT INTO `sfj_usecase` VALUES (21, '前台/柜台'); +INSERT INTO `sfj_usecase` VALUES (22, '小区/社区'); +INSERT INTO `sfj_usecase` VALUES (23, '仓库存储'); +INSERT INTO `sfj_usecase` VALUES (24, '娱乐场所'); +INSERT INTO `sfj_usecase` VALUES (25, '城市校园'); +INSERT INTO `sfj_usecase` VALUES (26, '地铁/公园'); +INSERT INTO `sfj_usecase` VALUES (27, '智慧社区/养老院'); +INSERT INTO `sfj_usecase` VALUES (28, '电气/化工厂'); +INSERT INTO `sfj_usecase` VALUES (29, '电站/机房'); +INSERT INTO `sfj_usecase` VALUES (30, '供电抢修'); +INSERT INTO `sfj_usecase` VALUES (31, '应急车道'); +INSERT INTO `sfj_usecase` VALUES (32, '人行横道'); +INSERT INTO `sfj_usecase` VALUES (33, '可停车区域'); +INSERT INTO `sfj_usecase` VALUES (34, '城市道路'); +INSERT INTO `sfj_usecase` VALUES (35, '工业园区'); +INSERT INTO `sfj_usecase` VALUES (36, '红绿灯路口'); +INSERT INTO `sfj_usecase` VALUES (37, '非人行道路口'); +INSERT INTO `sfj_usecase` VALUES (38, '城市管理'); +INSERT INTO `sfj_usecase` VALUES (39, '城市交通'); +INSERT INTO `sfj_usecase` VALUES (40, '园区/小区'); +INSERT INTO `sfj_usecase` VALUES (41, '停车场'); +INSERT INTO `sfj_usecase` VALUES (42, '公路卡口'); +INSERT INTO `sfj_usecase` VALUES (43, '车辆驾驶员'); +INSERT INTO `sfj_usecase` VALUES (44, '城市主干道'); +INSERT INTO `sfj_usecase` VALUES (45, '加油站/充电站'); +INSERT INTO `sfj_usecase` VALUES (46, '仓储物流'); +INSERT INTO `sfj_usecase` VALUES (47, '企业管理'); +INSERT INTO `sfj_usecase` VALUES (48, '户外场所'); +INSERT INTO `sfj_usecase` VALUES (49, '小区电梯间'); +INSERT INTO `sfj_usecase` VALUES (50, '商场/体育馆'); +INSERT INTO `sfj_usecase` VALUES (51, '零售连锁门店'); +INSERT INTO `sfj_usecase` VALUES (52, '购物中心'); +INSERT INTO `sfj_usecase` VALUES (53, '剧院/体育馆/博物馆/展会'); +INSERT INTO `sfj_usecase` VALUES (54, '景区/食堂/游乐园'); +INSERT INTO `sfj_usecase` VALUES (55, '展会/商场/剧院'); +INSERT INTO `sfj_usecase` VALUES (56, '银行/ATM机'); +INSERT INTO `sfj_usecase` VALUES (57, '珠宝店'); + +SET FOREIGN_KEY_CHECKS = 1;
安全生产
智慧交通
智慧园区
智慧零售
智慧银行
更多行业