diff --git a/src/v1.2.3/guide/api.md b/history/v1.2.3/guide/api.md similarity index 100% rename from src/v1.2.3/guide/api.md rename to history/v1.2.3/guide/api.md diff --git a/src/v1.2.3/guide/companyintegration.md b/history/v1.2.3/guide/companyintegration.md similarity index 100% rename from src/v1.2.3/guide/companyintegration.md rename to history/v1.2.3/guide/companyintegration.md diff --git a/src/v1.2.3/guide/config.md b/history/v1.2.3/guide/config.md similarity index 100% rename from src/v1.2.3/guide/config.md rename to history/v1.2.3/guide/config.md diff --git a/src/v1.2.3/guide/datafillhandler.md b/history/v1.2.3/guide/datafillhandler.md similarity index 100% rename from src/v1.2.3/guide/datafillhandler.md rename to history/v1.2.3/guide/datafillhandler.md diff --git a/src/v1.2.3/guide/expression.md b/history/v1.2.3/guide/expression.md similarity index 100% rename from src/v1.2.3/guide/expression.md rename to history/v1.2.3/guide/expression.md diff --git a/src/master/guide/flowchart.md b/history/v1.2.3/guide/flowchart.md similarity index 100% rename from src/master/guide/flowchart.md rename to history/v1.2.3/guide/flowchart.md diff --git a/src/v1.2.3/guide/introduction.md b/history/v1.2.3/guide/introduction.md similarity index 100% rename from src/v1.2.3/guide/introduction.md rename to history/v1.2.3/guide/introduction.md diff --git a/src/v1.2.3/guide/learningmaterials.md b/history/v1.2.3/guide/learningmaterials.md similarity index 100% rename from src/v1.2.3/guide/learningmaterials.md rename to history/v1.2.3/guide/learningmaterials.md diff --git a/src/v1.2.3/guide/listener.md b/history/v1.2.3/guide/listener.md similarity index 100% rename from src/v1.2.3/guide/listener.md rename to history/v1.2.3/guide/listener.md diff --git a/src/v1.2.3/guide/member.md b/history/v1.2.3/guide/member.md similarity index 100% rename from src/v1.2.3/guide/member.md rename to history/v1.2.3/guide/member.md diff --git a/src/v1.2.3/guide/ormusagetips.md b/history/v1.2.3/guide/ormusagetips.md similarity index 100% rename from src/v1.2.3/guide/ormusagetips.md rename to history/v1.2.3/guide/ormusagetips.md diff --git a/src/common/pr.md b/history/v1.2.3/guide/pr.md similarity index 100% rename from src/common/pr.md rename to history/v1.2.3/guide/pr.md diff --git a/src/v1.2.3/guide/processdemo.md b/history/v1.2.3/guide/processdemo.md similarity index 100% rename from src/v1.2.3/guide/processdemo.md rename to history/v1.2.3/guide/processdemo.md diff --git a/src/v1.2.3/guide/processrule.md b/history/v1.2.3/guide/processrule.md similarity index 100% rename from src/v1.2.3/guide/processrule.md rename to history/v1.2.3/guide/processrule.md diff --git a/src/v1.2.3/guide/processterm.md b/history/v1.2.3/guide/processterm.md similarity index 100% rename from src/v1.2.3/guide/processterm.md rename to history/v1.2.3/guide/processterm.md diff --git a/src/v1.2.3/guide/projectexample.md b/history/v1.2.3/guide/projectexample.md similarity index 100% rename from src/v1.2.3/guide/projectexample.md rename to history/v1.2.3/guide/projectexample.md diff --git a/src/v1.2.3/guide/started.md b/history/v1.2.3/guide/started.md similarity index 100% rename from src/v1.2.3/guide/started.md rename to history/v1.2.3/guide/started.md diff --git a/src/v1.2.3/guide/support.md b/history/v1.2.3/guide/support.md similarity index 100% rename from src/v1.2.3/guide/support.md rename to history/v1.2.3/guide/support.md diff --git a/src/v1.2.3/guide/table.md b/history/v1.2.3/guide/table.md similarity index 100% rename from src/v1.2.3/guide/table.md rename to history/v1.2.3/guide/table.md diff --git a/src/v1.2.3/guide/troubleshooting.md b/history/v1.2.3/guide/troubleshooting.md similarity index 100% rename from src/v1.2.3/guide/troubleshooting.md rename to history/v1.2.3/guide/troubleshooting.md diff --git a/src/v1.2.3/guide/update.md b/history/v1.2.3/guide/update.md similarity index 100% rename from src/v1.2.3/guide/update.md rename to history/v1.2.3/guide/update.md diff --git a/src/v1.2.3/guide/update/v1.2.0.md b/history/v1.2.3/guide/update/v1.2.0.md similarity index 100% rename from src/v1.2.3/guide/update/v1.2.0.md rename to history/v1.2.3/guide/update/v1.2.0.md diff --git a/src/v1.2.4/guide/api.md b/history/v1.2.4/guide/api.md similarity index 100% rename from src/v1.2.4/guide/api.md rename to history/v1.2.4/guide/api.md diff --git a/src/v1.2.4/guide/companyintegration.md b/history/v1.2.4/guide/companyintegration.md similarity index 100% rename from src/v1.2.4/guide/companyintegration.md rename to history/v1.2.4/guide/companyintegration.md diff --git a/src/v1.2.4/guide/config.md b/history/v1.2.4/guide/config.md similarity index 100% rename from src/v1.2.4/guide/config.md rename to history/v1.2.4/guide/config.md diff --git a/src/v1.2.4/guide/customstatus.md b/history/v1.2.4/guide/customstatus.md similarity index 100% rename from src/v1.2.4/guide/customstatus.md rename to history/v1.2.4/guide/customstatus.md diff --git a/src/v1.2.4/guide/datafillhandler.md b/history/v1.2.4/guide/datafillhandler.md similarity index 100% rename from src/v1.2.4/guide/datafillhandler.md rename to history/v1.2.4/guide/datafillhandler.md diff --git a/src/v1.2.4/guide/expression.md b/history/v1.2.4/guide/expression.md similarity index 100% rename from src/v1.2.4/guide/expression.md rename to history/v1.2.4/guide/expression.md diff --git a/src/v1.2.10/guide/flowchart.md b/history/v1.2.4/guide/flowchart.md similarity index 100% rename from src/v1.2.10/guide/flowchart.md rename to history/v1.2.4/guide/flowchart.md diff --git a/src/v1.2.4/guide/introduction.md b/history/v1.2.4/guide/introduction.md similarity index 100% rename from src/v1.2.4/guide/introduction.md rename to history/v1.2.4/guide/introduction.md diff --git a/src/v1.2.4/guide/learningmaterials.md b/history/v1.2.4/guide/learningmaterials.md similarity index 100% rename from src/v1.2.4/guide/learningmaterials.md rename to history/v1.2.4/guide/learningmaterials.md diff --git a/src/v1.2.4/guide/listener.md b/history/v1.2.4/guide/listener.md similarity index 100% rename from src/v1.2.4/guide/listener.md rename to history/v1.2.4/guide/listener.md diff --git a/src/v1.2.4/guide/logicdelete.md b/history/v1.2.4/guide/logicdelete.md similarity index 100% rename from src/v1.2.4/guide/logicdelete.md rename to history/v1.2.4/guide/logicdelete.md diff --git a/src/v1.2.4/guide/member.md b/history/v1.2.4/guide/member.md similarity index 100% rename from src/v1.2.4/guide/member.md rename to history/v1.2.4/guide/member.md diff --git a/src/v1.2.4/guide/ormusagetips.md b/history/v1.2.4/guide/ormusagetips.md similarity index 100% rename from src/v1.2.4/guide/ormusagetips.md rename to history/v1.2.4/guide/ormusagetips.md diff --git a/src/v1.2.3/guide/pr.md b/history/v1.2.4/guide/pr.md similarity index 100% rename from src/v1.2.3/guide/pr.md rename to history/v1.2.4/guide/pr.md diff --git a/src/v1.2.4/guide/processdemo.md b/history/v1.2.4/guide/processdemo.md similarity index 100% rename from src/v1.2.4/guide/processdemo.md rename to history/v1.2.4/guide/processdemo.md diff --git a/src/v1.2.10/guide/processrule.md b/history/v1.2.4/guide/processrule.md similarity index 100% rename from src/v1.2.10/guide/processrule.md rename to history/v1.2.4/guide/processrule.md diff --git a/src/v1.2.4/guide/processterm.md b/history/v1.2.4/guide/processterm.md similarity index 100% rename from src/v1.2.4/guide/processterm.md rename to history/v1.2.4/guide/processterm.md diff --git a/src/v1.2.4/guide/projectexample.md b/history/v1.2.4/guide/projectexample.md similarity index 100% rename from src/v1.2.4/guide/projectexample.md rename to history/v1.2.4/guide/projectexample.md diff --git a/src/v1.2.4/guide/started.md b/history/v1.2.4/guide/started.md similarity index 100% rename from src/v1.2.4/guide/started.md rename to history/v1.2.4/guide/started.md diff --git a/src/v1.2.4/guide/support.md b/history/v1.2.4/guide/support.md similarity index 100% rename from src/v1.2.4/guide/support.md rename to history/v1.2.4/guide/support.md diff --git a/src/v1.2.4/guide/table.md b/history/v1.2.4/guide/table.md similarity index 100% rename from src/v1.2.4/guide/table.md rename to history/v1.2.4/guide/table.md diff --git a/src/v1.2.4/guide/tenant.md b/history/v1.2.4/guide/tenant.md similarity index 100% rename from src/v1.2.4/guide/tenant.md rename to history/v1.2.4/guide/tenant.md diff --git a/src/v1.2.4/guide/troubleshooting.md b/history/v1.2.4/guide/troubleshooting.md similarity index 100% rename from src/v1.2.4/guide/troubleshooting.md rename to history/v1.2.4/guide/troubleshooting.md diff --git a/src/v1.2.4/guide/update.md b/history/v1.2.4/guide/update.md similarity index 100% rename from src/v1.2.4/guide/update.md rename to history/v1.2.4/guide/update.md diff --git a/src/v1.2.4/guide/update/v1.2.4.md b/history/v1.2.4/guide/update/v1.2.4.md similarity index 100% rename from src/v1.2.4/guide/update/v1.2.4.md rename to history/v1.2.4/guide/update/v1.2.4.md diff --git a/src/v1.2.6/guide/api.md b/history/v1.2.6/guide/api.md similarity index 100% rename from src/v1.2.6/guide/api.md rename to history/v1.2.6/guide/api.md diff --git a/src/v1.2.6/guide/config.md b/history/v1.2.6/guide/config.md similarity index 100% rename from src/v1.2.6/guide/config.md rename to history/v1.2.6/guide/config.md diff --git a/src/v1.2.6/guide/customstatus.md b/history/v1.2.6/guide/customstatus.md similarity index 100% rename from src/v1.2.6/guide/customstatus.md rename to history/v1.2.6/guide/customstatus.md diff --git a/src/v1.2.6/guide/datafillhandler.md b/history/v1.2.6/guide/datafillhandler.md similarity index 100% rename from src/v1.2.6/guide/datafillhandler.md rename to history/v1.2.6/guide/datafillhandler.md diff --git a/src/v1.2.6/guide/expression.md b/history/v1.2.6/guide/expression.md similarity index 100% rename from src/v1.2.6/guide/expression.md rename to history/v1.2.6/guide/expression.md diff --git a/src/v1.2.3/guide/flowchart.md b/history/v1.2.6/guide/flowchart.md similarity index 100% rename from src/v1.2.3/guide/flowchart.md rename to history/v1.2.6/guide/flowchart.md diff --git a/src/master/guide/form.md b/history/v1.2.6/guide/form.md similarity index 100% rename from src/master/guide/form.md rename to history/v1.2.6/guide/form.md diff --git a/src/v1.2.6/guide/listener.md b/history/v1.2.6/guide/listener.md similarity index 100% rename from src/v1.2.6/guide/listener.md rename to history/v1.2.6/guide/listener.md diff --git a/src/v1.2.10/guide/logicdelete.md b/history/v1.2.6/guide/logicdelete.md similarity index 100% rename from src/v1.2.10/guide/logicdelete.md rename to history/v1.2.6/guide/logicdelete.md diff --git a/src/v1.2.6/guide/ormusagetips.md b/history/v1.2.6/guide/ormusagetips.md similarity index 100% rename from src/v1.2.6/guide/ormusagetips.md rename to history/v1.2.6/guide/ormusagetips.md diff --git a/src/v1.2.6/guide/processdemo.md b/history/v1.2.6/guide/processdemo.md similarity index 100% rename from src/v1.2.6/guide/processdemo.md rename to history/v1.2.6/guide/processdemo.md diff --git a/src/v1.2.4/guide/processrule.md b/history/v1.2.6/guide/processrule.md similarity index 100% rename from src/v1.2.4/guide/processrule.md rename to history/v1.2.6/guide/processrule.md diff --git a/src/v1.2.6/guide/processterm.md b/history/v1.2.6/guide/processterm.md similarity index 100% rename from src/v1.2.6/guide/processterm.md rename to history/v1.2.6/guide/processterm.md diff --git a/src/v1.2.6/guide/started.md b/history/v1.2.6/guide/started.md similarity index 100% rename from src/v1.2.6/guide/started.md rename to history/v1.2.6/guide/started.md diff --git a/src/master/guide/table.md b/history/v1.2.6/guide/table.md similarity index 100% rename from src/master/guide/table.md rename to history/v1.2.6/guide/table.md diff --git a/src/v1.2.6/guide/tenant.md b/history/v1.2.6/guide/tenant.md similarity index 100% rename from src/v1.2.6/guide/tenant.md rename to history/v1.2.6/guide/tenant.md diff --git a/src/v1.2.6/guide/update/v1.2.6.md b/history/v1.2.6/guide/update/v1.2.6.md similarity index 100% rename from src/v1.2.6/guide/update/v1.2.6.md rename to history/v1.2.6/guide/update/v1.2.6.md diff --git a/src/v1.2.10/guide/variable.md b/history/v1.2.6/guide/variable.md similarity index 100% rename from src/v1.2.10/guide/variable.md rename to history/v1.2.6/guide/variable.md diff --git a/src/v1.2.10/guide/api.md b/history/v1.2.7/guide/api.md similarity index 100% rename from src/v1.2.10/guide/api.md rename to history/v1.2.7/guide/api.md diff --git a/src/v1.2.7/guide/config.md b/history/v1.2.7/guide/config.md similarity index 100% rename from src/v1.2.7/guide/config.md rename to history/v1.2.7/guide/config.md diff --git a/src/v1.2.10/guide/customstatus.md b/history/v1.2.7/guide/customstatus.md similarity index 100% rename from src/v1.2.10/guide/customstatus.md rename to history/v1.2.7/guide/customstatus.md diff --git a/src/v1.2.7/guide/datafillhandler.md b/history/v1.2.7/guide/datafillhandler.md similarity index 100% rename from src/v1.2.7/guide/datafillhandler.md rename to history/v1.2.7/guide/datafillhandler.md diff --git a/src/v1.2.7/guide/expression.md b/history/v1.2.7/guide/expression.md similarity index 100% rename from src/v1.2.7/guide/expression.md rename to history/v1.2.7/guide/expression.md diff --git a/src/v1.2.4/guide/flowchart.md b/history/v1.2.7/guide/flowchart.md similarity index 100% rename from src/v1.2.4/guide/flowchart.md rename to history/v1.2.7/guide/flowchart.md diff --git a/src/v1.2.10/guide/form.md b/history/v1.2.7/guide/form.md similarity index 100% rename from src/v1.2.10/guide/form.md rename to history/v1.2.7/guide/form.md diff --git a/src/v1.2.7/guide/listener.md b/history/v1.2.7/guide/listener.md similarity index 100% rename from src/v1.2.7/guide/listener.md rename to history/v1.2.7/guide/listener.md diff --git a/src/v1.2.6/guide/logicdelete.md b/history/v1.2.7/guide/logicdelete.md similarity index 100% rename from src/v1.2.6/guide/logicdelete.md rename to history/v1.2.7/guide/logicdelete.md diff --git a/src/v1.2.7/guide/ormusagetips.md b/history/v1.2.7/guide/ormusagetips.md similarity index 100% rename from src/v1.2.7/guide/ormusagetips.md rename to history/v1.2.7/guide/ormusagetips.md diff --git a/src/v1.2.7/guide/processdemo.md b/history/v1.2.7/guide/processdemo.md similarity index 100% rename from src/v1.2.7/guide/processdemo.md rename to history/v1.2.7/guide/processdemo.md diff --git a/src/v1.2.6/guide/processrule.md b/history/v1.2.7/guide/processrule.md similarity index 100% rename from src/v1.2.6/guide/processrule.md rename to history/v1.2.7/guide/processrule.md diff --git a/src/v1.2.7/guide/processterm.md b/history/v1.2.7/guide/processterm.md similarity index 100% rename from src/v1.2.7/guide/processterm.md rename to history/v1.2.7/guide/processterm.md diff --git a/src/v1.2.7/guide/started.md b/history/v1.2.7/guide/started.md similarity index 100% rename from src/v1.2.7/guide/started.md rename to history/v1.2.7/guide/started.md diff --git a/src/v1.2.10/guide/table.md b/history/v1.2.7/guide/table.md similarity index 100% rename from src/v1.2.10/guide/table.md rename to history/v1.2.7/guide/table.md diff --git a/src/v1.2.7/guide/tenant.md b/history/v1.2.7/guide/tenant.md similarity index 100% rename from src/v1.2.7/guide/tenant.md rename to history/v1.2.7/guide/tenant.md diff --git a/src/v1.2.7/guide/update/v1.2.7.md b/history/v1.2.7/guide/update/v1.2.7.md similarity index 100% rename from src/v1.2.7/guide/update/v1.2.7.md rename to history/v1.2.7/guide/update/v1.2.7.md diff --git a/src/v1.2.6/guide/variable.md b/history/v1.2.7/guide/variable.md similarity index 100% rename from src/v1.2.6/guide/variable.md rename to history/v1.2.7/guide/variable.md diff --git a/src/v1.2.7/guide/api.md b/history/v1.2.8/guide/api.md similarity index 100% rename from src/v1.2.7/guide/api.md rename to history/v1.2.8/guide/api.md diff --git a/src/v1.2.8/guide/config.md b/history/v1.2.8/guide/config.md similarity index 100% rename from src/v1.2.8/guide/config.md rename to history/v1.2.8/guide/config.md diff --git a/src/v1.2.7/guide/customstatus.md b/history/v1.2.8/guide/customstatus.md similarity index 100% rename from src/v1.2.7/guide/customstatus.md rename to history/v1.2.8/guide/customstatus.md diff --git a/src/v1.2.10/guide/datafillhandler.md b/history/v1.2.8/guide/datafillhandler.md similarity index 100% rename from src/v1.2.10/guide/datafillhandler.md rename to history/v1.2.8/guide/datafillhandler.md diff --git a/src/v1.2.10/guide/expression.md b/history/v1.2.8/guide/expression.md similarity index 100% rename from src/v1.2.10/guide/expression.md rename to history/v1.2.8/guide/expression.md diff --git a/src/v1.2.6/guide/flowchart.md b/history/v1.2.8/guide/flowchart.md similarity index 100% rename from src/v1.2.6/guide/flowchart.md rename to history/v1.2.8/guide/flowchart.md diff --git a/src/v1.2.6/guide/form.md b/history/v1.2.8/guide/form.md similarity index 100% rename from src/v1.2.6/guide/form.md rename to history/v1.2.8/guide/form.md diff --git a/src/v1.2.10/guide/jsonlib.md b/history/v1.2.8/guide/jsonlib.md similarity index 100% rename from src/v1.2.10/guide/jsonlib.md rename to history/v1.2.8/guide/jsonlib.md diff --git a/src/v1.2.8/guide/listener.md b/history/v1.2.8/guide/listener.md similarity index 100% rename from src/v1.2.8/guide/listener.md rename to history/v1.2.8/guide/listener.md diff --git a/src/v1.2.7/guide/logicdelete.md b/history/v1.2.8/guide/logicdelete.md similarity index 100% rename from src/v1.2.7/guide/logicdelete.md rename to history/v1.2.8/guide/logicdelete.md diff --git a/src/v1.2.10/guide/ormusagetips.md b/history/v1.2.8/guide/ormusagetips.md similarity index 100% rename from src/v1.2.10/guide/ormusagetips.md rename to history/v1.2.8/guide/ormusagetips.md diff --git a/src/v1.2.10/guide/processdemo.md b/history/v1.2.8/guide/processdemo.md similarity index 100% rename from src/v1.2.10/guide/processdemo.md rename to history/v1.2.8/guide/processdemo.md diff --git a/src/v1.2.7/guide/processrule.md b/history/v1.2.8/guide/processrule.md similarity index 100% rename from src/v1.2.7/guide/processrule.md rename to history/v1.2.8/guide/processrule.md diff --git a/src/v1.2.10/guide/processterm.md b/history/v1.2.8/guide/processterm.md similarity index 100% rename from src/v1.2.10/guide/processterm.md rename to history/v1.2.8/guide/processterm.md diff --git a/src/v1.2.8/guide/started.md b/history/v1.2.8/guide/started.md similarity index 100% rename from src/v1.2.8/guide/started.md rename to history/v1.2.8/guide/started.md diff --git a/src/v1.2.6/guide/table.md b/history/v1.2.8/guide/table.md similarity index 100% rename from src/v1.2.6/guide/table.md rename to history/v1.2.8/guide/table.md diff --git a/src/v1.2.8/guide/tenant.md b/history/v1.2.8/guide/tenant.md similarity index 100% rename from src/v1.2.8/guide/tenant.md rename to history/v1.2.8/guide/tenant.md diff --git "a/src/v1.2.8/guide/update/v1.2.8\346\233\264\346\226\260-\346\226\260\345\242\236\345\212\236\347\220\206\344\272\272\345\217\230\351\207\217\350\241\250\350\276\276\345\274\217\345\222\214\346\235\241\344\273\266\350\241\250\350\276\276\345\274\217\346\224\257\346\214\201spel.md" "b/history/v1.2.8/guide/update/v1.2.8\346\233\264\346\226\260-\346\226\260\345\242\236\345\212\236\347\220\206\344\272\272\345\217\230\351\207\217\350\241\250\350\276\276\345\274\217\345\222\214\346\235\241\344\273\266\350\241\250\350\276\276\345\274\217\346\224\257\346\214\201spel.md" similarity index 100% rename from "src/v1.2.8/guide/update/v1.2.8\346\233\264\346\226\260-\346\226\260\345\242\236\345\212\236\347\220\206\344\272\272\345\217\230\351\207\217\350\241\250\350\276\276\345\274\217\345\222\214\346\235\241\344\273\266\350\241\250\350\276\276\345\274\217\346\224\257\346\214\201spel.md" rename to "history/v1.2.8/guide/update/v1.2.8\346\233\264\346\226\260-\346\226\260\345\242\236\345\212\236\347\220\206\344\272\272\345\217\230\351\207\217\350\241\250\350\276\276\345\274\217\345\222\214\346\235\241\344\273\266\350\241\250\350\276\276\345\274\217\346\224\257\346\214\201spel.md" diff --git a/src/v1.2.7/guide/variable.md b/history/v1.2.8/guide/variable.md similarity index 100% rename from src/v1.2.7/guide/variable.md rename to history/v1.2.8/guide/variable.md diff --git a/src/v1.2.8/guide/variableStategy.md b/history/v1.2.8/guide/variableStategy.md similarity index 100% rename from src/v1.2.8/guide/variableStategy.md rename to history/v1.2.8/guide/variableStategy.md diff --git a/.gitignore b/warm-flow-doc/.gitignore similarity index 78% rename from .gitignore rename to warm-flow-doc/.gitignore index 924e59a5bf1c8754696be41c4e9a5254393da3c7..18c46945aaf5e22dcb79c169c8f6fd15cacfce49 100644 --- a/.gitignore +++ b/warm-flow-doc/.gitignore @@ -2,10 +2,10 @@ node_modules/ src/.vuepress/.cache/ src/.vuepress/.temp/ -src/.vuepress/dist/ +#src/.vuepress/dist/ ### IntelliJ IDEA ### .idea *.iws *.iml -*.ipr \ No newline at end of file +*.ipr diff --git a/LICENSE b/warm-flow-doc/LICENSE similarity index 98% rename from LICENSE rename to warm-flow-doc/LICENSE index 29f81d812f3e768fa89638d1f72920dbfd1413a8..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 100644 --- a/LICENSE +++ b/warm-flow-doc/LICENSE @@ -1,201 +1,201 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/warm-flow-doc/README.md similarity index 97% rename from README.md rename to warm-flow-doc/README.md index 70d47ce2c9df19422356a4e5c4dde822eb60ae52..6fe678e68ecda9008e7da187ec6fe6b80a89cc89 100644 --- a/README.md +++ b/warm-flow-doc/README.md @@ -1,4 +1,4 @@ -# [warm-flow工作流]() +# [Dromara Warm-Flow工作流]() ## 项目结构 diff --git a/package-lock.json b/warm-flow-doc/package-lock.json similarity index 100% rename from package-lock.json rename to warm-flow-doc/package-lock.json diff --git a/package.json b/warm-flow-doc/package.json similarity index 100% rename from package.json rename to warm-flow-doc/package.json diff --git a/src/.vuepress/client.ts b/warm-flow-doc/src/.vuepress/client.ts similarity index 100% rename from src/.vuepress/client.ts rename to warm-flow-doc/src/.vuepress/client.ts diff --git a/src/.vuepress/config.ts b/warm-flow-doc/src/.vuepress/config.ts similarity index 95% rename from src/.vuepress/config.ts rename to warm-flow-doc/src/.vuepress/config.ts index 689c94423e9ea1f65e4499d727860aa3bd804dcc..e9102c27460bf551524fe3fdfa8360ea242e9bac 100644 --- a/src/.vuepress/config.ts +++ b/warm-flow-doc/src/.vuepress/config.ts @@ -11,7 +11,7 @@ export default defineUserConfig({ locales: { "/": { lang: "zh-CN", - title: "warm-flow工作流", + title: "Dromara Warm-Flow工作流", description: "国产工作流引擎🎉,其特点简洁轻量但又不简单,五脏俱全,组件独立,可扩展,可满足中小项目的组件。", }, }, diff --git a/warm-flow-doc/src/.vuepress/dist/404.html b/warm-flow-doc/src/.vuepress/dist/404.html new file mode 100644 index 0000000000000000000000000000000000000000..c8e4c693c556f040b71318a28a41677b14f4e54f --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/404.html @@ -0,0 +1,47 @@ + + + + + + + + + + Dromara Warm-Flow工作流 + + + + + +
跳至主要內容
+ + + diff --git a/src/.vuepress/public/addIns.png b/warm-flow-doc/src/.vuepress/dist/addIns.png similarity index 100% rename from src/.vuepress/public/addIns.png rename to warm-flow-doc/src/.vuepress/dist/addIns.png diff --git a/warm-flow-doc/src/.vuepress/dist/assets/404.html-BrGRT6Vs.js b/warm-flow-doc/src/.vuepress/dist/assets/404.html-BrGRT6Vs.js new file mode 100644 index 0000000000000000000000000000000000000000..41a419c78d84704cfc1600e73b37631595ac1aa2 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/404.html-BrGRT6Vs.js @@ -0,0 +1 @@ +import{_ as t,c as e,o,a as r}from"./app-NEH0cjHY.js";const a={},n=r("p",null,"404 Not Found",-1),c=[n];function p(s,l){return o(),e("div",null,c)}const i=t(a,[["render",p],["__file","404.html.vue"]]),d=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/404.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0.01,"words":3},"filePathRelative":null,"autoDesc":true,"excerpt":"

404 Not Found

\\n"}');export{i as comp,d as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..0acaaff03d4bb7606de02a827aeee338e5a86910 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff new file mode 100644 index 0000000000000000000000000000000000000000..b804d7b33a3fa5b2587d2d1d55006aed678e3eb2 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c6f9a5e7c03f9e64e9c7b4773a8e37ade8eaf406 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9ff4a5e04421e5107f74c28e27354e0b2a4e7ef8 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff new file mode 100644 index 0000000000000000000000000000000000000000..9759710d1d3e16eb10012d56babb73f2479ba9f0 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..f390922eceffe1f6dfb81a3dc086a92d98171b02 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff new file mode 100644 index 0000000000000000000000000000000000000000..9bdd534fd2beb9b878f0219da9d63ffba56677e2 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..75344a1f98e37e2c631e178065854c3a81fb842f Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f522294ff0f3f8c52dfdaef7ebfaa06ebfcfaabf Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4e98259c3b54076d684bf3459baeaeae8dbce97a Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff new file mode 100644 index 0000000000000000000000000000000000000000..e7730f66275c87c28f26530d89264cffecf90be0 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..395f28beac23c7b0f7f3a1e714bd8dac253dd3bc Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b8461b275fae76efd0d21fd0f1aaa696a5b10f9a Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..735f6948d63c8cc7f8233735bb9c8d843c83d804 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff new file mode 100644 index 0000000000000000000000000000000000000000..acab069f90b6fe6301a004e6f8beaf6a0db48bce Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ab2ad21da6fbe6c171bb869240954d0ead8f68fd Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff new file mode 100644 index 0000000000000000000000000000000000000000..f38136ac1cc2dcdc9d9b10b8521487468b1f768c Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4060e627dc341c1854260cbc3f7386e222a4d297 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5931794de4a2a485fa70099bf2659b145976d043 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dc007977ee709a236d9e82719cf7d4e5577a81b9 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff new file mode 100644 index 0000000000000000000000000000000000000000..67807b0bd4f867853271f5917fb3adf377f93f53 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0e9b0f354ad460202bba554359f5adcc8da666b7 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff new file mode 100644 index 0000000000000000000000000000000000000000..6f43b594b6c1d863a0e3f93b001f8dd503316464 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b50920e138807f385d0b0359f4f0f09891f18406 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..eb24a7ba282b03d830fa6c63ee897d92a5188736 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff new file mode 100644 index 0000000000000000000000000000000000000000..21f5812968c42392a3eaea9b0c6320870b6b8b38 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dd45e1ed2e18b32c516d9b481ebed3cb8bffa711 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf new file mode 100644 index 0000000000000000000000000000000000000000..728ce7a1e2cb689df32c3a6c26e1bd072dcf2acb Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..29657023adc09956249f6295746c8ce4469b50d3 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff new file mode 100644 index 0000000000000000000000000000000000000000..0ae390d74c9f665cf8b1e5ea5483395da7513444 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff new file mode 100644 index 0000000000000000000000000000000000000000..eb5159d4c1ca83fb92b3190223698427df0e010c Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf new file mode 100644 index 0000000000000000000000000000000000000000..70d559b4e937ca1b805eb39f544cbebe3c58ca6f Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..215c143fd7805a5c2b222bd7892a1a2b09610020 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2f65a8a3a6d3628d11ea9c26c9077cef672fe427 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cfaa3bda59246b49e94298478d6de3b3208066c8 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff new file mode 100644 index 0000000000000000000000000000000000000000..8d47c02d9408d34b2a9d566c0fe0d42bf82fb735 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..349c06dc609f896392fd5bc8b364d3bc3efc9330 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff new file mode 100644 index 0000000000000000000000000000000000000000..7e02df963621a5e26d53d510f0b4992eebde1c60 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d5850df98ec19de2eee9ff922ef59586efe471d0 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf new file mode 100644 index 0000000000000000000000000000000000000000..537279f6bd2184ed32f1a5168850609147d58ee6 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff new file mode 100644 index 0000000000000000000000000000000000000000..31b84829b42edae20d0148eeec0d922dad2108c4 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a90eea85f6f7bded69ff5d40114447a6d8b48cfe Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fd679bf374af72f2a183b97b40c9c7e9e51fbe5e Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b3048fc115681ee6c1bc86b0aa158cfbbf59daa3 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-D5yQViql.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-D5yQViql.woff new file mode 100644 index 0000000000000000000000000000000000000000..0e7da821eee0dd05a0a6f0b16c2c1345dc573a84 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Script-Regular-D5yQViql.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-C195tn64.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-C195tn64.woff new file mode 100644 index 0000000000000000000000000000000000000000..7f292d91184f257054ef77cc1cd3443db757c9cc Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-C195tn64.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf new file mode 100644 index 0000000000000000000000000000000000000000..871fd7d19d8658f64d8696ed9cdfc82c821ed76d Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c5a8462fbfe2c39a7c1857b9e296e62500a8a8a5 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7a212caf91c0007e826fee2d622bf48acbd30dde Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e1bccfe2403a4ed770c1697ae7c15b9e1cd9bc4e Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff new file mode 100644 index 0000000000000000000000000000000000000000..d241d9be2d317f7b39b401d96c8b18836acea0fa Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff new file mode 100644 index 0000000000000000000000000000000000000000..e6e9b658dcf1cd031ac82b6b8f312444c55d4fc0 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf new file mode 100644 index 0000000000000000000000000000000000000000..00bff3495fa9d2f98c1c9ce436add6a1bcfe87fb Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff new file mode 100644 index 0000000000000000000000000000000000000000..e1ec5457664f438ce5a1cc6dd8409bf60ca7804b Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf new file mode 100644 index 0000000000000000000000000000000000000000..74f08921f00f71f413ca42c9d1c90202e672ef38 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..680c13085076a2f6c5a7e695935ec3f21cddb65f Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff new file mode 100644 index 0000000000000000000000000000000000000000..2432419f28936aff53ddfa2a732d027e6a6648fd Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..771f1af705f5cef5f578b3a1e7d8eff66f9b76b0 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c83252c5714c71a3e0ec62195884167339a0129b Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf differ diff --git a/src/.vuepress/public/ggw/MaxKey.png b/warm-flow-doc/src/.vuepress/dist/assets/MaxKey-DhTIgu7x.png similarity index 100% rename from src/.vuepress/public/ggw/MaxKey.png rename to warm-flow-doc/src/.vuepress/dist/assets/MaxKey-DhTIgu7x.png diff --git a/warm-flow-doc/src/.vuepress/dist/assets/SearchResult-DxrrLlxE.js b/warm-flow-doc/src/.vuepress/dist/assets/SearchResult-DxrrLlxE.js new file mode 100644 index 0000000000000000000000000000000000000000..a50b3b88a0a550420e8e656ea64ea1866fbd50e0 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/SearchResult-DxrrLlxE.js @@ -0,0 +1 @@ +import{u as U,i as te,j as le,k as W,l as ie,P as se,m as ae,n as ue,g as Q,p as x,q as re,s as M,v as l,x as oe,R as P,y as me,z as de,A as ne,C as ve,B as he,D as ge,h as ce,E as pe,G as Ee,H,I as ye,J as fe,K as Ae,L as O,M as T,N as Be}from"./app-NEH0cjHY.js";const be=["/","/common/companyintegration.html","/common/dromara.html","/common/getinvolved.html","/common/introduction.html","/common/joingroup.html","/common/learningmaterials.html","/common/member.html","/common/paidservice.html","/common/pr.html","/common/processdemo.html","/common/projectexample.html","/common/submitpr.html","/common/support.html","/common/troubleshooting.html","/common/update.html","/master/guide/api.html","/master/guide/collaboration.html","/master/guide/condition.html","/master/guide/condition_two_open.html","/master/guide/config.html","/master/guide/customstatus.html","/master/guide/datafillhandler.html","/master/guide/designerIntroduced.html","/master/guide/designer_two_open.html","/master/guide/expression_ex.html","/master/guide/flowchart.html","/master/guide/form.html","/master/guide/handler_change.html","/master/guide/jsonlib.html","/master/guide/listener.html","/master/guide/listener_two_open.html","/master/guide/logicdelete.html","/master/guide/ormusagetips.html","/master/guide/permission_handler.html","/master/guide/processterm.html","/master/guide/started.html","/master/guide/table.html","/master/guide/tenant.html","/master/guide/variable.html","/master/guide/variableStategy.html","/master/guide/variableStatey_two_open.html","/v1.2.10/guide/api.html","/v1.2.10/guide/config.html","/v1.2.10/guide/customstatus.html","/v1.2.10/guide/datafillhandler.html","/v1.2.10/guide/expression.html","/v1.2.10/guide/flowchart.html","/v1.2.10/guide/form.html","/v1.2.10/guide/jsonlib.html","/v1.2.10/guide/listener.html","/v1.2.10/guide/logicdelete.html","/v1.2.10/guide/ormusagetips.html","/v1.2.10/guide/processdemo.html","/v1.2.10/guide/processrule.html","/v1.2.10/guide/processterm.html","/v1.2.10/guide/started.html","/v1.2.10/guide/table.html","/v1.2.10/guide/tenant.html","/v1.2.10/guide/variable.html","/v1.2.10/guide/variableStategy.html","/v1.3.0/guide/api.html","/v1.3.0/guide/config.html","/v1.3.0/guide/customstatus.html","/v1.3.0/guide/datafillhandler.html","/v1.3.0/guide/designerIntroduced.html","/v1.3.0/guide/expression.html","/v1.3.0/guide/flowchart.html","/v1.3.0/guide/form.html","/v1.3.0/guide/jsonlib.html","/v1.3.0/guide/listener.html","/v1.3.0/guide/logicdelete.html","/v1.3.0/guide/ormusagetips.html","/v1.3.0/guide/processdemo.html","/v1.3.0/guide/processrule.html","/v1.3.0/guide/processterm.html","/v1.3.0/guide/started.html","/v1.3.0/guide/table.html","/v1.3.0/guide/tenant.html","/v1.3.0/guide/variable.html","/v1.3.0/guide/variableStategy.html","/v1.3.1/guide/api.html","/v1.3.1/guide/config.html","/v1.3.1/guide/customstatus.html","/v1.3.1/guide/datafillhandler.html","/v1.3.1/guide/designerIntroduced.html","/v1.3.1/guide/expression.html","/v1.3.1/guide/flowchart.html","/v1.3.1/guide/form.html","/v1.3.1/guide/jsonlib.html","/v1.3.1/guide/listener.html","/v1.3.1/guide/logicdelete.html","/v1.3.1/guide/ormusagetips.html","/v1.3.1/guide/processdemo.html","/v1.3.1/guide/processrule.html","/v1.3.1/guide/processterm.html","/v1.3.1/guide/started.html","/v1.3.1/guide/table.html","/v1.3.1/guide/tenant.html","/v1.3.1/guide/variable.html","/v1.3.1/guide/variableStategy.html","/v1.3.3/guide/api.html","/v1.3.3/guide/config.html","/v1.3.3/guide/customstatus.html","/v1.3.3/guide/datafillhandler.html","/v1.3.3/guide/designerIntroduced.html","/v1.3.3/guide/expression.html","/v1.3.3/guide/flowchart.html","/v1.3.3/guide/form.html","/v1.3.3/guide/jsonlib.html","/v1.3.3/guide/listener.html","/v1.3.3/guide/logicdelete.html","/v1.3.3/guide/ormusagetips.html","/v1.3.3/guide/processdemo.html","/v1.3.3/guide/processrule.html","/v1.3.3/guide/processterm.html","/v1.3.3/guide/started.html","/v1.3.3/guide/table.html","/v1.3.3/guide/tenant.html","/v1.3.3/guide/variable.html","/v1.3.3/guide/variableStategy.html","/v1.3.4/guide/api.html","/v1.3.4/guide/condition.html","/v1.3.4/guide/config.html","/v1.3.4/guide/customstatus.html","/v1.3.4/guide/datafillhandler.html","/v1.3.4/guide/designerIntroduced.html","/v1.3.4/guide/designer_two_open.html","/v1.3.4/guide/expression.html","/v1.3.4/guide/expression_ex.html","/v1.3.4/guide/flowchart.html","/v1.3.4/guide/form.html","/v1.3.4/guide/jsonlib.html","/v1.3.4/guide/listener.html","/v1.3.4/guide/logicdelete.html","/v1.3.4/guide/ormusagetips.html","/v1.3.4/guide/permission_handler.html","/v1.3.4/guide/processdemo.html","/v1.3.4/guide/processrule.html","/v1.3.4/guide/processterm.html","/v1.3.4/guide/started.html","/v1.3.4/guide/table.html","/v1.3.4/guide/tenant.html","/v1.3.4/guide/variable.html","/v1.3.4/guide/variableStategy.html","/master/guide/update/solon%E9%9B%86%E6%88%90Warm-Flow.html","/master/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html","/v1.3.0/guide/update/%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B8%A6%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%BC%95%E6%93%8E.html","/v1.3.1/guide/update/%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B8%A6%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%BC%95%E6%93%8E.html","/v1.3.3/guide/update/%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B8%A6%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%BC%95%E6%93%8E.html","/v1.3.4/guide/update/solon%E9%9B%86%E6%88%90Warm-Flow.html","/v1.3.4/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html","/404.html","/common/","/master/guide/","/master/","/v1.2.10/guide/","/v1.2.10/","/v1.3.0/guide/","/v1.3.0/","/v1.3.1/guide/","/v1.3.1/","/v1.3.3/guide/","/v1.3.3/","/v1.3.4/guide/","/v1.3.4/","/master/guide/update/","/v1.3.0/guide/update/","/v1.3.1/guide/update/","/v1.3.3/guide/update/","/v1.3.4/guide/update/"],we="SEARCH_PRO_QUERY_HISTORY",E=U(we,[]),xe=()=>{const{queryHistoryCount:i}=H,s=i>0;return{enabled:s,queryHistory:E,addQueryHistory:a=>{s&&(E.value=Array.from(new Set([a,...E.value.slice(0,i-1)])))},removeQueryHistory:a=>{E.value=[...E.value.slice(0,a),...E.value.slice(a+1)]}}},q=i=>be[i.id]+("anchor"in i?`#${i.anchor}`:""),He="SEARCH_PRO_RESULT_HISTORY",{resultHistoryCount:$}=H,y=U(He,[]),Ce=()=>{const i=$>0;return{enabled:i,resultHistory:y,addResultHistory:s=>{if(i){const a={link:q(s),display:s.display};"header"in s&&(a.header=s.header),y.value=[a,...y.value.slice(0,$-1)]}},removeResultHistory:s=>{y.value=[...y.value.slice(0,s),...y.value.slice(s+1)]}}},Re=i=>{const s=ve(),a=W(),C=he(),r=Q(0),B=x(()=>r.value>0),g=ge([]);return ce(()=>{const{search:c,terminate:R}=pe(),f=Ee(d=>{const A=d.join(" "),{searchFilter:_=h=>h,splitWord:S,suggestionsFilter:j,...p}=s.value;A?(r.value+=1,c(d.join(" "),a.value,p).then(h=>_(h,A,a.value,C.value)).then(h=>{r.value-=1,g.value=h}).catch(h=>{console.warn(h),r.value-=1,r.value||(g.value=[])})):g.value=[]},H.searchDelay-H.suggestDelay);M([i,a],([d])=>f(d),{immediate:!0}),ye(()=>{R()})}),{isSearching:B,results:g}};var Se=te({name:"SearchResult",props:{queries:{type:Array,required:!0},isFocusing:Boolean},emits:["close","updateQuery"],setup(i,{emit:s}){const a=le(),C=W(),r=ie(se),{enabled:B,addQueryHistory:g,queryHistory:c,removeQueryHistory:R}=xe(),{enabled:f,resultHistory:d,addResultHistory:A,removeResultHistory:_}=Ce(),S=B||f,j=ae(i,"queries"),{results:p,isSearching:h}=Re(j),u=ue({isQuery:!0,index:0}),n=Q(0),v=Q(0),L=x(()=>S&&(c.value.length>0||d.value.length>0)),k=x(()=>p.value.length>0),F=x(()=>p.value[n.value]||null),Y=()=>{const{isQuery:e,index:t}=u;t===0?(u.isQuery=!e,u.index=e?d.value.length-1:c.value.length-1):u.index=t-1},z=()=>{const{isQuery:e,index:t}=u;t===(e?c.value.length-1:d.value.length-1)?(u.isQuery=!e,u.index=0):u.index=t+1},G=()=>{n.value=n.value>0?n.value-1:p.value.length-1,v.value=F.value.contents.length-1},J=()=>{n.value=n.value{v.value{v.value>0?v.value-=1:G()},D=e=>e.map(t=>Be(t)?t:l(t[0],t[1])),V=e=>{if(e.type==="customField"){const t=fe[e.index]||"$content",[o,w=""]=Ae(t)?t[C.value].split("$content"):t.split("$content");return e.display.map(m=>l("div",D([o,...m,w])))}return e.display.map(t=>l("div",D(t)))},b=()=>{n.value=0,v.value=0,s("updateQuery",""),s("close")},X=()=>B?l("ul",{class:"search-pro-result-list"},l("li",{class:"search-pro-result-list-item"},[l("div",{class:"search-pro-result-title"},r.value.queryHistory),c.value.map((e,t)=>l("div",{class:["search-pro-result-item",{active:u.isQuery&&u.index===t}],onClick:()=>{s("updateQuery",e)}},[l(O,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},e),l("button",{class:"search-pro-remove-icon",innerHTML:T,onClick:o=>{o.preventDefault(),o.stopPropagation(),R(t)}})]))])):null,Z=()=>f?l("ul",{class:"search-pro-result-list"},l("li",{class:"search-pro-result-list-item"},[l("div",{class:"search-pro-result-title"},r.value.resultHistory),d.value.map((e,t)=>l(P,{to:e.link,class:["search-pro-result-item",{active:!u.isQuery&&u.index===t}],onClick:()=>{b()}},()=>[l(O,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},[e.header?l("div",{class:"content-header"},e.header):null,l("div",e.display.map(o=>D(o)).flat())]),l("button",{class:"search-pro-remove-icon",innerHTML:T,onClick:o=>{o.preventDefault(),o.stopPropagation(),_(t)}})]))])):null;return re("keydown",e=>{if(i.isFocusing){if(k.value){if(e.key==="ArrowUp")N();else if(e.key==="ArrowDown")K();else if(e.key==="Enter"){const t=F.value.contents[v.value];g(i.queries.join(" ")),A(t),a.push(q(t)),b()}}else if(f){if(e.key==="ArrowUp")Y();else if(e.key==="ArrowDown")z();else if(e.key==="Enter"){const{index:t}=u;u.isQuery?(s("updateQuery",c.value[t]),e.preventDefault()):(a.push(d.value[t].link),b())}}}}),M([n,v],()=>{var e;(e=document.querySelector(".search-pro-result-list-item.active .search-pro-result-item.active"))==null||e.scrollIntoView(!1)},{flush:"post"}),()=>l("div",{class:["search-pro-result-wrapper",{empty:i.queries.length?!k.value:!L.value}],id:"search-pro-results"},i.queries.length?h.value?l(oe,{hint:r.value.searching}):k.value?l("ul",{class:"search-pro-result-list"},p.value.map(({title:e,contents:t},o)=>{const w=n.value===o;return l("li",{class:["search-pro-result-list-item",{active:w}]},[l("div",{class:"search-pro-result-title"},e||r.value.defaultTitle),t.map((m,ee)=>{const I=w&&v.value===ee;return l(P,{to:q(m),class:["search-pro-result-item",{active:I,"aria-selected":I}],onClick:()=>{g(i.queries.join(" ")),A(m),b()}},()=>[m.type==="text"?null:l(m.type==="title"?me:m.type==="heading"?de:ne,{class:"search-pro-result-type"}),l("div",{class:"search-pro-result-content"},[m.type==="text"&&m.header?l("div",{class:"content-header"},m.header):null,l("div",V(m))])])})])})):r.value.emptyResult:S?L.value?[X(),Z()]:r.value.emptyHistory:r.value.emptyResult)}});export{Se as default}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/Tableau10-B-NsZVaP.js b/warm-flow-doc/src/.vuepress/dist/assets/Tableau10-B-NsZVaP.js new file mode 100644 index 0000000000000000000000000000000000000000..4223ec34a3bdc31019c4e2b5589b485c14449370 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/Tableau10-B-NsZVaP.js @@ -0,0 +1 @@ +function o(e){for(var c=e.length/6|0,n=new Array(c),a=0;aWarm-Flow发布1.3.4, 支持solon和便捷性提升

1、老群被干没了,新群:

本次的版本大大提升了工作流的使用便捷性,如下:

设计器引入,新增支持solon
新增监听器spel表达式,并且支持扩展
增加全局监听器,针对整个系统,通过接口接入方式
流程变量表达式支持替换集合

2、详细更新内容:

  • 更新日志
    • [feat] 新增监听器spel表达式,并且支持扩展
    • [feat] 增加全局监听器,针对整个系统,通过接口接入方式
    • [feat] 新增审批前获取当前办理人接口,类似satoken方式 @huangjian
    • [feat] 流程变量表达式支持替换集合 @huangjian
    • [feat] 设计器引入,新增支持solon
    • [feat] 新增创建流程定义,默认初始化节点
    • [feat] 新增根据流程定义id集合,查询流程实例集合api
    • [update] 监听器配置页面ui调整
    • [update] 重新定义监听器名称,原全局监听器改名为流程监听器,局部监听器改名为节点监听器
    • [update] 已经开启过审批任务的不可取消发布和删除
    • [update] 转办、委派、加签和减签,增加参数合法性校验
    • [update] 修改流程变量传递方式,可通过办理人变量表达式或者分派监听器,初始化后续所有办理人
    • [update] 加载handler取消懒加载,重构test项目
    • [update] 办理人变量表达式,删除策略前缀,通过$和#区分
    • [update] 流程版本号默认改完自动递增,不接收外部设置
    • [refactor] 重构条件表达式和办理人变量表达式
    • [remove] 移除权限监听器

3、项目介绍

Warm-Flow国产工作流引擎🎉,其特点简洁轻量,五脏俱全,可扩展,是一个可通过jar引入设计器的工作流。

  1. 简洁易用:只有7张表,代码量少,可快速上手和集成
  2. 审批功能:支持通过、退回、任意跳转、转办、终止、会签、票签、委派和加减签、互斥和并行网关
  3. 监听器与流程变量:支持四种监听器和不同颗粒的的作用范围,支持spel表达式,灵活可扩展,参数传递,动态权限
  4. 流程图:流程引擎自带流程图,可在不集成流程设计器情况下使用
  5. 流程设计器:可通过jar包形式快速集成到项目,减少繁琐代码搬运和适配,支持solon和springboot
  6. 条件表达式:内置常见的和spel条件表达式,并且支持自定义扩展
  7. 办理人变量表达式:内置${handler}和spel格式的表达式,可满足不同场景,灵活可扩展
  8. orm框架扩展:目前支持MyBatis、Mybatis-Plus、Mybatis-Flex和Jpa,后续会由社区提供其他支持,扩展方便
  9. 数据库支持:目前支持MySQL 、Oracle 和PostgreSQL,后续会继续支持其他数据库或者国产数据库
  10. 多租户与软删除:流程引擎自身维护多租户和软删除实现,也可使用对应orm框架的实现方式
  11. 同时支持spring和solon
  12. 兼容java8和java17,理论11也可以
  13. 官方提供基于ruoyi-vue封装实战项目,很实用

4、演示地址

  • admin/admin123

演示地址:http://www.hhzai.top

7、官网

http://warm-flow.cn

',15),n=[o];function r(s,p){return a(),e("div",null,n)}const c=l(i,[["render",r],["__file","Warm-Flow发布1.3.4_ 支持solon和便捷性提升.html.vue"]]),h=JSON.parse('{"path":"/master/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html","title":"Warm-Flow发布1.3.4, 支持solon和便捷性提升","lang":"zh-CN","frontmatter":{"description":"Warm-Flow发布1.3.4, 支持solon和便捷性提升 1、老群被干没了,新群: 本次的版本大大提升了工作流的使用便捷性,如下: 设计器引入,新增支持solon 新增监听器spel表达式,并且支持扩展 增加全局监听器,针对整个系统,通过接口接入方式 流程变量表达式支持替换集合 2、详细更新内容: 更新日志 [feat] 新增监听器spel表达式...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/master/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"Warm-Flow发布1.3.4, 支持solon和便捷性提升"}],["meta",{"property":"og:description","content":"Warm-Flow发布1.3.4, 支持solon和便捷性提升 1、老群被干没了,新群: 本次的版本大大提升了工作流的使用便捷性,如下: 设计器引入,新增支持solon 新增监听器spel表达式,并且支持扩展 增加全局监听器,针对整个系统,通过接口接入方式 流程变量表达式支持替换集合 2、详细更新内容: 更新日志 [feat] 新增监听器spel表达式..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Warm-Flow发布1.3.4, 支持solon和便捷性提升\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、老群被干没了,新群:","slug":"_1、老群被干没了-新群","link":"#_1、老群被干没了-新群","children":[]},{"level":2,"title":"2、详细更新内容:","slug":"_2、详细更新内容","link":"#_2、详细更新内容","children":[]},{"level":2,"title":"3、项目介绍","slug":"_3、项目介绍","link":"#_3、项目介绍","children":[]},{"level":2,"title":"4、演示地址","slug":"_4、演示地址","link":"#_4、演示地址","children":[]},{"level":2,"title":"7、官网","slug":"_7、官网","link":"#_7、官网","children":[]}],"git":{"createdTime":1732516356000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":2.95,"words":885},"filePathRelative":"master/guide/update/Warm-Flow发布1.3.4, 支持solon和便捷性提升.md","localizedDate":"2024年11月25日","autoDesc":true,"excerpt":"\\n

1、老群被干没了,新群:

\\n\\n

本次的版本大大提升了工作流的使用便捷性,如下:

\\n
\\n

设计器引入,新增支持solon
\\n新增监听器spel表达式,并且支持扩展
\\n增加全局监听器,针对整个系统,通过接口接入方式
\\n流程变量表达式支持替换集合

\\n
\\n

2、详细更新内容:

\\n
    \\n
  • 更新日志\\n
      \\n
    • [feat] 新增监听器spel表达式,并且支持扩展
    • \\n
    • [feat] 增加全局监听器,针对整个系统,通过接口接入方式
    • \\n
    • [feat] 新增审批前获取当前办理人接口,类似satoken方式 @huangjian
    • \\n
    • [feat] 流程变量表达式支持替换集合 @huangjian
    • \\n
    • [feat] 设计器引入,新增支持solon
    • \\n
    • [feat] 新增创建流程定义,默认初始化节点
    • \\n
    • [feat] 新增根据流程定义id集合,查询流程实例集合api
    • \\n
    • [update] 监听器配置页面ui调整
    • \\n
    • [update] 重新定义监听器名称,原全局监听器改名为流程监听器,局部监听器改名为节点监听器
    • \\n
    • [update] 已经开启过审批任务的不可取消发布和删除
    • \\n
    • [update] 转办、委派、加签和减签,增加参数合法性校验
    • \\n
    • [update] 修改流程变量传递方式,可通过办理人变量表达式或者分派监听器,初始化后续所有办理人
    • \\n
    • [update] 加载handler取消懒加载,重构test项目
    • \\n
    • [update] 办理人变量表达式,删除策略前缀,通过$和#区分
    • \\n
    • [update] 流程版本号默认改完自动递增,不接收外部设置
    • \\n
    • [refactor] 重构条件表达式和办理人变量表达式
    • \\n
    • [remove] 移除权限监听器
    • \\n
    \\n
  • \\n
"}');export{c as comp,h as data}; diff --git "a/warm-flow-doc/src/.vuepress/dist/assets/Warm-Flow\345\217\221\345\270\2031.3.4_ \346\224\257\346\214\201solon\345\222\214\344\276\277\346\215\267\346\200\247\346\217\220\345\215\207.html-BhHMSxj5.js" "b/warm-flow-doc/src/.vuepress/dist/assets/Warm-Flow\345\217\221\345\270\2031.3.4_ \346\224\257\346\214\201solon\345\222\214\344\276\277\346\215\267\346\200\247\346\217\220\345\215\207.html-BhHMSxj5.js" new file mode 100644 index 0000000000000000000000000000000000000000..1e2918ccfdf440fd0c8e8b57048d8a9517fc8302 --- /dev/null +++ "b/warm-flow-doc/src/.vuepress/dist/assets/Warm-Flow\345\217\221\345\270\2031.3.4_ \346\224\257\346\214\201solon\345\222\214\344\276\277\346\215\267\346\200\247\346\217\220\345\215\207.html-BhHMSxj5.js" @@ -0,0 +1 @@ +import{_ as l,c as e,o as a,b as t}from"./app-NEH0cjHY.js";const i={},o=t('

Warm-Flow发布1.3.4, 支持solon和便捷性提升

1、老群被干没了,新群:

本次的版本大大提升了工作流的使用便捷性,如下:

设计器引入,新增支持solon
新增监听器spel表达式,并且支持扩展
增加全局监听器,针对整个系统,通过接口接入方式
流程变量表达式支持替换集合

2、详细更新内容:

  • 更新日志
    • [feat] 新增监听器spel表达式,并且支持扩展
    • [feat] 增加全局监听器,针对整个系统,通过接口接入方式
    • [feat] 新增审批前获取当前办理人接口,类似satoken方式 @huangjian
    • [feat] 流程变量表达式支持替换集合 @huangjian
    • [feat] 设计器引入,新增支持solon
    • [feat] 新增创建流程定义,默认初始化节点
    • [feat] 新增根据流程定义id集合,查询流程实例集合api
    • [update] 监听器配置页面ui调整
    • [update] 重新定义监听器名称,原全局监听器改名为流程监听器,局部监听器改名为节点监听器
    • [update] 已经开启过审批任务的不可取消发布和删除
    • [update] 转办、委派、加签和减签,增加参数合法性校验
    • [update] 修改流程变量传递方式,可通过办理人变量表达式或者分派监听器,初始化后续所有办理人
    • [update] 加载handler取消懒加载,重构test项目
    • [update] 办理人变量表达式,删除策略前缀,通过$和#区分
    • [update] 流程版本号默认改完自动递增,不接收外部设置
    • [refactor] 重构条件表达式和办理人变量表达式
    • [remove] 移除权限监听器

3、项目介绍

Warm-Flow国产工作流引擎🎉,其特点简洁轻量,五脏俱全,可扩展,是一个可通过jar引入设计器的工作流。

  1. 简洁易用:只有7张表,代码量少,可快速上手和集成
  2. 审批功能:支持通过、退回、任意跳转、转办、终止、会签、票签、委派和加减签、互斥和并行网关
  3. 监听器与流程变量:支持四种监听器和不同颗粒的的作用范围,支持spel表达式,灵活可扩展,参数传递,动态权限
  4. 流程图:流程引擎自带流程图,可在不集成流程设计器情况下使用
  5. 流程设计器:可通过jar包形式快速集成到项目,减少繁琐代码搬运和适配,支持solon和springboot
  6. 条件表达式:内置常见的和spel条件表达式,并且支持自定义扩展
  7. 办理人变量表达式:内置${handler}和spel格式的表达式,可满足不同场景,灵活可扩展
  8. orm框架扩展:目前支持MyBatis、Mybatis-Plus、Mybatis-Flex和Jpa,后续会由社区提供其他支持,扩展方便
  9. 数据库支持:目前支持MySQL 、Oracle 和PostgreSQL,后续会继续支持其他数据库或者国产数据库
  10. 多租户与软删除:流程引擎自身维护多租户和软删除实现,也可使用对应orm框架的实现方式
  11. 同时支持spring和solon
  12. 兼容java8和java17,理论11也可以
  13. 官方提供基于ruoyi-vue封装实战项目,很实用

4、演示地址

  • admin/admin123

演示地址:http://www.hhzai.top

7、官网

http://warm-flow.cn

',15),n=[o];function r(s,p){return a(),e("div",null,n)}const c=l(i,[["render",r],["__file","Warm-Flow发布1.3.4_ 支持solon和便捷性提升.html.vue"]]),h=JSON.parse('{"path":"/v1.3.4/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html","title":"Warm-Flow发布1.3.4, 支持solon和便捷性提升","lang":"zh-CN","frontmatter":{"description":"Warm-Flow发布1.3.4, 支持solon和便捷性提升 1、老群被干没了,新群: 本次的版本大大提升了工作流的使用便捷性,如下: 设计器引入,新增支持solon 新增监听器spel表达式,并且支持扩展 增加全局监听器,针对整个系统,通过接口接入方式 流程变量表达式支持替换集合 2、详细更新内容: 更新日志 [feat] 新增监听器spel表达式...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/v1.3.4/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"Warm-Flow发布1.3.4, 支持solon和便捷性提升"}],["meta",{"property":"og:description","content":"Warm-Flow发布1.3.4, 支持solon和便捷性提升 1、老群被干没了,新群: 本次的版本大大提升了工作流的使用便捷性,如下: 设计器引入,新增支持solon 新增监听器spel表达式,并且支持扩展 增加全局监听器,针对整个系统,通过接口接入方式 流程变量表达式支持替换集合 2、详细更新内容: 更新日志 [feat] 新增监听器spel表达式..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Warm-Flow发布1.3.4, 支持solon和便捷性提升\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、老群被干没了,新群:","slug":"_1、老群被干没了-新群","link":"#_1、老群被干没了-新群","children":[]},{"level":2,"title":"2、详细更新内容:","slug":"_2、详细更新内容","link":"#_2、详细更新内容","children":[]},{"level":2,"title":"3、项目介绍","slug":"_3、项目介绍","link":"#_3、项目介绍","children":[]},{"level":2,"title":"4、演示地址","slug":"_4、演示地址","link":"#_4、演示地址","children":[]},{"level":2,"title":"7、官网","slug":"_7、官网","link":"#_7、官网","children":[]}],"git":{"createdTime":1732516356000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":2.95,"words":885},"filePathRelative":"v1.3.4/guide/update/Warm-Flow发布1.3.4, 支持solon和便捷性提升.md","localizedDate":"2024年11月25日","autoDesc":true,"excerpt":"\\n

1、老群被干没了,新群:

\\n\\n

本次的版本大大提升了工作流的使用便捷性,如下:

\\n
\\n

设计器引入,新增支持solon
\\n新增监听器spel表达式,并且支持扩展
\\n增加全局监听器,针对整个系统,通过接口接入方式
\\n流程变量表达式支持替换集合

\\n
\\n

2、详细更新内容:

\\n
    \\n
  • 更新日志\\n
      \\n
    • [feat] 新增监听器spel表达式,并且支持扩展
    • \\n
    • [feat] 增加全局监听器,针对整个系统,通过接口接入方式
    • \\n
    • [feat] 新增审批前获取当前办理人接口,类似satoken方式 @huangjian
    • \\n
    • [feat] 流程变量表达式支持替换集合 @huangjian
    • \\n
    • [feat] 设计器引入,新增支持solon
    • \\n
    • [feat] 新增创建流程定义,默认初始化节点
    • \\n
    • [feat] 新增根据流程定义id集合,查询流程实例集合api
    • \\n
    • [update] 监听器配置页面ui调整
    • \\n
    • [update] 重新定义监听器名称,原全局监听器改名为流程监听器,局部监听器改名为节点监听器
    • \\n
    • [update] 已经开启过审批任务的不可取消发布和删除
    • \\n
    • [update] 转办、委派、加签和减签,增加参数合法性校验
    • \\n
    • [update] 修改流程变量传递方式,可通过办理人变量表达式或者分派监听器,初始化后续所有办理人
    • \\n
    • [update] 加载handler取消懒加载,重构test项目
    • \\n
    • [update] 办理人变量表达式,删除策略前缀,通过$和#区分
    • \\n
    • [update] 流程版本号默认改完自动递增,不接收外部设置
    • \\n
    • [refactor] 重构条件表达式和办理人变量表达式
    • \\n
    • [remove] 移除权限监听器
    • \\n
    \\n
  • \\n
"}');export{c as comp,h as data}; diff --git a/src/.vuepress/public/ggw/WarmFlow.png b/warm-flow-doc/src/.vuepress/dist/assets/WarmFlow-BYUG222F.png similarity index 100% rename from src/.vuepress/public/ggw/WarmFlow.png rename to warm-flow-doc/src/.vuepress/dist/assets/WarmFlow-BYUG222F.png diff --git a/warm-flow-doc/src/.vuepress/dist/assets/addIns-BsymcE-_.png b/warm-flow-doc/src/.vuepress/dist/assets/addIns-BsymcE-_.png new file mode 100644 index 0000000000000000000000000000000000000000..d203290cd72fa7482d040044b80c260d43429701 Binary files /dev/null and b/warm-flow-doc/src/.vuepress/dist/assets/addIns-BsymcE-_.png differ diff --git a/warm-flow-doc/src/.vuepress/dist/assets/addIns-Dmk_nNFI.js b/warm-flow-doc/src/.vuepress/dist/assets/addIns-Dmk_nNFI.js new file mode 100644 index 0000000000000000000000000000000000000000..f083c8f83cb1d37ff18fe127aedfa4d9f7458d9e --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/addIns-Dmk_nNFI.js @@ -0,0 +1 @@ +const s="/assets/demo4-CGOaJscD.png",t="/assets/demo2-BIgFjHMu.png",o="/assets/demo3-CCBxj7zF.png",a="/assets/demo1-CaNh-0k7.png",e="/assets/defSkip-B4PTVHxe.png",p="/assets/addIns-BsymcE-_.png";export{s as _,t as a,o as b,a as c,e as d,p as e}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/api.html-BH6aJ82S.js b/warm-flow-doc/src/.vuepress/dist/assets/api.html-BH6aJ82S.js new file mode 100644 index 0000000000000000000000000000000000000000..ace3cb3c88265dd48662e8f3e20953b68d91c8b0 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/api.html-BH6aJ82S.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as l,b as a}from"./app-NEH0cjHY.js";const d={},n=a('

核心api

1、DefService流程定义接口

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

checkAndSave(definition):校验后新增

1.2、新增流程定义,并初始化流程节点和流程跳转数据

saveAndInitNode(definition):校验后新增

1.3、导入流程定义、流程节点和流程跳转数据

importXml(is):导入流程定义xml的输入流

1.4、保存流程节点和流程跳转数据

saveXml(def): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id [必传]
  • xmlString: 流程定义xml字符串 [必传]

1.5、保存流程节点和流程跳转数据

saveXml(id, xmlString): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id
  • xmlString: 流程定义xml字符串

1.6、导出流程定义

exportXml(id): 导出流程定义(流程定义、流程节点和流程跳转数据)xml的Document对象

1.7、获取流程定义

xmlString(id): 获取流程定义xml(流程定义、流程节点和流程跳转数据)的字符串

1.8、删除

removeDef(ids): 删除流程定义相关数据

1.9、发布

publish(id): 发布流程定义

1.10、取消发布

unPublish(id): 取消发布流程定义

1.11、复制流程

copyDef(id): 复制流程定义

1.12、获取流程图

flowChart(instanceId): 获取流程图的图片流

1.13、激活流程

active(Long id): 激活流程

1.14、挂起流程

unActive(Long id): 挂起流程:流程定义挂起后,相关的流程实例都无法继续流转

1.15、获取流程定义

getAllDataDefinition(Long id): 获取流程定义全部数据(包含节点和跳转)

1.16、查询流程设计所需的数据,比如流程图渲染,导出流程定义

getAllDataDefinition(Long id): 查询流程设计所需的数据,比如流程图渲染,导出流程定义

2、InsService流程实例接口

2.1、开启流程

start(businessId, flowParams):传入业务id,开启流程实例。flowParams包含如下字段:

  • flowCode: 流程编码 [必传]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • ext: 扩展字段,预留给业务系统使用 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.2、流程跳转

skipByInsId(instanceId, flowParams):传入流程实例id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等, 流程设计时未设置办理人或者ignore为true可不传 [按需传输]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.3、终止流程

termination(instanceId, flowParams):传入流程实例id,终止流程。flowParams包含如下字段:

  • handler: 办理人唯一标识 [建议传]
  • message: 审批意见 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.4、删除流程实例

remove(instanceIds):根据实例ids,删除流程

2.5、激活实例

active(Long id): 激活实例

2.6、挂起实例

unActive(Long id): 挂起实例,流程实例挂起后,该流程实例无法继续流转

2.7、根据流程定义id集合,查询流程实例集合

listByDefIds(defIds):根据流程定义id集合,查询流程实例集合

3、TaskService待办任务接口

3.1、流程跳转

skip(taskId, flowParams):传入流程任务id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等, 流程设计时未设置办理人或者ignore为true可不传 [按需传输]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.2、终止流程

termination(taskId, flowParams):传入流程任务id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.3、转办

transfer(taskId, flowParams):转办, 默认删除当然办理用户权限,转办后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • addHandlers: 转办对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.4、委派

depute(taskId, flowParams):委派, 默认删除当然办理用户权限,委派后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • addHandlers: 委托对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.5、加签

addSignature(taskId, flowParams):加签,增加办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • addHandlers: 加签对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.6、减签

reductionSignature(taskId, flowParams):减签,减少办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • reductionHandlers: 减少办理人 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.7、修改办理人

updateHandler(taskId, flowParams):传入流程任务id,修改办理人

  • handler: 办理人唯一标识 [按需传输]
  • permissionFlag: 用户所拥有的权限标识 [按需传输,ignore为false,则必传]
  • addHandlers: 增加办理人:加签,转办,委托 [按需传输]
  • reductionHandlers: 减少办理人:减签,委托 [按需传输]
  • message: 审批意见 [按需传输]
  • cooperateType: 协作方式(2转办 3委派 6加签 7减签)[按需传输]
  • ignore: 转办忽略权限校验(true:忽略,false:不忽略)[按需传输]

4、NodeService节点接口

4.1、获取下一个节点列表

getNextNodeList(definitionId, nowNodeCode, anyNodeCode, skipType, variable):根据流程定义和当前节点code获取下一节点,如是网关跳过取下一节点,并行网关返回多个节点

  • definitionId: 流程定义id [必传]
  • nowNodeCode: 当前节点code [必传]
  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • anyNodeCode: anyNodeCode不为空,则可跳转anyNodeCode节点(优先级最高) [按需传输]
  • variable: 流程变量,下一个节点是网关需要判断跳转条件,并行网关返回多个节点 [按需传输]

5、公共api接口

5.1、根据id查询

getById(id):根据id查询

  • id: 主键

5.2、根据ids主键集合查询

getByIds(ids):根据ids主键集合查询

  • ids: 主键集合

5.3、分页查询

getById(entity, page):分页查询

  • entity: 查询实体
  • page: 分页对象,支持设置排序字段

5.4、查询列表

list(entity):查询列表

  • entity: 查询实体

5.5、查询列表,可排序

list(entity, query):查询列表,可排序

  • entity: 查询实体
  • query: 查询代理层处理,支持设置排序字段

5.6、查询一条记录

getOne(entity):查询一条记录

  • entity 查询实体

5.7、获取总数量

selectCount(entity):获取总数量

  • entity: 查询实体

5.8、判断是否存在

exists(entity):判断是否存在

  • entity: 查询实体

5.8、新增

save(entity):新增

  • entity: 实体

5.9、根据id修改

updateById(entity):根据id修改

  • entity: 实体

5.10、根据id删除

removeById(id):根据id删除

  • id: 实体

5.11、根据entity删除

remove(entity):根据entity删除

  • entity: 实体

5.12、根据ids批量删除

removeByIds(ids):根据ids批量删除

  • ids: 实体

5.13、批量新增

saveBatch(list):批量新增

  • list: 实体集合

5.14、批量新增

saveBatch(list, batchSize):批量新增

  • list: 需要插入的集合数据
  • batchSize: 插入大小

5.15、批量更新

updateBatch(list):批量更新

  • list: 集合数据

5.16、id设置正序排列

orderById():id设置正序排列

5.17、创建时间设置正序排列

orderByCreateTime():创建时间设置正序排列

5.18、更新时间设置正序排列

orderByUpdateTime():更新时间设置正序排列

5.19、设置正序排列

orderByAsc(orderByField):设置正序排列

  • orderByField: 排序字段

5.20、设置倒序排列

orderByDesc(orderByField):设置倒序排列

  • orderByField: 排序字段

5.21、用户自定义排序方案

orderBy(orderByField):用户自定义排序方案

  • orderByField: 排序字段
',144),s=[n];function r(t,h){return l(),i("div",null,s)}const o=e(d,[["render",r],["__file","api.html.vue"]]),p=JSON.parse('{"path":"/master/guide/api.html","title":"核心api","lang":"zh-CN","frontmatter":{"description":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.2、新增流程定义,并初始化流程节点和流程跳转数据 saveAndInitNode(definition):校验后新增 1.3、导入流程定义、流程节点和...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/master/guide/api.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"核心api"}],["meta",{"property":"og:description","content":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.2、新增流程定义,并初始化流程节点和流程跳转数据 saveAndInitNode(definition):校验后新增 1.3、导入流程定义、流程节点和..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T11:08:16.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T11:08:16.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"核心api\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T11:08:16.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、DefService流程定义接口","slug":"_1、defservice流程定义接口","link":"#_1、defservice流程定义接口","children":[{"level":3,"title":"1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据","slug":"_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","link":"#_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.2、新增流程定义,并初始化流程节点和流程跳转数据","slug":"_1-2、新增流程定义-并初始化流程节点和流程跳转数据","link":"#_1-2、新增流程定义-并初始化流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.3、导入流程定义、流程节点和流程跳转数据","slug":"_1-3、导入流程定义、流程节点和流程跳转数据","link":"#_1-3、导入流程定义、流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.4、保存流程节点和流程跳转数据","slug":"_1-4、保存流程节点和流程跳转数据","link":"#_1-4、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.5、保存流程节点和流程跳转数据","slug":"_1-5、保存流程节点和流程跳转数据","link":"#_1-5、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.6、导出流程定义","slug":"_1-6、导出流程定义","link":"#_1-6、导出流程定义","children":[]},{"level":3,"title":"1.7、获取流程定义","slug":"_1-7、获取流程定义","link":"#_1-7、获取流程定义","children":[]},{"level":3,"title":"1.8、删除","slug":"_1-8、删除","link":"#_1-8、删除","children":[]},{"level":3,"title":"1.9、发布","slug":"_1-9、发布","link":"#_1-9、发布","children":[]},{"level":3,"title":"1.10、取消发布","slug":"_1-10、取消发布","link":"#_1-10、取消发布","children":[]},{"level":3,"title":"1.11、复制流程","slug":"_1-11、复制流程","link":"#_1-11、复制流程","children":[]},{"level":3,"title":"1.12、获取流程图","slug":"_1-12、获取流程图","link":"#_1-12、获取流程图","children":[]},{"level":3,"title":"1.13、激活流程","slug":"_1-13、激活流程","link":"#_1-13、激活流程","children":[]},{"level":3,"title":"1.14、挂起流程","slug":"_1-14、挂起流程","link":"#_1-14、挂起流程","children":[]},{"level":3,"title":"1.15、获取流程定义","slug":"_1-15、获取流程定义","link":"#_1-15、获取流程定义","children":[]},{"level":3,"title":"1.16、查询流程设计所需的数据,比如流程图渲染,导出流程定义","slug":"_1-16、查询流程设计所需的数据-比如流程图渲染-导出流程定义","link":"#_1-16、查询流程设计所需的数据-比如流程图渲染-导出流程定义","children":[]}]},{"level":2,"title":"2、InsService流程实例接口","slug":"_2、insservice流程实例接口","link":"#_2、insservice流程实例接口","children":[{"level":3,"title":"2.1、开启流程","slug":"_2-1、开启流程","link":"#_2-1、开启流程","children":[]},{"level":3,"title":"2.2、流程跳转","slug":"_2-2、流程跳转","link":"#_2-2、流程跳转","children":[]},{"level":3,"title":"2.3、终止流程","slug":"_2-3、终止流程","link":"#_2-3、终止流程","children":[]},{"level":3,"title":"2.4、删除流程实例","slug":"_2-4、删除流程实例","link":"#_2-4、删除流程实例","children":[]},{"level":3,"title":"2.5、激活实例","slug":"_2-5、激活实例","link":"#_2-5、激活实例","children":[]},{"level":3,"title":"2.6、挂起实例","slug":"_2-6、挂起实例","link":"#_2-6、挂起实例","children":[]},{"level":3,"title":"2.7、根据流程定义id集合,查询流程实例集合","slug":"_2-7、根据流程定义id集合-查询流程实例集合","link":"#_2-7、根据流程定义id集合-查询流程实例集合","children":[]}]},{"level":2,"title":"3、TaskService待办任务接口","slug":"_3、taskservice待办任务接口","link":"#_3、taskservice待办任务接口","children":[{"level":3,"title":"3.1、流程跳转","slug":"_3-1、流程跳转","link":"#_3-1、流程跳转","children":[]},{"level":3,"title":"3.2、终止流程","slug":"_3-2、终止流程","link":"#_3-2、终止流程","children":[]},{"level":3,"title":"3.3、转办","slug":"_3-3、转办","link":"#_3-3、转办","children":[]},{"level":3,"title":"3.4、委派","slug":"_3-4、委派","link":"#_3-4、委派","children":[]},{"level":3,"title":"3.5、加签","slug":"_3-5、加签","link":"#_3-5、加签","children":[]},{"level":3,"title":"3.6、减签","slug":"_3-6、减签","link":"#_3-6、减签","children":[]},{"level":3,"title":"3.7、修改办理人","slug":"_3-7、修改办理人","link":"#_3-7、修改办理人","children":[]}]},{"level":2,"title":"4、NodeService节点接口","slug":"_4、nodeservice节点接口","link":"#_4、nodeservice节点接口","children":[{"level":3,"title":"4.1、获取下一个节点列表","slug":"_4-1、获取下一个节点列表","link":"#_4-1、获取下一个节点列表","children":[]}]},{"level":2,"title":"5、公共api接口","slug":"_5、公共api接口","link":"#_5、公共api接口","children":[{"level":3,"title":"5.1、根据id查询","slug":"_5-1、根据id查询","link":"#_5-1、根据id查询","children":[]},{"level":3,"title":"5.2、根据ids主键集合查询","slug":"_5-2、根据ids主键集合查询","link":"#_5-2、根据ids主键集合查询","children":[]},{"level":3,"title":"5.3、分页查询","slug":"_5-3、分页查询","link":"#_5-3、分页查询","children":[]},{"level":3,"title":"5.4、查询列表","slug":"_5-4、查询列表","link":"#_5-4、查询列表","children":[]},{"level":3,"title":"5.5、查询列表,可排序","slug":"_5-5、查询列表-可排序","link":"#_5-5、查询列表-可排序","children":[]},{"level":3,"title":"5.6、查询一条记录","slug":"_5-6、查询一条记录","link":"#_5-6、查询一条记录","children":[]},{"level":3,"title":"5.7、获取总数量","slug":"_5-7、获取总数量","link":"#_5-7、获取总数量","children":[]},{"level":3,"title":"5.8、判断是否存在","slug":"_5-8、判断是否存在","link":"#_5-8、判断是否存在","children":[]},{"level":3,"title":"5.8、新增","slug":"_5-8、新增","link":"#_5-8、新增","children":[]},{"level":3,"title":"5.9、根据id修改","slug":"_5-9、根据id修改","link":"#_5-9、根据id修改","children":[]},{"level":3,"title":"5.10、根据id删除","slug":"_5-10、根据id删除","link":"#_5-10、根据id删除","children":[]},{"level":3,"title":"5.11、根据entity删除","slug":"_5-11、根据entity删除","link":"#_5-11、根据entity删除","children":[]},{"level":3,"title":"5.12、根据ids批量删除","slug":"_5-12、根据ids批量删除","link":"#_5-12、根据ids批量删除","children":[]},{"level":3,"title":"5.13、批量新增","slug":"_5-13、批量新增","link":"#_5-13、批量新增","children":[]},{"level":3,"title":"5.14、批量新增","slug":"_5-14、批量新增","link":"#_5-14、批量新增","children":[]},{"level":3,"title":"5.15、批量更新","slug":"_5-15、批量更新","link":"#_5-15、批量更新","children":[]},{"level":3,"title":"5.16、id设置正序排列","slug":"_5-16、id设置正序排列","link":"#_5-16、id设置正序排列","children":[]},{"level":3,"title":"5.17、创建时间设置正序排列","slug":"_5-17、创建时间设置正序排列","link":"#_5-17、创建时间设置正序排列","children":[]},{"level":3,"title":"5.18、更新时间设置正序排列","slug":"_5-18、更新时间设置正序排列","link":"#_5-18、更新时间设置正序排列","children":[]},{"level":3,"title":"5.19、设置正序排列","slug":"_5-19、设置正序排列","link":"#_5-19、设置正序排列","children":[]},{"level":3,"title":"5.20、设置倒序排列","slug":"_5-20、设置倒序排列","link":"#_5-20、设置倒序排列","children":[]},{"level":3,"title":"5.21、用户自定义排序方案","slug":"_5-21、用户自定义排序方案","link":"#_5-21、用户自定义排序方案","children":[]}]}],"git":{"createdTime":1718084392000,"updatedTime":1732878496000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":3}]},"readingTime":{"minutes":8.01,"words":2404},"filePathRelative":"master/guide/api.md","localizedDate":"2024年6月11日","autoDesc":true,"excerpt":"\\n

1、DefService流程定义接口

\\n

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

\\n

checkAndSave(definition):校验后新增

\\n

1.2、新增流程定义,并初始化流程节点和流程跳转数据

\\n

saveAndInitNode(definition):校验后新增

\\n

1.3、导入流程定义、流程节点和流程跳转数据

\\n

importXml(is):导入流程定义xml的输入流

"}');export{o as comp,p as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/api.html-BXC3eAfP.js b/warm-flow-doc/src/.vuepress/dist/assets/api.html-BXC3eAfP.js new file mode 100644 index 0000000000000000000000000000000000000000..84b87591270405bcbc08f350f0080e27cfe777bd --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/api.html-BXC3eAfP.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as l,b as a}from"./app-NEH0cjHY.js";const d={},s=a('

核心api

1、DefService流程定义接口

1.1、导入流程定义

importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象

1.2、保存流程定义

saveXml(def)): 传入流程定义id、流程定义xml字符串,保存流程定义数据

1.3、导出流程定义

exportXml(id): 导出流程定义xml的Document对象

1.4、获取流程定义

xmlString(id): 获取流程定义xml的字符串

1.5、删除

removeDef(ids): 删除流程定义相关数据

1.6、发布

publish(id): 发布流程定义

1.7、取消发布

unPublish(id): 取消发布流程定义

1.8、复制流程

copyDef(id): 复制流程定义

1.9、获取流程图

flowChart(instanceId): 获取流程图的图片流

1.10、激活流程

active(Long id): 激活流程

1.11、挂起流程

unActive(Long id): 挂起流程:流程定义挂起后,相关的流程实例都无法继续流转

2、InsService流程实例接口

2.1、开启流程

start(businessId, flowParams):传入业务id,开启流程实例。flowParams包含如下字段:

  • flowCode: 流程编码 [必传]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • ext: 扩展字段,预留给业务系统使用 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.2、流程跳转

skipByInsId(instanceId, flowParams):传入流程实例id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码 [如果指定节点,可任意跳转到对应节点,按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等[只有未设置办理人时可不传]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.3、终止流程

termination(instanceId, flowParams):传入流程实例id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.4、删除流程实例

remove(instanceIds):根据实例ids,删除流程

2.5、激活实例

active(Long id): 激活实例

2.6、挂起实例

unActive(Long id): 挂起实例,流程实例挂起后,该流程实例无法继续流转

3、TaskService待办任务接口

3.1、流程跳转

skip(taskId, flowParams):传入流程任务id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码 [如果指定节点,可任意跳转到对应节点,按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等[只有未设置办理人时可不传]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

3.2、终止流程

termination(taskId, flowParams):传入流程任务id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

3.3、转办

transfer(taskId, curUser, permissionFlag, addHandlers, message):转办, 默认删除当然办理用户权限,转办后,当前办理不可办理

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.4、委派

depute(taskId, curUser, permissionFlag, addHandlers, message):委派, 默认删除当然办理用户权限,转办后,当前办理不可办理

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.5、加签

addSignature(taskId, curUser, permissionFlag, addHandlers, message):加签,增加办理人

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.6、减签

reductionSignature(taskId, curUser, permissionFlag, addHandlers, message):减签,减少办理人

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.7、修改办理人

updateHandler(modifyHandler):修改办理人

  • curUser: 办理人唯一标识 [按需传输]
  • ignore: 转办忽略权限校验(true:忽略,false:不忽略)[按需传输]
  • permissionFlag: 用户所拥有的权限标识 [按需传输,ignore为false,则必传]
  • addHandlers: 增加办理人:加签,转办,委托 [按需传输]
  • reductionHandlers: 减少办理人:减签,委托 [按需传输]
  • message: 审批意见 [按需传输]
  • cooperateType: 协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)[按需传输]

4、NodeService节点接口

4.1、获取下一个节点列表

getNextNodeList(definitionId, nowNodeCode, anyNodeCode, skipType, variable):根据流程定义和当前节点code获取下一节点,如是网关跳过取下一节点,并行网关返回多个节点

  • definitionId: 流程定义id [必传]
  • nowNodeCode: 当前节点code [必传]
  • anyNodeCode: anyNodeCode不为空,则可跳转anyNodeCode节点(优先级最高) [按需传输]
  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • variable: 流程变量,下一个节点是网关需要判断跳转条件,并行网关返回多个节点 [按需传输]

5、公共api接口

5.1、根据id查询

getById(id):根据id查询

  • id: 主键 [必传]

5.2、根据ids主键集合查询

getByIds(ids):根据ids主键集合查询

  • ids: 主键集合 [必传]

5.3、分页查询

getById(entity, page):分页查询

  • entity: 查询实体 [必传]
  • page: 分页对象,支持设置排序字段 [必传]

5.4、查询列表

list(entity):查询列表

  • entity: 查询实体 [必传]

5.5、查询列表,可排序

list(entity, query):查询列表,可排序

  • entity: 查询实体 [必传]
  • query: 查询代理层处理,支持设置排序字段 [必传]

5.6、查询一条记录

getOne(entity):查询一条记录

  • entity 查询实体 [必传]

5.7、获取总数量

selectCount(entity):获取总数量

  • entity: 查询实体 [必传]

5.8、判断是否存在

exists(entity):判断是否存在

  • entity: 查询实体 [必传]

5.8、新增

save(entity):新增

  • entity: 实体 [必传]

5.9、根据id修改

updateById(entity):根据id修改

  • entity: 实体 [必传]

5.10、根据id删除

removeById(id):根据id删除

  • id: 实体 [必传]

5.11、根据entity删除

remove(entity):根据entity删除

  • entity: 实体 [必传]

5.12、根据ids批量删除

removeByIds(ids):根据ids批量删除

  • ids: 实体 [必传]

5.13、批量新增

saveBatch(list):批量新增

  • list: 实体集合 [必传]

5.14、批量新增

saveBatch(list, batchSize):批量新增

  • list: 需要插入的集合数据 [必传]
  • batchSize: 插入大小 [必传]

5.15、批量更新

updateBatch(list):批量更新

  • list: 集合数据 [必传]

5.16、id设置正序排列

orderById():id设置正序排列

5.17、创建时间设置正序排列

orderByCreateTime():创建时间设置正序排列

5.18、更新时间设置正序排列

orderByUpdateTime():更新时间设置正序排列

5.19、设置正序排列

orderByAsc(orderByField):设置正序排列

  • orderByField: 排序字段 [必传]

5.20、设置倒序排列

orderByDesc(orderByField):设置倒序排列

  • orderByField: 排序字段 [必传]

5.21、用户自定义排序方案

orderBy(orderByField):用户自定义排序方案

  • orderByField: 排序字段 [必传]
',130),n=[s];function r(t,c){return l(),i("div",null,n)}const o=e(d,[["render",r],["__file","api.html.vue"]]),p=JSON.parse('{"path":"/v1.2.10/guide/api.html","title":"核心api","lang":"zh-CN","frontmatter":{"description":"核心api 1、DefService流程定义接口 1.1、导入流程定义 importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象 1.2、保存流程定义 saveXml(def)): 传入流程定义id、流程定义xml字符串,保存流程定义数据 1.3、导出流程定义 exportXml(id): 导出流程定义xml的Do...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/v1.2.10/guide/api.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"核心api"}],["meta",{"property":"og:description","content":"核心api 1、DefService流程定义接口 1.1、导入流程定义 importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象 1.2、保存流程定义 saveXml(def)): 传入流程定义id、流程定义xml字符串,保存流程定义数据 1.3、导出流程定义 exportXml(id): 导出流程定义xml的Do..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"核心api\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、DefService流程定义接口","slug":"_1、defservice流程定义接口","link":"#_1、defservice流程定义接口","children":[{"level":3,"title":"1.1、导入流程定义","slug":"_1-1、导入流程定义","link":"#_1-1、导入流程定义","children":[]},{"level":3,"title":"1.2、保存流程定义","slug":"_1-2、保存流程定义","link":"#_1-2、保存流程定义","children":[]},{"level":3,"title":"1.3、导出流程定义","slug":"_1-3、导出流程定义","link":"#_1-3、导出流程定义","children":[]},{"level":3,"title":"1.4、获取流程定义","slug":"_1-4、获取流程定义","link":"#_1-4、获取流程定义","children":[]},{"level":3,"title":"1.5、删除","slug":"_1-5、删除","link":"#_1-5、删除","children":[]},{"level":3,"title":"1.6、发布","slug":"_1-6、发布","link":"#_1-6、发布","children":[]},{"level":3,"title":"1.7、取消发布","slug":"_1-7、取消发布","link":"#_1-7、取消发布","children":[]},{"level":3,"title":"1.8、复制流程","slug":"_1-8、复制流程","link":"#_1-8、复制流程","children":[]},{"level":3,"title":"1.9、获取流程图","slug":"_1-9、获取流程图","link":"#_1-9、获取流程图","children":[]},{"level":3,"title":"1.10、激活流程","slug":"_1-10、激活流程","link":"#_1-10、激活流程","children":[]},{"level":3,"title":"1.11、挂起流程","slug":"_1-11、挂起流程","link":"#_1-11、挂起流程","children":[]}]},{"level":2,"title":"2、InsService流程实例接口","slug":"_2、insservice流程实例接口","link":"#_2、insservice流程实例接口","children":[{"level":3,"title":"2.1、开启流程","slug":"_2-1、开启流程","link":"#_2-1、开启流程","children":[]},{"level":3,"title":"2.2、流程跳转","slug":"_2-2、流程跳转","link":"#_2-2、流程跳转","children":[]},{"level":3,"title":"2.3、终止流程","slug":"_2-3、终止流程","link":"#_2-3、终止流程","children":[]},{"level":3,"title":"2.4、删除流程实例","slug":"_2-4、删除流程实例","link":"#_2-4、删除流程实例","children":[]},{"level":3,"title":"2.5、激活实例","slug":"_2-5、激活实例","link":"#_2-5、激活实例","children":[]},{"level":3,"title":"2.6、挂起实例","slug":"_2-6、挂起实例","link":"#_2-6、挂起实例","children":[]}]},{"level":2,"title":"3、TaskService待办任务接口","slug":"_3、taskservice待办任务接口","link":"#_3、taskservice待办任务接口","children":[{"level":3,"title":"3.1、流程跳转","slug":"_3-1、流程跳转","link":"#_3-1、流程跳转","children":[]},{"level":3,"title":"3.2、终止流程","slug":"_3-2、终止流程","link":"#_3-2、终止流程","children":[]},{"level":3,"title":"3.3、转办","slug":"_3-3、转办","link":"#_3-3、转办","children":[]},{"level":3,"title":"3.4、委派","slug":"_3-4、委派","link":"#_3-4、委派","children":[]},{"level":3,"title":"3.5、加签","slug":"_3-5、加签","link":"#_3-5、加签","children":[]},{"level":3,"title":"3.6、减签","slug":"_3-6、减签","link":"#_3-6、减签","children":[]},{"level":3,"title":"3.7、修改办理人","slug":"_3-7、修改办理人","link":"#_3-7、修改办理人","children":[]}]},{"level":2,"title":"4、NodeService节点接口","slug":"_4、nodeservice节点接口","link":"#_4、nodeservice节点接口","children":[{"level":3,"title":"4.1、获取下一个节点列表","slug":"_4-1、获取下一个节点列表","link":"#_4-1、获取下一个节点列表","children":[]}]},{"level":2,"title":"5、公共api接口","slug":"_5、公共api接口","link":"#_5、公共api接口","children":[{"level":3,"title":"5.1、根据id查询","slug":"_5-1、根据id查询","link":"#_5-1、根据id查询","children":[]},{"level":3,"title":"5.2、根据ids主键集合查询","slug":"_5-2、根据ids主键集合查询","link":"#_5-2、根据ids主键集合查询","children":[]},{"level":3,"title":"5.3、分页查询","slug":"_5-3、分页查询","link":"#_5-3、分页查询","children":[]},{"level":3,"title":"5.4、查询列表","slug":"_5-4、查询列表","link":"#_5-4、查询列表","children":[]},{"level":3,"title":"5.5、查询列表,可排序","slug":"_5-5、查询列表-可排序","link":"#_5-5、查询列表-可排序","children":[]},{"level":3,"title":"5.6、查询一条记录","slug":"_5-6、查询一条记录","link":"#_5-6、查询一条记录","children":[]},{"level":3,"title":"5.7、获取总数量","slug":"_5-7、获取总数量","link":"#_5-7、获取总数量","children":[]},{"level":3,"title":"5.8、判断是否存在","slug":"_5-8、判断是否存在","link":"#_5-8、判断是否存在","children":[]},{"level":3,"title":"5.8、新增","slug":"_5-8、新增","link":"#_5-8、新增","children":[]},{"level":3,"title":"5.9、根据id修改","slug":"_5-9、根据id修改","link":"#_5-9、根据id修改","children":[]},{"level":3,"title":"5.10、根据id删除","slug":"_5-10、根据id删除","link":"#_5-10、根据id删除","children":[]},{"level":3,"title":"5.11、根据entity删除","slug":"_5-11、根据entity删除","link":"#_5-11、根据entity删除","children":[]},{"level":3,"title":"5.12、根据ids批量删除","slug":"_5-12、根据ids批量删除","link":"#_5-12、根据ids批量删除","children":[]},{"level":3,"title":"5.13、批量新增","slug":"_5-13、批量新增","link":"#_5-13、批量新增","children":[]},{"level":3,"title":"5.14、批量新增","slug":"_5-14、批量新增","link":"#_5-14、批量新增","children":[]},{"level":3,"title":"5.15、批量更新","slug":"_5-15、批量更新","link":"#_5-15、批量更新","children":[]},{"level":3,"title":"5.16、id设置正序排列","slug":"_5-16、id设置正序排列","link":"#_5-16、id设置正序排列","children":[]},{"level":3,"title":"5.17、创建时间设置正序排列","slug":"_5-17、创建时间设置正序排列","link":"#_5-17、创建时间设置正序排列","children":[]},{"level":3,"title":"5.18、更新时间设置正序排列","slug":"_5-18、更新时间设置正序排列","link":"#_5-18、更新时间设置正序排列","children":[]},{"level":3,"title":"5.19、设置正序排列","slug":"_5-19、设置正序排列","link":"#_5-19、设置正序排列","children":[]},{"level":3,"title":"5.20、设置倒序排列","slug":"_5-20、设置倒序排列","link":"#_5-20、设置倒序排列","children":[]},{"level":3,"title":"5.21、用户自定义排序方案","slug":"_5-21、用户自定义排序方案","link":"#_5-21、用户自定义排序方案","children":[]}]}],"git":{"createdTime":1718084392000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":6.35,"words":1904},"filePathRelative":"v1.2.10/guide/api.md","localizedDate":"2024年6月11日","autoDesc":true,"excerpt":"\\n

1、DefService流程定义接口

\\n

1.1、导入流程定义

\\n

importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象

\\n

1.2、保存流程定义

\\n

saveXml(def)): 传入流程定义id、流程定义xml字符串,保存流程定义数据

\\n

1.3、导出流程定义

\\n

exportXml(id): 导出流程定义xml的Document对象

\\n

1.4、获取流程定义

\\n

xmlString(id): 获取流程定义xml的字符串

"}');export{o as comp,p as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/api.html-Cddwjqk6.js b/warm-flow-doc/src/.vuepress/dist/assets/api.html-Cddwjqk6.js new file mode 100644 index 0000000000000000000000000000000000000000..72526606303f1a157ca75b1a873797f071f6f452 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/api.html-Cddwjqk6.js @@ -0,0 +1 @@ +import{_ as e,c as l,o as i,b as a}from"./app-NEH0cjHY.js";const d={},n=a('

核心api

1、DefService流程定义接口

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

checkAndSave(definition):校验后新增

1.1、新增流程定义、流程节点和流程跳转数据

importXml(is):导入流程定义xml的输入流

1.2、保存流程节点和流程跳转数据

saveXml(def): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id [必传]
  • xmlString: 流程定义xml字符串 [必传]

1.3、保存流程节点和流程跳转数据

saveXml(id, xmlString): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id
  • xmlString: 流程定义xml字符串

1.4、导出流程定义

exportXml(id): 导出流程定义(流程定义、流程节点和流程跳转数据)xml的Document对象

1.5、获取流程定义

xmlString(id): 获取流程定义xml(流程定义、流程节点和流程跳转数据)的字符串

1.6、删除

removeDef(ids): 删除流程定义相关数据

1.7、发布

publish(id): 发布流程定义

1.8、取消发布

unPublish(id): 取消发布流程定义

1.9、复制流程

copyDef(id): 复制流程定义

1.10、获取流程图

flowChart(instanceId): 获取流程图的图片流

1.11、激活流程

active(Long id): 激活流程

1.12、挂起流程

unActive(Long id): 挂起流程:流程定义挂起后,相关的流程实例都无法继续流转

2、InsService流程实例接口

2.1、开启流程

start(businessId, flowParams):传入业务id,开启流程实例。flowParams包含如下字段:

  • flowCode: 流程编码 [必传]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • ext: 扩展字段,预留给业务系统使用 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.2、流程跳转

skipByInsId(instanceId, flowParams):传入流程实例id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等 [只有未设置办理人时可不传]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.3、终止流程

termination(instanceId, flowParams):传入流程实例id,终止流程。flowParams包含如下字段:

  • handler: 办理人唯一标识 [建议传]
  • message: 审批意见 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.4、删除流程实例

remove(instanceIds):根据实例ids,删除流程

2.5、激活实例

active(Long id): 激活实例

2.6、挂起实例

unActive(Long id): 挂起实例,流程实例挂起后,该流程实例无法继续流转

3、TaskService待办任务接口

3.1、流程跳转

skip(taskId, flowParams):传入流程任务id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等 [只有未设置办理人时可不传]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.2、终止流程

termination(taskId, flowParams):传入流程任务id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.3、转办

transfer(taskId, flowParams):转办, 默认删除当然办理用户权限,转办后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 转办对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.4、委派

depute(taskId, flowParams):委派, 默认删除当然办理用户权限,委派后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 委托对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.5、加签

addSignature(taskId, flowParams):加签,增加办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 加签对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.6、减签

reductionSignature(taskId, flowParams):减签,减少办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • reductionHandlers: 减少办理人 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.7、修改办理人

updateHandler(taskId, flowParams):传入流程任务id,修改办理人

  • handler: 办理人唯一标识 [按需传输]
  • permissionFlag: 用户所拥有的权限标识 [按需传输,ignore为false,则必传]
  • addHandlers: 增加办理人:加签,转办,委托 [按需传输]
  • reductionHandlers: 减少办理人:减签,委托 [按需传输]
  • message: 审批意见 [按需传输]
  • cooperateType: 协作方式(2转办 3委派 6加签 7减签)[按需传输]
  • ignore: 转办忽略权限校验(true:忽略,false:不忽略)[按需传输]

4、NodeService节点接口

4.1、获取下一个节点列表

getNextNodeList(definitionId, nowNodeCode, anyNodeCode, skipType, variable):根据流程定义和当前节点code获取下一节点,如是网关跳过取下一节点,并行网关返回多个节点

  • definitionId: 流程定义id [必传]
  • nowNodeCode: 当前节点code [必传]
  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • anyNodeCode: anyNodeCode不为空,则可跳转anyNodeCode节点(优先级最高) [按需传输]
  • variable: 流程变量,下一个节点是网关需要判断跳转条件,并行网关返回多个节点 [按需传输]

5、公共api接口

5.1、根据id查询

getById(id):根据id查询

  • id: 主键

5.2、根据ids主键集合查询

getByIds(ids):根据ids主键集合查询

  • ids: 主键集合

5.3、分页查询

getById(entity, page):分页查询

  • entity: 查询实体
  • page: 分页对象,支持设置排序字段

5.4、查询列表

list(entity):查询列表

  • entity: 查询实体

5.5、查询列表,可排序

list(entity, query):查询列表,可排序

  • entity: 查询实体
  • query: 查询代理层处理,支持设置排序字段

5.6、查询一条记录

getOne(entity):查询一条记录

  • entity 查询实体

5.7、获取总数量

selectCount(entity):获取总数量

  • entity: 查询实体

5.8、判断是否存在

exists(entity):判断是否存在

  • entity: 查询实体

5.8、新增

save(entity):新增

  • entity: 实体

5.9、根据id修改

updateById(entity):根据id修改

  • entity: 实体

5.10、根据id删除

removeById(id):根据id删除

  • id: 实体

5.11、根据entity删除

remove(entity):根据entity删除

  • entity: 实体

5.12、根据ids批量删除

removeByIds(ids):根据ids批量删除

  • ids: 实体

5.13、批量新增

saveBatch(list):批量新增

  • list: 实体集合

5.14、批量新增

saveBatch(list, batchSize):批量新增

  • list: 需要插入的集合数据
  • batchSize: 插入大小

5.15、批量更新

updateBatch(list):批量更新

  • list: 集合数据

5.16、id设置正序排列

orderById():id设置正序排列

5.17、创建时间设置正序排列

orderByCreateTime():创建时间设置正序排列

5.18、更新时间设置正序排列

orderByUpdateTime():更新时间设置正序排列

5.19、设置正序排列

orderByAsc(orderByField):设置正序排列

  • orderByField: 排序字段

5.20、设置倒序排列

orderByDesc(orderByField):设置倒序排列

  • orderByField: 排序字段

5.21、用户自定义排序方案

orderBy(orderByField):用户自定义排序方案

  • orderByField: 排序字段
',136),s=[n];function r(t,h){return i(),l("div",null,s)}const o=e(d,[["render",r],["__file","api.html.vue"]]),p=JSON.parse('{"path":"/v1.3.1/guide/api.html","title":"核心api","lang":"zh-CN","frontmatter":{"description":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.1、新增流程定义、流程节点和流程跳转数据 importXml(is):导入流程定义xml的输入流 1.2、保存流程节点和流程跳转数据 saveXml(...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/v1.3.1/guide/api.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"核心api"}],["meta",{"property":"og:description","content":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.1、新增流程定义、流程节点和流程跳转数据 importXml(is):导入流程定义xml的输入流 1.2、保存流程节点和流程跳转数据 saveXml(..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"核心api\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、DefService流程定义接口","slug":"_1、defservice流程定义接口","link":"#_1、defservice流程定义接口","children":[{"level":3,"title":"1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据","slug":"_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","link":"#_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.1、新增流程定义、流程节点和流程跳转数据","slug":"_1-1、新增流程定义、流程节点和流程跳转数据","link":"#_1-1、新增流程定义、流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.2、保存流程节点和流程跳转数据","slug":"_1-2、保存流程节点和流程跳转数据","link":"#_1-2、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.3、保存流程节点和流程跳转数据","slug":"_1-3、保存流程节点和流程跳转数据","link":"#_1-3、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.4、导出流程定义","slug":"_1-4、导出流程定义","link":"#_1-4、导出流程定义","children":[]},{"level":3,"title":"1.5、获取流程定义","slug":"_1-5、获取流程定义","link":"#_1-5、获取流程定义","children":[]},{"level":3,"title":"1.6、删除","slug":"_1-6、删除","link":"#_1-6、删除","children":[]},{"level":3,"title":"1.7、发布","slug":"_1-7、发布","link":"#_1-7、发布","children":[]},{"level":3,"title":"1.8、取消发布","slug":"_1-8、取消发布","link":"#_1-8、取消发布","children":[]},{"level":3,"title":"1.9、复制流程","slug":"_1-9、复制流程","link":"#_1-9、复制流程","children":[]},{"level":3,"title":"1.10、获取流程图","slug":"_1-10、获取流程图","link":"#_1-10、获取流程图","children":[]},{"level":3,"title":"1.11、激活流程","slug":"_1-11、激活流程","link":"#_1-11、激活流程","children":[]},{"level":3,"title":"1.12、挂起流程","slug":"_1-12、挂起流程","link":"#_1-12、挂起流程","children":[]}]},{"level":2,"title":"2、InsService流程实例接口","slug":"_2、insservice流程实例接口","link":"#_2、insservice流程实例接口","children":[{"level":3,"title":"2.1、开启流程","slug":"_2-1、开启流程","link":"#_2-1、开启流程","children":[]},{"level":3,"title":"2.2、流程跳转","slug":"_2-2、流程跳转","link":"#_2-2、流程跳转","children":[]},{"level":3,"title":"2.3、终止流程","slug":"_2-3、终止流程","link":"#_2-3、终止流程","children":[]},{"level":3,"title":"2.4、删除流程实例","slug":"_2-4、删除流程实例","link":"#_2-4、删除流程实例","children":[]},{"level":3,"title":"2.5、激活实例","slug":"_2-5、激活实例","link":"#_2-5、激活实例","children":[]},{"level":3,"title":"2.6、挂起实例","slug":"_2-6、挂起实例","link":"#_2-6、挂起实例","children":[]}]},{"level":2,"title":"3、TaskService待办任务接口","slug":"_3、taskservice待办任务接口","link":"#_3、taskservice待办任务接口","children":[{"level":3,"title":"3.1、流程跳转","slug":"_3-1、流程跳转","link":"#_3-1、流程跳转","children":[]},{"level":3,"title":"3.2、终止流程","slug":"_3-2、终止流程","link":"#_3-2、终止流程","children":[]},{"level":3,"title":"3.3、转办","slug":"_3-3、转办","link":"#_3-3、转办","children":[]},{"level":3,"title":"3.4、委派","slug":"_3-4、委派","link":"#_3-4、委派","children":[]},{"level":3,"title":"3.5、加签","slug":"_3-5、加签","link":"#_3-5、加签","children":[]},{"level":3,"title":"3.6、减签","slug":"_3-6、减签","link":"#_3-6、减签","children":[]},{"level":3,"title":"3.7、修改办理人","slug":"_3-7、修改办理人","link":"#_3-7、修改办理人","children":[]}]},{"level":2,"title":"4、NodeService节点接口","slug":"_4、nodeservice节点接口","link":"#_4、nodeservice节点接口","children":[{"level":3,"title":"4.1、获取下一个节点列表","slug":"_4-1、获取下一个节点列表","link":"#_4-1、获取下一个节点列表","children":[]}]},{"level":2,"title":"5、公共api接口","slug":"_5、公共api接口","link":"#_5、公共api接口","children":[{"level":3,"title":"5.1、根据id查询","slug":"_5-1、根据id查询","link":"#_5-1、根据id查询","children":[]},{"level":3,"title":"5.2、根据ids主键集合查询","slug":"_5-2、根据ids主键集合查询","link":"#_5-2、根据ids主键集合查询","children":[]},{"level":3,"title":"5.3、分页查询","slug":"_5-3、分页查询","link":"#_5-3、分页查询","children":[]},{"level":3,"title":"5.4、查询列表","slug":"_5-4、查询列表","link":"#_5-4、查询列表","children":[]},{"level":3,"title":"5.5、查询列表,可排序","slug":"_5-5、查询列表-可排序","link":"#_5-5、查询列表-可排序","children":[]},{"level":3,"title":"5.6、查询一条记录","slug":"_5-6、查询一条记录","link":"#_5-6、查询一条记录","children":[]},{"level":3,"title":"5.7、获取总数量","slug":"_5-7、获取总数量","link":"#_5-7、获取总数量","children":[]},{"level":3,"title":"5.8、判断是否存在","slug":"_5-8、判断是否存在","link":"#_5-8、判断是否存在","children":[]},{"level":3,"title":"5.8、新增","slug":"_5-8、新增","link":"#_5-8、新增","children":[]},{"level":3,"title":"5.9、根据id修改","slug":"_5-9、根据id修改","link":"#_5-9、根据id修改","children":[]},{"level":3,"title":"5.10、根据id删除","slug":"_5-10、根据id删除","link":"#_5-10、根据id删除","children":[]},{"level":3,"title":"5.11、根据entity删除","slug":"_5-11、根据entity删除","link":"#_5-11、根据entity删除","children":[]},{"level":3,"title":"5.12、根据ids批量删除","slug":"_5-12、根据ids批量删除","link":"#_5-12、根据ids批量删除","children":[]},{"level":3,"title":"5.13、批量新增","slug":"_5-13、批量新增","link":"#_5-13、批量新增","children":[]},{"level":3,"title":"5.14、批量新增","slug":"_5-14、批量新增","link":"#_5-14、批量新增","children":[]},{"level":3,"title":"5.15、批量更新","slug":"_5-15、批量更新","link":"#_5-15、批量更新","children":[]},{"level":3,"title":"5.16、id设置正序排列","slug":"_5-16、id设置正序排列","link":"#_5-16、id设置正序排列","children":[]},{"level":3,"title":"5.17、创建时间设置正序排列","slug":"_5-17、创建时间设置正序排列","link":"#_5-17、创建时间设置正序排列","children":[]},{"level":3,"title":"5.18、更新时间设置正序排列","slug":"_5-18、更新时间设置正序排列","link":"#_5-18、更新时间设置正序排列","children":[]},{"level":3,"title":"5.19、设置正序排列","slug":"_5-19、设置正序排列","link":"#_5-19、设置正序排列","children":[]},{"level":3,"title":"5.20、设置倒序排列","slug":"_5-20、设置倒序排列","link":"#_5-20、设置倒序排列","children":[]},{"level":3,"title":"5.21、用户自定义排序方案","slug":"_5-21、用户自定义排序方案","link":"#_5-21、用户自定义排序方案","children":[]}]}],"git":{"createdTime":1718084392000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":7.32,"words":2197},"filePathRelative":"v1.3.1/guide/api.md","localizedDate":"2024年6月11日","autoDesc":true,"excerpt":"\\n

1、DefService流程定义接口

\\n

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

\\n

checkAndSave(definition):校验后新增

\\n

1.1、新增流程定义、流程节点和流程跳转数据

\\n

importXml(is):导入流程定义xml的输入流

\\n

1.2、保存流程节点和流程跳转数据

\\n

saveXml(def): 传入流程定义id、流程定义xml字符串

\\n
    \\n
  • id: 流程定义id [必传]
  • \\n
  • xmlString: 流程定义xml字符串 [必传]
  • \\n
"}');export{o as comp,p as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/api.html-DYM9JCAT.js b/warm-flow-doc/src/.vuepress/dist/assets/api.html-DYM9JCAT.js new file mode 100644 index 0000000000000000000000000000000000000000..b9248ae63f95444f9aaa3ee87a50d27b18f52044 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/api.html-DYM9JCAT.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as l,b as a}from"./app-NEH0cjHY.js";const d={},s=a('

核心api

1、DefService流程定义接口

1.1、导入流程定义

importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象

1.2、保存流程定义

saveXml(def): 传入流程定义id、流程定义xml字符串,保存流程定义数据。def包含如下字段:

  • id: 流程定义id [必传]
  • xmlString: 流程定义xml字符串 [必传]

1.3、保存流程定义

saveXml(id, xmlString): 传入流程定义id、流程定义xml字符串,保存流程定义数据

  • id: 流程定义id
  • xmlString: 流程定义xml字符串

1.4、导出流程定义

exportXml(id): 导出流程定义xml的Document对象

1.5、获取流程定义

xmlString(id): 获取流程定义xml的字符串

1.6、删除

removeDef(ids): 删除流程定义相关数据

1.7、发布

publish(id): 发布流程定义

1.8、取消发布

unPublish(id): 取消发布流程定义

1.9、复制流程

copyDef(id): 复制流程定义

1.10、获取流程图

flowChart(instanceId): 获取流程图的图片流

1.11、激活流程

active(Long id): 激活流程

1.12、挂起流程

unActive(Long id): 挂起流程:流程定义挂起后,相关的流程实例都无法继续流转

2、InsService流程实例接口

2.1、开启流程

start(businessId, flowParams):传入业务id,开启流程实例。flowParams包含如下字段:

  • flowCode: 流程编码 [必传]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • ext: 扩展字段,预留给业务系统使用 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.2、流程跳转

skipByInsId(instanceId, flowParams):传入流程实例id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等 [只有未设置办理人时可不传]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]

2.3、终止流程

termination(instanceId, flowParams):传入流程实例id,终止流程。flowParams包含如下字段:

  • handler: 办理人唯一标识 [建议传]
  • message: 审批意见 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]

2.4、删除流程实例

remove(instanceIds):根据实例ids,删除流程

2.5、激活实例

active(Long id): 激活实例

2.6、挂起实例

unActive(Long id): 挂起实例,流程实例挂起后,该流程实例无法继续流转

3、TaskService待办任务接口

3.1、流程跳转

skip(taskId, flowParams):传入流程任务id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等 [只有未设置办理人时可不传]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]

3.2、终止流程

termination(taskId, flowParams):传入流程任务id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]

3.3、转办

transfer(taskId, curUser, permissionFlag, addHandlers, message):转办, 默认删除当然办理用户权限,转办后,当前办理不可办理

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.4、委派

depute(taskId, curUser, permissionFlag, addHandlers, message):委派, 默认删除当然办理用户权限,转办后,当前办理不可办理

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.5、加签

addSignature(taskId, curUser, permissionFlag, addHandlers, message):加签,增加办理人

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.6、减签

reductionSignature(taskId, curUser, permissionFlag, addHandlers, message):减签,减少办理人

  • taskId: 修改的任务id [必传]
  • curUser: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 增加办理人:加签,转办,委托 [必传]
  • message: 审批意见 [按需传输]

3.7、修改办理人

updateHandler(modifyHandler):修改办理人

  • curUser: 办理人唯一标识 [按需传输]
  • ignore: 转办忽略权限校验(true:忽略,false:不忽略)[按需传输]
  • permissionFlag: 用户所拥有的权限标识 [按需传输,ignore为false,则必传]
  • addHandlers: 增加办理人:加签,转办,委托 [按需传输]
  • reductionHandlers: 减少办理人:减签,委托 [按需传输]
  • message: 审批意见 [按需传输]
  • cooperateType: 协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)[按需传输]

4、NodeService节点接口

4.1、获取下一个节点列表

getNextNodeList(definitionId, nowNodeCode, anyNodeCode, skipType, variable):根据流程定义和当前节点code获取下一节点,如是网关跳过取下一节点,并行网关返回多个节点

  • definitionId: 流程定义id [必传]
  • nowNodeCode: 当前节点code [必传]
  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • anyNodeCode: anyNodeCode不为空,则可跳转anyNodeCode节点(优先级最高) [按需传输]
  • variable: 流程变量,下一个节点是网关需要判断跳转条件,并行网关返回多个节点 [按需传输]

5、公共api接口

5.1、根据id查询

getById(id):根据id查询

  • id: 主键

5.2、根据ids主键集合查询

getByIds(ids):根据ids主键集合查询

  • ids: 主键集合

5.3、分页查询

getById(entity, page):分页查询

  • entity: 查询实体
  • page: 分页对象,支持设置排序字段

5.4、查询列表

list(entity):查询列表

  • entity: 查询实体

5.5、查询列表,可排序

list(entity, query):查询列表,可排序

  • entity: 查询实体
  • query: 查询代理层处理,支持设置排序字段

5.6、查询一条记录

getOne(entity):查询一条记录

  • entity 查询实体

5.7、获取总数量

selectCount(entity):获取总数量

  • entity: 查询实体

5.8、判断是否存在

exists(entity):判断是否存在

  • entity: 查询实体

5.8、新增

save(entity):新增

  • entity: 实体

5.9、根据id修改

updateById(entity):根据id修改

  • entity: 实体

5.10、根据id删除

removeById(id):根据id删除

  • id: 实体

5.11、根据entity删除

remove(entity):根据entity删除

  • entity: 实体

5.12、根据ids批量删除

removeByIds(ids):根据ids批量删除

  • ids: 实体

5.13、批量新增

saveBatch(list):批量新增

  • list: 实体集合

5.14、批量新增

saveBatch(list, batchSize):批量新增

  • list: 需要插入的集合数据
  • batchSize: 插入大小

5.15、批量更新

updateBatch(list):批量更新

  • list: 集合数据

5.16、id设置正序排列

orderById():id设置正序排列

5.17、创建时间设置正序排列

orderByCreateTime():创建时间设置正序排列

5.18、更新时间设置正序排列

orderByUpdateTime():更新时间设置正序排列

5.19、设置正序排列

orderByAsc(orderByField):设置正序排列

  • orderByField: 排序字段

5.20、设置倒序排列

orderByDesc(orderByField):设置倒序排列

  • orderByField: 排序字段

5.21、用户自定义排序方案

orderBy(orderByField):用户自定义排序方案

  • orderByField: 排序字段
',134),n=[s];function r(t,c){return l(),i("div",null,n)}const o=e(d,[["render",r],["__file","api.html.vue"]]),p=JSON.parse('{"path":"/v1.3.0/guide/api.html","title":"核心api","lang":"zh-CN","frontmatter":{"description":"核心api 1、DefService流程定义接口 1.1、导入流程定义 importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象 1.2、保存流程定义 saveXml(def): 传入流程定义id、流程定义xml字符串,保存流程定义数据。def包含如下字段: id: 流程定义id [必传] xmlString: 流...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/v1.3.0/guide/api.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"核心api"}],["meta",{"property":"og:description","content":"核心api 1、DefService流程定义接口 1.1、导入流程定义 importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象 1.2、保存流程定义 saveXml(def): 传入流程定义id、流程定义xml字符串,保存流程定义数据。def包含如下字段: id: 流程定义id [必传] xmlString: 流..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"核心api\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、DefService流程定义接口","slug":"_1、defservice流程定义接口","link":"#_1、defservice流程定义接口","children":[{"level":3,"title":"1.1、导入流程定义","slug":"_1-1、导入流程定义","link":"#_1-1、导入流程定义","children":[]},{"level":3,"title":"1.2、保存流程定义","slug":"_1-2、保存流程定义","link":"#_1-2、保存流程定义","children":[]},{"level":3,"title":"1.3、保存流程定义","slug":"_1-3、保存流程定义","link":"#_1-3、保存流程定义","children":[]},{"level":3,"title":"1.4、导出流程定义","slug":"_1-4、导出流程定义","link":"#_1-4、导出流程定义","children":[]},{"level":3,"title":"1.5、获取流程定义","slug":"_1-5、获取流程定义","link":"#_1-5、获取流程定义","children":[]},{"level":3,"title":"1.6、删除","slug":"_1-6、删除","link":"#_1-6、删除","children":[]},{"level":3,"title":"1.7、发布","slug":"_1-7、发布","link":"#_1-7、发布","children":[]},{"level":3,"title":"1.8、取消发布","slug":"_1-8、取消发布","link":"#_1-8、取消发布","children":[]},{"level":3,"title":"1.9、复制流程","slug":"_1-9、复制流程","link":"#_1-9、复制流程","children":[]},{"level":3,"title":"1.10、获取流程图","slug":"_1-10、获取流程图","link":"#_1-10、获取流程图","children":[]},{"level":3,"title":"1.11、激活流程","slug":"_1-11、激活流程","link":"#_1-11、激活流程","children":[]},{"level":3,"title":"1.12、挂起流程","slug":"_1-12、挂起流程","link":"#_1-12、挂起流程","children":[]}]},{"level":2,"title":"2、InsService流程实例接口","slug":"_2、insservice流程实例接口","link":"#_2、insservice流程实例接口","children":[{"level":3,"title":"2.1、开启流程","slug":"_2-1、开启流程","link":"#_2-1、开启流程","children":[]},{"level":3,"title":"2.2、流程跳转","slug":"_2-2、流程跳转","link":"#_2-2、流程跳转","children":[]},{"level":3,"title":"2.3、终止流程","slug":"_2-3、终止流程","link":"#_2-3、终止流程","children":[]},{"level":3,"title":"2.4、删除流程实例","slug":"_2-4、删除流程实例","link":"#_2-4、删除流程实例","children":[]},{"level":3,"title":"2.5、激活实例","slug":"_2-5、激活实例","link":"#_2-5、激活实例","children":[]},{"level":3,"title":"2.6、挂起实例","slug":"_2-6、挂起实例","link":"#_2-6、挂起实例","children":[]}]},{"level":2,"title":"3、TaskService待办任务接口","slug":"_3、taskservice待办任务接口","link":"#_3、taskservice待办任务接口","children":[{"level":3,"title":"3.1、流程跳转","slug":"_3-1、流程跳转","link":"#_3-1、流程跳转","children":[]},{"level":3,"title":"3.2、终止流程","slug":"_3-2、终止流程","link":"#_3-2、终止流程","children":[]},{"level":3,"title":"3.3、转办","slug":"_3-3、转办","link":"#_3-3、转办","children":[]},{"level":3,"title":"3.4、委派","slug":"_3-4、委派","link":"#_3-4、委派","children":[]},{"level":3,"title":"3.5、加签","slug":"_3-5、加签","link":"#_3-5、加签","children":[]},{"level":3,"title":"3.6、减签","slug":"_3-6、减签","link":"#_3-6、减签","children":[]},{"level":3,"title":"3.7、修改办理人","slug":"_3-7、修改办理人","link":"#_3-7、修改办理人","children":[]}]},{"level":2,"title":"4、NodeService节点接口","slug":"_4、nodeservice节点接口","link":"#_4、nodeservice节点接口","children":[{"level":3,"title":"4.1、获取下一个节点列表","slug":"_4-1、获取下一个节点列表","link":"#_4-1、获取下一个节点列表","children":[]}]},{"level":2,"title":"5、公共api接口","slug":"_5、公共api接口","link":"#_5、公共api接口","children":[{"level":3,"title":"5.1、根据id查询","slug":"_5-1、根据id查询","link":"#_5-1、根据id查询","children":[]},{"level":3,"title":"5.2、根据ids主键集合查询","slug":"_5-2、根据ids主键集合查询","link":"#_5-2、根据ids主键集合查询","children":[]},{"level":3,"title":"5.3、分页查询","slug":"_5-3、分页查询","link":"#_5-3、分页查询","children":[]},{"level":3,"title":"5.4、查询列表","slug":"_5-4、查询列表","link":"#_5-4、查询列表","children":[]},{"level":3,"title":"5.5、查询列表,可排序","slug":"_5-5、查询列表-可排序","link":"#_5-5、查询列表-可排序","children":[]},{"level":3,"title":"5.6、查询一条记录","slug":"_5-6、查询一条记录","link":"#_5-6、查询一条记录","children":[]},{"level":3,"title":"5.7、获取总数量","slug":"_5-7、获取总数量","link":"#_5-7、获取总数量","children":[]},{"level":3,"title":"5.8、判断是否存在","slug":"_5-8、判断是否存在","link":"#_5-8、判断是否存在","children":[]},{"level":3,"title":"5.8、新增","slug":"_5-8、新增","link":"#_5-8、新增","children":[]},{"level":3,"title":"5.9、根据id修改","slug":"_5-9、根据id修改","link":"#_5-9、根据id修改","children":[]},{"level":3,"title":"5.10、根据id删除","slug":"_5-10、根据id删除","link":"#_5-10、根据id删除","children":[]},{"level":3,"title":"5.11、根据entity删除","slug":"_5-11、根据entity删除","link":"#_5-11、根据entity删除","children":[]},{"level":3,"title":"5.12、根据ids批量删除","slug":"_5-12、根据ids批量删除","link":"#_5-12、根据ids批量删除","children":[]},{"level":3,"title":"5.13、批量新增","slug":"_5-13、批量新增","link":"#_5-13、批量新增","children":[]},{"level":3,"title":"5.14、批量新增","slug":"_5-14、批量新增","link":"#_5-14、批量新增","children":[]},{"level":3,"title":"5.15、批量更新","slug":"_5-15、批量更新","link":"#_5-15、批量更新","children":[]},{"level":3,"title":"5.16、id设置正序排列","slug":"_5-16、id设置正序排列","link":"#_5-16、id设置正序排列","children":[]},{"level":3,"title":"5.17、创建时间设置正序排列","slug":"_5-17、创建时间设置正序排列","link":"#_5-17、创建时间设置正序排列","children":[]},{"level":3,"title":"5.18、更新时间设置正序排列","slug":"_5-18、更新时间设置正序排列","link":"#_5-18、更新时间设置正序排列","children":[]},{"level":3,"title":"5.19、设置正序排列","slug":"_5-19、设置正序排列","link":"#_5-19、设置正序排列","children":[]},{"level":3,"title":"5.20、设置倒序排列","slug":"_5-20、设置倒序排列","link":"#_5-20、设置倒序排列","children":[]},{"level":3,"title":"5.21、用户自定义排序方案","slug":"_5-21、用户自定义排序方案","link":"#_5-21、用户自定义排序方案","children":[]}]}],"git":{"createdTime":1718084392000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":6.63,"words":1990},"filePathRelative":"v1.3.0/guide/api.md","localizedDate":"2024年6月11日","autoDesc":true,"excerpt":"\\n

1、DefService流程定义接口

\\n

1.1、导入流程定义

\\n

importXml(is):导入流程定义xml的输入流is,保存流程定义数据,返回流程定义对象

\\n

1.2、保存流程定义

\\n

saveXml(def): 传入流程定义id、流程定义xml字符串,保存流程定义数据。def包含如下字段:

\\n
    \\n
  • id: 流程定义id [必传]
  • \\n
  • xmlString: 流程定义xml字符串 [必传]
  • \\n
\\n

1.3、保存流程定义

"}');export{o as comp,p as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/api.html-m-D69_L7.js b/warm-flow-doc/src/.vuepress/dist/assets/api.html-m-D69_L7.js new file mode 100644 index 0000000000000000000000000000000000000000..d6b83c069cb7ed7e1310ba5c02f8a8d84e43ab08 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/api.html-m-D69_L7.js @@ -0,0 +1 @@ +import{_ as e,c as i,o as l,b as a}from"./app-NEH0cjHY.js";const d={},n=a('

核心api

1、DefService流程定义接口

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

checkAndSave(definition):校验后新增

1.2、新增流程定义,并初始化流程节点和流程跳转数据

saveAndInitNode(definition):校验后新增

1.3、导入流程定义、流程节点和流程跳转数据

importXml(is):导入流程定义xml的输入流

1.4、保存流程节点和流程跳转数据

saveXml(def): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id [必传]
  • xmlString: 流程定义xml字符串 [必传]

1.5、保存流程节点和流程跳转数据

saveXml(id, xmlString): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id
  • xmlString: 流程定义xml字符串

1.6、导出流程定义

exportXml(id): 导出流程定义(流程定义、流程节点和流程跳转数据)xml的Document对象

1.7、获取流程定义

xmlString(id): 获取流程定义xml(流程定义、流程节点和流程跳转数据)的字符串

1.8、删除

removeDef(ids): 删除流程定义相关数据

1.9、发布

publish(id): 发布流程定义

1.10、取消发布

unPublish(id): 取消发布流程定义

1.11、复制流程

copyDef(id): 复制流程定义

1.12、获取流程图

flowChart(instanceId): 获取流程图的图片流

1.13、激活流程

active(Long id): 激活流程

1.14、挂起流程

unActive(Long id): 挂起流程:流程定义挂起后,相关的流程实例都无法继续流转

2、InsService流程实例接口

2.1、开启流程

start(businessId, flowParams):传入业务id,开启流程实例。flowParams包含如下字段:

  • flowCode: 流程编码 [必传]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • ext: 扩展字段,预留给业务系统使用 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.2、流程跳转

skipByInsId(instanceId, flowParams):传入流程实例id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等, 流程设计时未设置办理人或者ignore为true可不传 [按需传输]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.3、终止流程

termination(instanceId, flowParams):传入流程实例id,终止流程。flowParams包含如下字段:

  • handler: 办理人唯一标识 [建议传]
  • message: 审批意见 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.4、删除流程实例

remove(instanceIds):根据实例ids,删除流程

2.5、激活实例

active(Long id): 激活实例

2.6、挂起实例

unActive(Long id): 挂起实例,流程实例挂起后,该流程实例无法继续流转

2.7、根据流程定义id集合,查询流程实例集合

listByDefIds(defIds):根据流程定义id集合,查询流程实例集合

3、TaskService待办任务接口

3.1、流程跳转

skip(taskId, flowParams):传入流程任务id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等, 流程设计时未设置办理人或者ignore为true可不传 [按需传输]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.2、终止流程

termination(taskId, flowParams):传入流程任务id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.3、转办

transfer(taskId, flowParams):转办, 默认删除当然办理用户权限,转办后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • addHandlers: 转办对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.4、委派

depute(taskId, flowParams):委派, 默认删除当然办理用户权限,委派后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • addHandlers: 委托对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.5、加签

addSignature(taskId, flowParams):加签,增加办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • addHandlers: 加签对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.6、减签

reductionSignature(taskId, flowParams):减签,减少办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户所拥有的权限标识[按需传输,ignore为false,则必传]
  • reductionHandlers: 减少办理人 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.7、修改办理人

updateHandler(taskId, flowParams):传入流程任务id,修改办理人

  • handler: 办理人唯一标识 [按需传输]
  • permissionFlag: 用户所拥有的权限标识 [按需传输,ignore为false,则必传]
  • addHandlers: 增加办理人:加签,转办,委托 [按需传输]
  • reductionHandlers: 减少办理人:减签,委托 [按需传输]
  • message: 审批意见 [按需传输]
  • cooperateType: 协作方式(2转办 3委派 6加签 7减签)[按需传输]
  • ignore: 转办忽略权限校验(true:忽略,false:不忽略)[按需传输]

4、NodeService节点接口

4.1、获取下一个节点列表

getNextNodeList(definitionId, nowNodeCode, anyNodeCode, skipType, variable):根据流程定义和当前节点code获取下一节点,如是网关跳过取下一节点,并行网关返回多个节点

  • definitionId: 流程定义id [必传]
  • nowNodeCode: 当前节点code [必传]
  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • anyNodeCode: anyNodeCode不为空,则可跳转anyNodeCode节点(优先级最高) [按需传输]
  • variable: 流程变量,下一个节点是网关需要判断跳转条件,并行网关返回多个节点 [按需传输]

5、公共api接口

5.1、根据id查询

getById(id):根据id查询

  • id: 主键

5.2、根据ids主键集合查询

getByIds(ids):根据ids主键集合查询

  • ids: 主键集合

5.3、分页查询

getById(entity, page):分页查询

  • entity: 查询实体
  • page: 分页对象,支持设置排序字段

5.4、查询列表

list(entity):查询列表

  • entity: 查询实体

5.5、查询列表,可排序

list(entity, query):查询列表,可排序

  • entity: 查询实体
  • query: 查询代理层处理,支持设置排序字段

5.6、查询一条记录

getOne(entity):查询一条记录

  • entity 查询实体

5.7、获取总数量

selectCount(entity):获取总数量

  • entity: 查询实体

5.8、判断是否存在

exists(entity):判断是否存在

  • entity: 查询实体

5.8、新增

save(entity):新增

  • entity: 实体

5.9、根据id修改

updateById(entity):根据id修改

  • entity: 实体

5.10、根据id删除

removeById(id):根据id删除

  • id: 实体

5.11、根据entity删除

remove(entity):根据entity删除

  • entity: 实体

5.12、根据ids批量删除

removeByIds(ids):根据ids批量删除

  • ids: 实体

5.13、批量新增

saveBatch(list):批量新增

  • list: 实体集合

5.14、批量新增

saveBatch(list, batchSize):批量新增

  • list: 需要插入的集合数据
  • batchSize: 插入大小

5.15、批量更新

updateBatch(list):批量更新

  • list: 集合数据

5.16、id设置正序排列

orderById():id设置正序排列

5.17、创建时间设置正序排列

orderByCreateTime():创建时间设置正序排列

5.18、更新时间设置正序排列

orderByUpdateTime():更新时间设置正序排列

5.19、设置正序排列

orderByAsc(orderByField):设置正序排列

  • orderByField: 排序字段

5.20、设置倒序排列

orderByDesc(orderByField):设置倒序排列

  • orderByField: 排序字段

5.21、用户自定义排序方案

orderBy(orderByField):用户自定义排序方案

  • orderByField: 排序字段
',140),s=[n];function r(t,h){return l(),i("div",null,s)}const o=e(d,[["render",r],["__file","api.html.vue"]]),p=JSON.parse('{"path":"/v1.3.4/guide/api.html","title":"核心api","lang":"zh-CN","frontmatter":{"description":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.2、新增流程定义,并初始化流程节点和流程跳转数据 saveAndInitNode(definition):校验后新增 1.3、导入流程定义、流程节点和...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/v1.3.4/guide/api.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"核心api"}],["meta",{"property":"og:description","content":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.2、新增流程定义,并初始化流程节点和流程跳转数据 saveAndInitNode(definition):校验后新增 1.3、导入流程定义、流程节点和..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"核心api\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、DefService流程定义接口","slug":"_1、defservice流程定义接口","link":"#_1、defservice流程定义接口","children":[{"level":3,"title":"1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据","slug":"_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","link":"#_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.2、新增流程定义,并初始化流程节点和流程跳转数据","slug":"_1-2、新增流程定义-并初始化流程节点和流程跳转数据","link":"#_1-2、新增流程定义-并初始化流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.3、导入流程定义、流程节点和流程跳转数据","slug":"_1-3、导入流程定义、流程节点和流程跳转数据","link":"#_1-3、导入流程定义、流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.4、保存流程节点和流程跳转数据","slug":"_1-4、保存流程节点和流程跳转数据","link":"#_1-4、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.5、保存流程节点和流程跳转数据","slug":"_1-5、保存流程节点和流程跳转数据","link":"#_1-5、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.6、导出流程定义","slug":"_1-6、导出流程定义","link":"#_1-6、导出流程定义","children":[]},{"level":3,"title":"1.7、获取流程定义","slug":"_1-7、获取流程定义","link":"#_1-7、获取流程定义","children":[]},{"level":3,"title":"1.8、删除","slug":"_1-8、删除","link":"#_1-8、删除","children":[]},{"level":3,"title":"1.9、发布","slug":"_1-9、发布","link":"#_1-9、发布","children":[]},{"level":3,"title":"1.10、取消发布","slug":"_1-10、取消发布","link":"#_1-10、取消发布","children":[]},{"level":3,"title":"1.11、复制流程","slug":"_1-11、复制流程","link":"#_1-11、复制流程","children":[]},{"level":3,"title":"1.12、获取流程图","slug":"_1-12、获取流程图","link":"#_1-12、获取流程图","children":[]},{"level":3,"title":"1.13、激活流程","slug":"_1-13、激活流程","link":"#_1-13、激活流程","children":[]},{"level":3,"title":"1.14、挂起流程","slug":"_1-14、挂起流程","link":"#_1-14、挂起流程","children":[]}]},{"level":2,"title":"2、InsService流程实例接口","slug":"_2、insservice流程实例接口","link":"#_2、insservice流程实例接口","children":[{"level":3,"title":"2.1、开启流程","slug":"_2-1、开启流程","link":"#_2-1、开启流程","children":[]},{"level":3,"title":"2.2、流程跳转","slug":"_2-2、流程跳转","link":"#_2-2、流程跳转","children":[]},{"level":3,"title":"2.3、终止流程","slug":"_2-3、终止流程","link":"#_2-3、终止流程","children":[]},{"level":3,"title":"2.4、删除流程实例","slug":"_2-4、删除流程实例","link":"#_2-4、删除流程实例","children":[]},{"level":3,"title":"2.5、激活实例","slug":"_2-5、激活实例","link":"#_2-5、激活实例","children":[]},{"level":3,"title":"2.6、挂起实例","slug":"_2-6、挂起实例","link":"#_2-6、挂起实例","children":[]},{"level":3,"title":"2.7、根据流程定义id集合,查询流程实例集合","slug":"_2-7、根据流程定义id集合-查询流程实例集合","link":"#_2-7、根据流程定义id集合-查询流程实例集合","children":[]}]},{"level":2,"title":"3、TaskService待办任务接口","slug":"_3、taskservice待办任务接口","link":"#_3、taskservice待办任务接口","children":[{"level":3,"title":"3.1、流程跳转","slug":"_3-1、流程跳转","link":"#_3-1、流程跳转","children":[]},{"level":3,"title":"3.2、终止流程","slug":"_3-2、终止流程","link":"#_3-2、终止流程","children":[]},{"level":3,"title":"3.3、转办","slug":"_3-3、转办","link":"#_3-3、转办","children":[]},{"level":3,"title":"3.4、委派","slug":"_3-4、委派","link":"#_3-4、委派","children":[]},{"level":3,"title":"3.5、加签","slug":"_3-5、加签","link":"#_3-5、加签","children":[]},{"level":3,"title":"3.6、减签","slug":"_3-6、减签","link":"#_3-6、减签","children":[]},{"level":3,"title":"3.7、修改办理人","slug":"_3-7、修改办理人","link":"#_3-7、修改办理人","children":[]}]},{"level":2,"title":"4、NodeService节点接口","slug":"_4、nodeservice节点接口","link":"#_4、nodeservice节点接口","children":[{"level":3,"title":"4.1、获取下一个节点列表","slug":"_4-1、获取下一个节点列表","link":"#_4-1、获取下一个节点列表","children":[]}]},{"level":2,"title":"5、公共api接口","slug":"_5、公共api接口","link":"#_5、公共api接口","children":[{"level":3,"title":"5.1、根据id查询","slug":"_5-1、根据id查询","link":"#_5-1、根据id查询","children":[]},{"level":3,"title":"5.2、根据ids主键集合查询","slug":"_5-2、根据ids主键集合查询","link":"#_5-2、根据ids主键集合查询","children":[]},{"level":3,"title":"5.3、分页查询","slug":"_5-3、分页查询","link":"#_5-3、分页查询","children":[]},{"level":3,"title":"5.4、查询列表","slug":"_5-4、查询列表","link":"#_5-4、查询列表","children":[]},{"level":3,"title":"5.5、查询列表,可排序","slug":"_5-5、查询列表-可排序","link":"#_5-5、查询列表-可排序","children":[]},{"level":3,"title":"5.6、查询一条记录","slug":"_5-6、查询一条记录","link":"#_5-6、查询一条记录","children":[]},{"level":3,"title":"5.7、获取总数量","slug":"_5-7、获取总数量","link":"#_5-7、获取总数量","children":[]},{"level":3,"title":"5.8、判断是否存在","slug":"_5-8、判断是否存在","link":"#_5-8、判断是否存在","children":[]},{"level":3,"title":"5.8、新增","slug":"_5-8、新增","link":"#_5-8、新增","children":[]},{"level":3,"title":"5.9、根据id修改","slug":"_5-9、根据id修改","link":"#_5-9、根据id修改","children":[]},{"level":3,"title":"5.10、根据id删除","slug":"_5-10、根据id删除","link":"#_5-10、根据id删除","children":[]},{"level":3,"title":"5.11、根据entity删除","slug":"_5-11、根据entity删除","link":"#_5-11、根据entity删除","children":[]},{"level":3,"title":"5.12、根据ids批量删除","slug":"_5-12、根据ids批量删除","link":"#_5-12、根据ids批量删除","children":[]},{"level":3,"title":"5.13、批量新增","slug":"_5-13、批量新增","link":"#_5-13、批量新增","children":[]},{"level":3,"title":"5.14、批量新增","slug":"_5-14、批量新增","link":"#_5-14、批量新增","children":[]},{"level":3,"title":"5.15、批量更新","slug":"_5-15、批量更新","link":"#_5-15、批量更新","children":[]},{"level":3,"title":"5.16、id设置正序排列","slug":"_5-16、id设置正序排列","link":"#_5-16、id设置正序排列","children":[]},{"level":3,"title":"5.17、创建时间设置正序排列","slug":"_5-17、创建时间设置正序排列","link":"#_5-17、创建时间设置正序排列","children":[]},{"level":3,"title":"5.18、更新时间设置正序排列","slug":"_5-18、更新时间设置正序排列","link":"#_5-18、更新时间设置正序排列","children":[]},{"level":3,"title":"5.19、设置正序排列","slug":"_5-19、设置正序排列","link":"#_5-19、设置正序排列","children":[]},{"level":3,"title":"5.20、设置倒序排列","slug":"_5-20、设置倒序排列","link":"#_5-20、设置倒序排列","children":[]},{"level":3,"title":"5.21、用户自定义排序方案","slug":"_5-21、用户自定义排序方案","link":"#_5-21、用户自定义排序方案","children":[]}]}],"git":{"createdTime":1718084392000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":7.75,"words":2325},"filePathRelative":"v1.3.4/guide/api.md","localizedDate":"2024年6月11日","autoDesc":true,"excerpt":"\\n

1、DefService流程定义接口

\\n

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

\\n

checkAndSave(definition):校验后新增

\\n

1.2、新增流程定义,并初始化流程节点和流程跳转数据

\\n

saveAndInitNode(definition):校验后新增

\\n

1.3、导入流程定义、流程节点和流程跳转数据

\\n

importXml(is):导入流程定义xml的输入流

"}');export{o as comp,p as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/api.html-oaCD1ICF.js b/warm-flow-doc/src/.vuepress/dist/assets/api.html-oaCD1ICF.js new file mode 100644 index 0000000000000000000000000000000000000000..8eb2d4e8defe29e795e134ed0912b6ab475a7291 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/api.html-oaCD1ICF.js @@ -0,0 +1 @@ +import{_ as e,c as l,o as i,b as a}from"./app-NEH0cjHY.js";const d={},n=a('

核心api

1、DefService流程定义接口

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

checkAndSave(definition):校验后新增

1.1、导入流程定义、流程节点和流程跳转数据

importXml(is):导入流程定义xml的输入流

1.2、保存流程节点和流程跳转数据

saveXml(def): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id [必传]
  • xmlString: 流程定义xml字符串 [必传]

1.3、保存流程节点和流程跳转数据

saveXml(id, xmlString): 传入流程定义id、流程定义xml字符串

  • id: 流程定义id
  • xmlString: 流程定义xml字符串

1.4、导出流程定义

exportXml(id): 导出流程定义(流程定义、流程节点和流程跳转数据)xml的Document对象

1.5、获取流程定义

xmlString(id): 获取流程定义xml(流程定义、流程节点和流程跳转数据)的字符串

1.6、删除

removeDef(ids): 删除流程定义相关数据

1.7、发布

publish(id): 发布流程定义

1.8、取消发布

unPublish(id): 取消发布流程定义

1.9、复制流程

copyDef(id): 复制流程定义

1.10、获取流程图

flowChart(instanceId): 获取流程图的图片流

1.11、激活流程

active(Long id): 激活流程

1.12、挂起流程

unActive(Long id): 挂起流程:流程定义挂起后,相关的流程实例都无法继续流转

2、InsService流程实例接口

2.1、开启流程

start(businessId, flowParams):传入业务id,开启流程实例。flowParams包含如下字段:

  • flowCode: 流程编码 [必传]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • ext: 扩展字段,预留给业务系统使用 [按需传输]
  • flowStatus: 流程状态,自定义流程状态[按需传输]

2.2、流程跳转

skipByInsId(instanceId, flowParams):传入流程实例id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等, 流程设计时未设置办理人或者ignore为true可不传 [按需传输]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.3、终止流程

termination(instanceId, flowParams):传入流程实例id,终止流程。flowParams包含如下字段:

  • handler: 办理人唯一标识 [建议传]
  • message: 审批意见 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

2.4、删除流程实例

remove(instanceIds):根据实例ids,删除流程

2.5、激活实例

active(Long id): 激活实例

2.6、挂起实例

unActive(Long id): 挂起实例,流程实例挂起后,该流程实例无法继续流转

3、TaskService待办任务接口

3.1、流程跳转

skip(taskId, flowParams):传入流程任务id,流程跳转。flowParams包含如下字段:

  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • nodeCode: 节点编码,如果指定节点,可任意跳转到对应节点 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等, 流程设计时未设置办理人或者ignore为true可不传 [按需传输]
  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • variable: 流程变量 [按需传输]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.2、终止流程

termination(taskId, flowParams):传入流程任务id,终止流程。flowParams包含如下字段:

  • message: 审批意见 [按需传输]
  • handler: 办理人唯一标识 [建议传]
  • flowStatus: 流程状态,自定义流程状态 [按需传输]
  • permissionFlag: 办理人权限标识,比如用户,角色,部门等,不传不校验权限 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.3、转办

transfer(taskId, flowParams):转办, 默认删除当然办理用户权限,转办后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 转办对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.4、委派

depute(taskId, flowParams):委派, 默认删除当然办理用户权限,委派后,当前办理不可办理。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 委托对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.5、加签

addSignature(taskId, flowParams):加签,增加办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • addHandlers: 加签对象 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.6、减签

reductionSignature(taskId, flowParams):减签,减少办理人。flowParams包含如下字段:

  • handler: 当前办理人唯一标识 [必传]
  • permissionFlag: 用户权限标识集合 [必传]
  • reductionHandlers: 减少办理人 [必传]
  • message: 审批意见 [按需传输]
  • ignore: 转办忽略权限校验,默认不忽略(true:忽略,false:不忽略)[按需传输]

3.7、修改办理人

updateHandler(taskId, flowParams):传入流程任务id,修改办理人

  • handler: 办理人唯一标识 [按需传输]
  • permissionFlag: 用户所拥有的权限标识 [按需传输,ignore为false,则必传]
  • addHandlers: 增加办理人:加签,转办,委托 [按需传输]
  • reductionHandlers: 减少办理人:减签,委托 [按需传输]
  • message: 审批意见 [按需传输]
  • cooperateType: 协作方式(2转办 3委派 6加签 7减签)[按需传输]
  • ignore: 转办忽略权限校验(true:忽略,false:不忽略)[按需传输]

4、NodeService节点接口

4.1、获取下一个节点列表

getNextNodeList(definitionId, nowNodeCode, anyNodeCode, skipType, variable):根据流程定义和当前节点code获取下一节点,如是网关跳过取下一节点,并行网关返回多个节点

  • definitionId: 流程定义id [必传]
  • nowNodeCode: 当前节点code [必传]
  • skipType: 跳转类型(PASS审批通过 REJECT退回) [必传]
  • anyNodeCode: anyNodeCode不为空,则可跳转anyNodeCode节点(优先级最高) [按需传输]
  • variable: 流程变量,下一个节点是网关需要判断跳转条件,并行网关返回多个节点 [按需传输]

5、公共api接口

5.1、根据id查询

getById(id):根据id查询

  • id: 主键

5.2、根据ids主键集合查询

getByIds(ids):根据ids主键集合查询

  • ids: 主键集合

5.3、分页查询

getById(entity, page):分页查询

  • entity: 查询实体
  • page: 分页对象,支持设置排序字段

5.4、查询列表

list(entity):查询列表

  • entity: 查询实体

5.5、查询列表,可排序

list(entity, query):查询列表,可排序

  • entity: 查询实体
  • query: 查询代理层处理,支持设置排序字段

5.6、查询一条记录

getOne(entity):查询一条记录

  • entity 查询实体

5.7、获取总数量

selectCount(entity):获取总数量

  • entity: 查询实体

5.8、判断是否存在

exists(entity):判断是否存在

  • entity: 查询实体

5.8、新增

save(entity):新增

  • entity: 实体

5.9、根据id修改

updateById(entity):根据id修改

  • entity: 实体

5.10、根据id删除

removeById(id):根据id删除

  • id: 实体

5.11、根据entity删除

remove(entity):根据entity删除

  • entity: 实体

5.12、根据ids批量删除

removeByIds(ids):根据ids批量删除

  • ids: 实体

5.13、批量新增

saveBatch(list):批量新增

  • list: 实体集合

5.14、批量新增

saveBatch(list, batchSize):批量新增

  • list: 需要插入的集合数据
  • batchSize: 插入大小

5.15、批量更新

updateBatch(list):批量更新

  • list: 集合数据

5.16、id设置正序排列

orderById():id设置正序排列

5.17、创建时间设置正序排列

orderByCreateTime():创建时间设置正序排列

5.18、更新时间设置正序排列

orderByUpdateTime():更新时间设置正序排列

5.19、设置正序排列

orderByAsc(orderByField):设置正序排列

  • orderByField: 排序字段

5.20、设置倒序排列

orderByDesc(orderByField):设置倒序排列

  • orderByField: 排序字段

5.21、用户自定义排序方案

orderBy(orderByField):用户自定义排序方案

  • orderByField: 排序字段
',136),s=[n];function r(t,h){return i(),l("div",null,s)}const o=e(d,[["render",r],["__file","api.html.vue"]]),p=JSON.parse('{"path":"/v1.3.3/guide/api.html","title":"核心api","lang":"zh-CN","frontmatter":{"description":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.1、导入流程定义、流程节点和流程跳转数据 importXml(is):导入流程定义xml的输入流 1.2、保存流程节点和流程跳转数据 saveXml(...","head":[["meta",{"property":"og:url","content":"https://gitee.com/warm_4/warm-flow-doc/v1.3.3/guide/api.html"}],["meta",{"property":"og:site_name","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"og:title","content":"核心api"}],["meta",{"property":"og:description","content":"核心api 1、DefService流程定义接口 1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据 checkAndSave(definition):校验后新增 1.1、导入流程定义、流程节点和流程跳转数据 importXml(is):导入流程定义xml的输入流 1.2、保存流程节点和流程跳转数据 saveXml(..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2024-11-29T02:59:30.000Z"}],["meta",{"property":"article:author","content":"Dromara Warm-Flow工作流"}],["meta",{"property":"article:modified_time","content":"2024-11-29T02:59:30.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"核心api\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-11-29T02:59:30.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Dromara Warm-Flow工作流\\",\\"url\\":\\"https://gitee.com/warm_4/warm-flow-doc\\"}]}"]]},"headers":[{"level":2,"title":"1、DefService流程定义接口","slug":"_1、defservice流程定义接口","link":"#_1、defservice流程定义接口","children":[{"level":3,"title":"1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据","slug":"_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","link":"#_1-1、新增流程定义表数据-新增后需要通过savexml接口保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.1、导入流程定义、流程节点和流程跳转数据","slug":"_1-1、导入流程定义、流程节点和流程跳转数据","link":"#_1-1、导入流程定义、流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.2、保存流程节点和流程跳转数据","slug":"_1-2、保存流程节点和流程跳转数据","link":"#_1-2、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.3、保存流程节点和流程跳转数据","slug":"_1-3、保存流程节点和流程跳转数据","link":"#_1-3、保存流程节点和流程跳转数据","children":[]},{"level":3,"title":"1.4、导出流程定义","slug":"_1-4、导出流程定义","link":"#_1-4、导出流程定义","children":[]},{"level":3,"title":"1.5、获取流程定义","slug":"_1-5、获取流程定义","link":"#_1-5、获取流程定义","children":[]},{"level":3,"title":"1.6、删除","slug":"_1-6、删除","link":"#_1-6、删除","children":[]},{"level":3,"title":"1.7、发布","slug":"_1-7、发布","link":"#_1-7、发布","children":[]},{"level":3,"title":"1.8、取消发布","slug":"_1-8、取消发布","link":"#_1-8、取消发布","children":[]},{"level":3,"title":"1.9、复制流程","slug":"_1-9、复制流程","link":"#_1-9、复制流程","children":[]},{"level":3,"title":"1.10、获取流程图","slug":"_1-10、获取流程图","link":"#_1-10、获取流程图","children":[]},{"level":3,"title":"1.11、激活流程","slug":"_1-11、激活流程","link":"#_1-11、激活流程","children":[]},{"level":3,"title":"1.12、挂起流程","slug":"_1-12、挂起流程","link":"#_1-12、挂起流程","children":[]}]},{"level":2,"title":"2、InsService流程实例接口","slug":"_2、insservice流程实例接口","link":"#_2、insservice流程实例接口","children":[{"level":3,"title":"2.1、开启流程","slug":"_2-1、开启流程","link":"#_2-1、开启流程","children":[]},{"level":3,"title":"2.2、流程跳转","slug":"_2-2、流程跳转","link":"#_2-2、流程跳转","children":[]},{"level":3,"title":"2.3、终止流程","slug":"_2-3、终止流程","link":"#_2-3、终止流程","children":[]},{"level":3,"title":"2.4、删除流程实例","slug":"_2-4、删除流程实例","link":"#_2-4、删除流程实例","children":[]},{"level":3,"title":"2.5、激活实例","slug":"_2-5、激活实例","link":"#_2-5、激活实例","children":[]},{"level":3,"title":"2.6、挂起实例","slug":"_2-6、挂起实例","link":"#_2-6、挂起实例","children":[]}]},{"level":2,"title":"3、TaskService待办任务接口","slug":"_3、taskservice待办任务接口","link":"#_3、taskservice待办任务接口","children":[{"level":3,"title":"3.1、流程跳转","slug":"_3-1、流程跳转","link":"#_3-1、流程跳转","children":[]},{"level":3,"title":"3.2、终止流程","slug":"_3-2、终止流程","link":"#_3-2、终止流程","children":[]},{"level":3,"title":"3.3、转办","slug":"_3-3、转办","link":"#_3-3、转办","children":[]},{"level":3,"title":"3.4、委派","slug":"_3-4、委派","link":"#_3-4、委派","children":[]},{"level":3,"title":"3.5、加签","slug":"_3-5、加签","link":"#_3-5、加签","children":[]},{"level":3,"title":"3.6、减签","slug":"_3-6、减签","link":"#_3-6、减签","children":[]},{"level":3,"title":"3.7、修改办理人","slug":"_3-7、修改办理人","link":"#_3-7、修改办理人","children":[]}]},{"level":2,"title":"4、NodeService节点接口","slug":"_4、nodeservice节点接口","link":"#_4、nodeservice节点接口","children":[{"level":3,"title":"4.1、获取下一个节点列表","slug":"_4-1、获取下一个节点列表","link":"#_4-1、获取下一个节点列表","children":[]}]},{"level":2,"title":"5、公共api接口","slug":"_5、公共api接口","link":"#_5、公共api接口","children":[{"level":3,"title":"5.1、根据id查询","slug":"_5-1、根据id查询","link":"#_5-1、根据id查询","children":[]},{"level":3,"title":"5.2、根据ids主键集合查询","slug":"_5-2、根据ids主键集合查询","link":"#_5-2、根据ids主键集合查询","children":[]},{"level":3,"title":"5.3、分页查询","slug":"_5-3、分页查询","link":"#_5-3、分页查询","children":[]},{"level":3,"title":"5.4、查询列表","slug":"_5-4、查询列表","link":"#_5-4、查询列表","children":[]},{"level":3,"title":"5.5、查询列表,可排序","slug":"_5-5、查询列表-可排序","link":"#_5-5、查询列表-可排序","children":[]},{"level":3,"title":"5.6、查询一条记录","slug":"_5-6、查询一条记录","link":"#_5-6、查询一条记录","children":[]},{"level":3,"title":"5.7、获取总数量","slug":"_5-7、获取总数量","link":"#_5-7、获取总数量","children":[]},{"level":3,"title":"5.8、判断是否存在","slug":"_5-8、判断是否存在","link":"#_5-8、判断是否存在","children":[]},{"level":3,"title":"5.8、新增","slug":"_5-8、新增","link":"#_5-8、新增","children":[]},{"level":3,"title":"5.9、根据id修改","slug":"_5-9、根据id修改","link":"#_5-9、根据id修改","children":[]},{"level":3,"title":"5.10、根据id删除","slug":"_5-10、根据id删除","link":"#_5-10、根据id删除","children":[]},{"level":3,"title":"5.11、根据entity删除","slug":"_5-11、根据entity删除","link":"#_5-11、根据entity删除","children":[]},{"level":3,"title":"5.12、根据ids批量删除","slug":"_5-12、根据ids批量删除","link":"#_5-12、根据ids批量删除","children":[]},{"level":3,"title":"5.13、批量新增","slug":"_5-13、批量新增","link":"#_5-13、批量新增","children":[]},{"level":3,"title":"5.14、批量新增","slug":"_5-14、批量新增","link":"#_5-14、批量新增","children":[]},{"level":3,"title":"5.15、批量更新","slug":"_5-15、批量更新","link":"#_5-15、批量更新","children":[]},{"level":3,"title":"5.16、id设置正序排列","slug":"_5-16、id设置正序排列","link":"#_5-16、id设置正序排列","children":[]},{"level":3,"title":"5.17、创建时间设置正序排列","slug":"_5-17、创建时间设置正序排列","link":"#_5-17、创建时间设置正序排列","children":[]},{"level":3,"title":"5.18、更新时间设置正序排列","slug":"_5-18、更新时间设置正序排列","link":"#_5-18、更新时间设置正序排列","children":[]},{"level":3,"title":"5.19、设置正序排列","slug":"_5-19、设置正序排列","link":"#_5-19、设置正序排列","children":[]},{"level":3,"title":"5.20、设置倒序排列","slug":"_5-20、设置倒序排列","link":"#_5-20、设置倒序排列","children":[]},{"level":3,"title":"5.21、用户自定义排序方案","slug":"_5-21、用户自定义排序方案","link":"#_5-21、用户自定义排序方案","children":[]}]}],"git":{"createdTime":1718084392000,"updatedTime":1732849170000,"contributors":[{"name":"warm","email":"290631660@qq.com","commits":1}]},"readingTime":{"minutes":7.4,"words":2219},"filePathRelative":"v1.3.3/guide/api.md","localizedDate":"2024年6月11日","autoDesc":true,"excerpt":"\\n

1、DefService流程定义接口

\\n

1.1、新增流程定义表数据,新增后需要通过saveXml接口保存流程节点和流程跳转数据

\\n

checkAndSave(definition):校验后新增

\\n

1.1、导入流程定义、流程节点和流程跳转数据

\\n

importXml(is):导入流程定义xml的输入流

\\n

1.2、保存流程节点和流程跳转数据

\\n

saveXml(def): 传入流程定义id、流程定义xml字符串

\\n
    \\n
  • id: 流程定义id [必传]
  • \\n
  • xmlString: 流程定义xml字符串 [必传]
  • \\n
"}');export{o as comp,p as data}; diff --git a/warm-flow-doc/src/.vuepress/dist/assets/app-NEH0cjHY.js b/warm-flow-doc/src/.vuepress/dist/assets/app-NEH0cjHY.js new file mode 100644 index 0000000000000000000000000000000000000000..2f1f60063793fe3bac13fd0805c5f484171fc110 --- /dev/null +++ b/warm-flow-doc/src/.vuepress/dist/assets/app-NEH0cjHY.js @@ -0,0 +1,37 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/processdemo.html-hWLjMsi1.js","assets/addIns-Dmk_nNFI.js","assets/listener.html-fsNBth_I.js","assets/assignmentlistener-Byspbm7-.js","assets/listener.html-BOFoVt_U.js","assets/defNode-FsfENVZi.js","assets/listener1-ACLRt43r.js","assets/processdemo.html-WMbuD_Yw.js","assets/listener.html-DRdH9pov.js","assets/processdemo.html-CR88_h0D.js","assets/listener.html-CazPCO3k.js","assets/processdemo.html-CiJsczSE.js","assets/listener.html-Ce97pusp.js","assets/processdemo.html-BDLvehd4.js","assets/listener.html-CITBKrL6.js","assets/processdemo.html-Bs6TiUVU.js"])))=>i.map(i=>d[i]); +/** +* @vue/shared v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function hl(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Te={},An=[],lt=()=>{},Ou=()=>!1,mr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),gl=e=>e.startsWith("onUpdate:"),Pe=Object.assign,_l=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ru=Object.prototype.hasOwnProperty,se=(e,t)=>Ru.call(e,t),ee=Array.isArray,Cn=e=>no(e)==="[object Map]",Mi=e=>no(e)==="[object Set]",ne=e=>typeof e=="function",Se=e=>typeof e=="string",Gt=e=>typeof e=="symbol",he=e=>e!==null&&typeof e=="object",$i=e=>(he(e)||ne(e))&&ne(e.then)&&ne(e.catch),Vi=Object.prototype.toString,no=e=>Vi.call(e),Iu=e=>no(e).slice(8,-1),Ni=e=>no(e)==="[object Object]",bl=e=>Se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Sn=hl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ro=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Du=/-(\w)/g,Xe=ro(e=>e.replace(Du,(t,n)=>n?n.toUpperCase():"")),Mu=/\B([A-Z])/g,mn=ro(e=>e.replace(Mu,"-$1").toLowerCase()),vr=ro(e=>e.charAt(0).toUpperCase()+e.slice(1)),bo=ro(e=>e?`on${vr(e)}`:""),Wt=(e,t)=>!Object.is(e,t),yo=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},$u=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Vu=e=>{const t=Se(e)?Number(e):NaN;return isNaN(t)?e:t};let da;const Fi=()=>da||(da=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function yl(e){if(ee(e)){const t={};for(let n=0;n{if(n){const r=n.split(Bu);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function El(e){let t="";if(Se(e))t=e;else if(ee(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Wu=e=>Se(e)?e:e==null?"":ee(e)||he(e)&&(e.toString===Vi||!ne(e.toString))?Hi(e)?Wu(e.value):JSON.stringify(e,zi,2):String(e),zi=(e,t)=>Hi(t)?zi(e,t.value):Cn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,o],l)=>(n[Eo(r,l)+" =>"]=o,n),{})}:Mi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Eo(n))}:Gt(t)?Eo(t):he(t)&&!ee(t)&&!Ni(t)?String(t):t,Eo=(e,t="")=>{var n;return Gt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ke;class qu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ke;try{return Ke=this,t()}finally{Ke=n}}}on(){Ke=this}off(){Ke=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Yt()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=jt,n=sn;try{return jt=!0,sn=this,this._runnings++,fa(this),this.fn()}finally{pa(this),this._runnings--,sn=n,jt=t}}stop(){this.active&&(fa(this),pa(this),this.onStop&&this.onStop(),this.active=!1)}}function Ku(e){return e.value}function fa(e){e._trackId++,e._depsLength=0}function pa(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},Gr=new WeakMap,cn=Symbol(""),Ko=Symbol("");function qe(e,t,n){if(jt&&sn){let r=Gr.get(e);r||Gr.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=Yi(()=>r.delete(n))),Gi(sn,o)}}function St(e,t,n,r,o,l){const a=Gr.get(e);if(!a)return;let i=[];if(t==="clear")i=[...a.values()];else if(n==="length"&&ee(e)){const s=Number(r);a.forEach((c,d)=>{(d==="length"||!Gt(d)&&d>=s)&&i.push(c)})}else switch(n!==void 0&&i.push(a.get(n)),t){case"add":ee(e)?bl(n)&&i.push(a.get("length")):(i.push(a.get(cn)),Cn(e)&&i.push(a.get(Ko)));break;case"delete":ee(e)||(i.push(a.get(cn)),Cn(e)&&i.push(a.get(Ko)));break;case"set":Cn(e)&&i.push(a.get(cn));break}Tl();for(const s of i)s&&Ki(s,4);Ll()}function Yu(e,t){const n=Gr.get(e);return n&&n.get(t)}const Ju=hl("__proto__,__v_isRef,__isVue"),Ji=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Gt)),ma=Qu();function Qu(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=ce(this);for(let l=0,a=this.length;l{e[t]=function(...n){Kt(),Tl();const r=ce(this)[t].apply(this,n);return Ll(),Yt(),r}}),e}function Xu(e){Gt(e)||(e=String(e));const t=ce(this);return qe(t,"has",e),t.hasOwnProperty(e)}class Qi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const o=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return l;if(n==="__v_raw")return r===(o?l?dd:ts:l?es:Zi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const a=ee(t);if(!o){if(a&&se(ma,n))return Reflect.get(ma,n,r);if(n==="hasOwnProperty")return Xu}const i=Reflect.get(t,n,r);return(Gt(n)?Ji.has(n):Ju(n))||(o||qe(t,"get",n),l)?i:Me(i)?a&&bl(n)?i:i.value:he(i)?o?Bn(i):hr(i):i}}class Xi extends Qi{constructor(t=!1){super(!1,t)}set(t,n,r,o){let l=t[n];if(!this._isShallow){const s=pn(l);if(!Dn(r)&&!pn(r)&&(l=ce(l),r=ce(r)),!ee(t)&&Me(l)&&!Me(r))return s?!1:(l.value=r,!0)}const a=ee(t)&&bl(n)?Number(n)e,oo=e=>Reflect.getPrototypeOf(e);function kr(e,t,n=!1,r=!1){e=e.__v_raw;const o=ce(e),l=ce(t);n||(Wt(t,l)&&qe(o,"get",t),qe(o,"get",l));const{has:a}=oo(o),i=r?Al:n?xl:rr;if(a.call(o,t))return i(e.get(t));if(a.call(o,l))return i(e.get(l));e!==o&&e.get(t)}function Pr(e,t=!1){const n=this.__v_raw,r=ce(n),o=ce(e);return t||(Wt(e,o)&&qe(r,"has",e),qe(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Or(e,t=!1){return e=e.__v_raw,!t&&qe(ce(e),"iterate",cn),Reflect.get(e,"size",e)}function va(e,t=!1){!t&&!Dn(e)&&!pn(e)&&(e=ce(e));const n=ce(this);return oo(n).has.call(n,e)||(n.add(e),St(n,"add",e,e)),this}function ha(e,t,n=!1){!n&&!Dn(t)&&!pn(t)&&(t=ce(t));const r=ce(this),{has:o,get:l}=oo(r);let a=o.call(r,e);a||(e=ce(e),a=o.call(r,e));const i=l.call(r,e);return r.set(e,t),a?Wt(t,i)&&St(r,"set",e,t):St(r,"add",e,t),this}function ga(e){const t=ce(this),{has:n,get:r}=oo(t);let o=n.call(t,e);o||(e=ce(e),o=n.call(t,e)),r&&r.call(t,e);const l=t.delete(e);return o&&St(t,"delete",e,void 0),l}function _a(){const e=ce(this),t=e.size!==0,n=e.clear();return t&&St(e,"clear",void 0,void 0),n}function Rr(e,t){return function(r,o){const l=this,a=l.__v_raw,i=ce(a),s=t?Al:e?xl:rr;return!e&&qe(i,"iterate",cn),a.forEach((c,d)=>r.call(o,s(c),s(d),l))}}function Ir(e,t,n){return function(...r){const o=this.__v_raw,l=ce(o),a=Cn(l),i=e==="entries"||e===Symbol.iterator&&a,s=e==="keys"&&a,c=o[e](...r),d=n?Al:t?xl:rr;return!t&&qe(l,"iterate",s?Ko:cn),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:i?[d(f[0]),d(f[1])]:d(f),done:p}},[Symbol.iterator](){return this}}}}function It(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function rd(){const e={get(l){return kr(this,l)},get size(){return Or(this)},has:Pr,add:va,set:ha,delete:ga,clear:_a,forEach:Rr(!1,!1)},t={get(l){return kr(this,l,!1,!0)},get size(){return Or(this)},has:Pr,add(l){return va.call(this,l,!0)},set(l,a){return ha.call(this,l,a,!0)},delete:ga,clear:_a,forEach:Rr(!1,!0)},n={get(l){return kr(this,l,!0)},get size(){return Or(this,!0)},has(l){return Pr.call(this,l,!0)},add:It("add"),set:It("set"),delete:It("delete"),clear:It("clear"),forEach:Rr(!0,!1)},r={get(l){return kr(this,l,!0,!0)},get size(){return Or(this,!0)},has(l){return Pr.call(this,l,!0)},add:It("add"),set:It("set"),delete:It("delete"),clear:It("clear"),forEach:Rr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Ir(l,!1,!1),n[l]=Ir(l,!0,!1),t[l]=Ir(l,!1,!0),r[l]=Ir(l,!0,!0)}),[e,n,t,r]}const[od,ld,ad,id]=rd();function Cl(e,t){const n=t?e?id:ad:e?ld:od;return(r,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?r:Reflect.get(se(n,o)&&o in r?n:r,o,l)}const sd={get:Cl(!1,!1)},cd={get:Cl(!1,!0)},ud={get:Cl(!0,!1)};const Zi=new WeakMap,es=new WeakMap,ts=new WeakMap,dd=new WeakMap;function fd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pd(e){return e.__v_skip||!Object.isExtensible(e)?0:fd(Iu(e))}function hr(e){return pn(e)?e:Sl(e,!1,ed,sd,Zi)}function ns(e){return Sl(e,!1,nd,cd,es)}function Bn(e){return Sl(e,!0,td,ud,ts)}function Sl(e,t,n,r,o){if(!he(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const a=pd(e);if(a===0)return e;const i=new Proxy(e,a===2?r:n);return o.set(e,i),i}function xn(e){return pn(e)?xn(e.__v_raw):!!(e&&e.__v_isReactive)}function pn(e){return!!(e&&e.__v_isReadonly)}function Dn(e){return!!(e&&e.__v_isShallow)}function rs(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function md(e){return Object.isExtensible(e)&&Bi(e,"__v_skip",!0),e}const rr=e=>he(e)?hr(e):e,xl=e=>he(e)?Bn(e):e;class os{constructor(t,n,r,o){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new wl(()=>t(this._value),()=>Yn(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=r}get value(){const t=ce(this);return(!t._cacheable||t.effect.dirty)&&Wt(t._value,t._value=t.effect.run())&&Yn(t,4),kl(t),t.effect._dirtyLevel>=2&&Yn(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function vd(e,t,n=!1){let r,o;const l=ne(e);return l?(r=e,o=lt):(r=e.get,o=e.set),new os(r,o,l||!o,n)}function kl(e){var t;jt&&sn&&(e=ce(e),Gi(sn,(t=e.dep)!=null?t:e.dep=Yi(()=>e.dep=void 0,e instanceof os?e:void 0)))}function Yn(e,t=4,n,r){e=ce(e);const o=e.dep;o&&Ki(o,t)}function Me(e){return!!(e&&e.__v_isRef===!0)}function K(e){return ls(e,!1)}function Ce(e){return ls(e,!0)}function ls(e,t){return Me(e)?e:new hd(e,t)}class hd{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ce(t),this._value=n?t:rr(t)}get value(){return kl(this),this._value}set value(t){const n=this.__v_isShallow||Dn(t)||pn(t);t=n?t:ce(t),Wt(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:rr(t),Yn(this,4))}}function un(e){return Me(e)?e.value:e}const gd={get:(e,t,n)=>un(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return Me(o)&&!Me(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function as(e){return xn(e)?e:new Proxy(e,gd)}class _d{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>kl(this),()=>Yn(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function is(e){return new _d(e)}class bd{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Yu(ce(this._object),this._key)}}class yd{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function lo(e,t,n){return Me(e)?e:ne(e)?new yd(e):he(e)&&arguments.length>1?Ed(e,t,n):K(e)}function Ed(e,t,n){const r=e[t];return Me(r)?r:new bd(e,t,n)}/** +* @vue/runtime-core v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ht(e,t,n,r){try{return r?e(...r):e()}catch(o){gr(o,t,n)}}function it(e,t,n,r){if(ne(e)){const o=Ht(e,t,n,r);return o&&$i(o)&&o.catch(l=>{gr(l,t,n)}),o}if(ee(e)){const o=[];for(let l=0;l>>1,o=Ve[r],l=lr(o);lEt&&Ve.splice(t,1)}function Ad(e){ee(e)?kn.push(...e):(!Vt||!Vt.includes(e,e.allowRecurse?rn+1:rn))&&kn.push(e),cs()}function ba(e,t,n=or?Et+1:0){for(;nlr(n)-lr(r));if(kn.length=0,Vt){Vt.push(...t);return}for(Vt=t,rn=0;rne.id==null?1/0:e.id,Cd=(e,t)=>{const n=lr(e)-lr(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function us(e){Yo=!1,or=!0,Ve.sort(Cd);try{for(Et=0;Et{r._d&&Pa(-1);const l=Yr(t);let a;try{a=e(...o)}finally{Yr(l),r._d&&Pa(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function yt(e,t,n,r){const o=e.dirs,l=t&&t.dirs;for(let a=0;a{e.isMounted=!0}),bs(()=>{e.isUnmounting=!0}),e}const et=[Function,Array],ps={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},ms=e=>{const t=e.subTree;return t.component?ms(t.component):t},Sd={name:"BaseTransition",props:ps,setup(e,{slots:t}){const n=Fn(),r=fs();return()=>{const o=t.default&&Ol(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const p of o)if(p.type!==ot){l=p;break}}const a=ce(e),{mode:i}=a;if(r.isLeaving)return wo(l);const s=ya(l);if(!s)return wo(l);let c=ar(s,a,r,n,p=>c=p);Mn(s,c);const d=n.subTree,f=d&&ya(d);if(f&&f.type!==ot&&!ln(s,f)&&ms(n).type!==ot){const p=ar(f,a,r,n);if(Mn(f,p),i==="out-in"&&s.type!==ot)return r.isLeaving=!0,p.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},wo(l);i==="in-out"&&s.type!==ot&&(p.delayLeave=(m,_,w)=>{const E=vs(r,f);E[String(f.key)]=f,m[Nt]=()=>{_(),m[Nt]=void 0,delete c.delayedLeave},c.delayedLeave=w})}return l}}},xd=Sd;function vs(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ar(e,t,n,r,o){const{appear:l,mode:a,persisted:i=!1,onBeforeEnter:s,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:_,onLeaveCancelled:w,onBeforeAppear:E,onAppear:y,onAfterAppear:T,onAppearCancelled:g}=t,C=String(e.key),M=vs(n,e),I=(B,P)=>{B&&it(B,r,9,P)},V=(B,P)=>{const H=P[1];I(B,P),ee(B)?B.every(D=>D.length<=1)&&H():B.length<=1&&H()},Y={mode:a,persisted:i,beforeEnter(B){let P=s;if(!n.isMounted)if(l)P=E||s;else return;B[Nt]&&B[Nt](!0);const H=M[C];H&&ln(e,H)&&H.el[Nt]&&H.el[Nt](),I(P,[B])},enter(B){let P=c,H=d,D=f;if(!n.isMounted)if(l)P=y||c,H=T||d,D=g||f;else return;let Z=!1;const fe=B[Dr]=ue=>{Z||(Z=!0,ue?I(D,[B]):I(H,[B]),Y.delayedLeave&&Y.delayedLeave(),B[Dr]=void 0)};P?V(P,[B,fe]):fe()},leave(B,P){const H=String(e.key);if(B[Dr]&&B[Dr](!0),n.isUnmounting)return P();I(p,[B]);let D=!1;const Z=B[Nt]=fe=>{D||(D=!0,P(),fe?I(w,[B]):I(_,[B]),B[Nt]=void 0,M[H]===e&&delete M[H])};M[H]=e,m?V(m,[B,Z]):Z()},clone(B){const P=ar(B,t,n,r,o);return o&&o(P),P}};return Y}function wo(e){if(_r(e))return e=qt(e),e.children=null,e}function ya(e){if(!_r(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ne(n.default))return n.default()}}function Mn(e,t){e.shapeFlag&6&&e.component?Mn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ol(e,t=!1,n){let r=[],o=0;for(let l=0;l1)for(let l=0;l!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function hs(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:o=200,timeout:l,suspensible:a=!0,onError:i}=e;let s=null,c,d=0;const f=()=>(d++,s=null,p()),p=()=>{let m;return s||(m=s=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),i)return new Promise((w,E)=>{i(_,()=>w(f()),()=>E(_),d+1)});throw _}).then(_=>m!==s&&s?s:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),c=_,_)))};return G({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const m=De;if(c)return()=>To(c,m);const _=T=>{s=null,gr(T,m,13,!r)};if(a&&m.suspense||Er)return p().then(T=>()=>To(T,m)).catch(T=>(_(T),()=>r?Le(r,{error:T}):null));const w=K(!1),E=K(),y=K(!!o);return o&&setTimeout(()=>{y.value=!1},o),l!=null&&setTimeout(()=>{if(!w.value&&!E.value){const T=new Error(`Async component timed out after ${l}ms.`);_(T),E.value=T}},l),p().then(()=>{w.value=!0,m.parent&&_r(m.parent.vnode)&&(m.parent.effect.dirty=!0,ao(m.parent.update))}).catch(T=>{_(T),E.value=T}),()=>{if(w.value&&c)return To(c,m);if(E.value&&r)return Le(r,{error:E.value});if(n&&!y.value)return Le(n)}}})}function To(e,t){const{ref:n,props:r,children:o,ce:l}=t.vnode,a=Le(e,r,o);return a.ref=n,a.ce=l,delete t.vnode.ce,a}const _r=e=>e.type.__isKeepAlive;function kd(e,t){gs(e,"a",t)}function Pd(e,t){gs(e,"da",t)}function gs(e,t,n=De){const r=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(io(t,r,n),n){let o=n.parent;for(;o&&o.parent;)_r(o.parent.vnode)&&Od(r,t,n,o),o=o.parent}}function Od(e,t,n,r){const o=io(t,e,r,!0);vn(()=>{_l(r[t],o)},n)}function io(e,t,n=De,r=!1){if(n){const o=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...a)=>{Kt();const i=yr(n),s=it(t,n,e,a);return i(),Yt(),s});return r?o.unshift(l):o.push(l),l}}const Ot=e=>(t,n=De)=>{(!Er||e==="sp")&&io(e,(...r)=>t(...r),n)},Rd=Ot("bm"),ge=Ot("m"),Id=Ot("bu"),_s=Ot("u"),bs=Ot("bum"),vn=Ot("um"),Dd=Ot("sp"),Md=Ot("rtg"),$d=Ot("rtc");function Vd(e,t=De){io("ec",e,t)}const ys="components";function zt(e,t){return Bd(ys,e,!0,t)||e}const Nd=Symbol.for("v-ndc");function Bd(e,t,n=!0,r=!1){const o=at||De;if(o){const l=o.type;if(e===ys){const i=Rf(l,!1);if(i&&(i===t||i===Xe(t)||i===vr(Xe(t))))return l}const a=Ea(o[e]||l[e],t)||Ea(o.appContext[e],t);return!a&&r?l:a}}function Ea(e,t){return e&&(e[t]||e[Xe(t)]||e[vr(Xe(t))])}function F0(e,t,n,r){let o;const l=n;if(ee(e)||Se(e)){o=new Array(e.length);for(let a=0,i=e.length;at(a,i,void 0,l));else{const a=Object.keys(e);o=new Array(a.length);for(let i=0,s=a.length;i{const l=r.fn(...o);return l&&(l.key=r.key),l}:r.fn)}return e}const Jo=e=>e?Hs(e)?$l(e):Jo(e.parent):null,Qn=Pe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Jo(e.parent),$root:e=>Jo(e.root),$emit:e=>e.emit,$options:e=>Rl(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,ao(e.update)}),$nextTick:e=>e.n||(e.n=Jt.bind(e.proxy)),$watch:e=>ff.bind(e)}),Lo=(e,t)=>e!==Te&&!e.__isScriptSetup&&se(e,t),jd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:o,props:l,accessCache:a,type:i,appContext:s}=e;let c;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return l[t]}else{if(Lo(r,t))return a[t]=1,r[t];if(o!==Te&&se(o,t))return a[t]=2,o[t];if((c=e.propsOptions[0])&&se(c,t))return a[t]=3,l[t];if(n!==Te&&se(n,t))return a[t]=4,n[t];Qo&&(a[t]=0)}}const d=Qn[t];let f,p;if(d)return t==="$attrs"&&qe(e.attrs,"get",""),d(e);if((f=i.__cssModules)&&(f=f[t]))return f;if(n!==Te&&se(n,t))return a[t]=4,n[t];if(p=s.config.globalProperties,se(p,t))return p[t]},set({_:e},t,n){const{data:r,setupState:o,ctx:l}=e;return Lo(o,t)?(o[t]=n,!0):r!==Te&&se(r,t)?(r[t]=n,!0):se(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:l}},a){let i;return!!n[a]||e!==Te&&se(e,a)||Lo(t,a)||(i=l[0])&&se(i,a)||se(r,a)||se(Qn,a)||se(o.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:se(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function wa(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Qo=!0;function Hd(e){const t=Rl(e),n=e.proxy,r=e.ctx;Qo=!1,t.beforeCreate&&Ta(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:a,watch:i,provide:s,inject:c,created:d,beforeMount:f,mounted:p,beforeUpdate:m,updated:_,activated:w,deactivated:E,beforeDestroy:y,beforeUnmount:T,destroyed:g,unmounted:C,render:M,renderTracked:I,renderTriggered:V,errorCaptured:Y,serverPrefetch:B,expose:P,inheritAttrs:H,components:D,directives:Z,filters:fe}=t;if(c&&zd(c,r,null),a)for(const te in a){const J=a[te];ne(J)&&(r[te]=J.bind(n))}if(o){const te=o.call(n,n);he(te)&&(e.data=hr(te))}if(Qo=!0,l)for(const te in l){const J=l[te],me=ne(J)?J.bind(n,n):ne(J.get)?J.get.bind(n,n):lt,gt=!ne(J)&&ne(J.set)?J.set.bind(n):lt,Ze=A({get:me,set:gt});Object.defineProperty(r,te,{enumerable:!0,configurable:!0,get:()=>Ze.value,set:Re=>Ze.value=Re})}if(i)for(const te in i)Es(i[te],r,n,te);if(s){const te=ne(s)?s.call(n):s;Reflect.ownKeys(te).forEach(J=>{dn(J,te[J])})}d&&Ta(d,e,"c");function q(te,J){ee(J)?J.forEach(me=>te(me.bind(n))):J&&te(J.bind(n))}if(q(Rd,f),q(ge,p),q(Id,m),q(_s,_),q(kd,w),q(Pd,E),q(Vd,Y),q($d,I),q(Md,V),q(bs,T),q(vn,C),q(Dd,B),ee(P))if(P.length){const te=e.exposed||(e.exposed={});P.forEach(J=>{Object.defineProperty(te,J,{get:()=>n[J],set:me=>n[J]=me})})}else e.exposed||(e.exposed={});M&&e.render===lt&&(e.render=M),H!=null&&(e.inheritAttrs=H),D&&(e.components=D),Z&&(e.directives=Z)}function zd(e,t,n=lt){ee(e)&&(e=Xo(e));for(const r in e){const o=e[r];let l;he(o)?"default"in o?l=Ae(o.from||r,o.default,!0):l=Ae(o.from||r):l=Ae(o),Me(l)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:a=>l.value=a}):t[r]=l}}function Ta(e,t,n){it(ee(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Es(e,t,n,r){const o=r.includes(".")?$s(n,r):()=>n[r];if(Se(e)){const l=t[e];ne(l)&&le(o,l)}else if(ne(e))le(o,e.bind(n));else if(he(e))if(ee(e))e.forEach(l=>Es(l,t,n,r));else{const l=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(l)&&le(o,l,e)}}function Rl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:a}}=e.appContext,i=l.get(t);let s;return i?s=i:!o.length&&!n&&!r?s=t:(s={},o.length&&o.forEach(c=>Jr(s,c,a,!0)),Jr(s,t,a)),he(t)&&l.set(t,s),s}function Jr(e,t,n,r=!1){const{mixins:o,extends:l}=t;l&&Jr(e,l,n,!0),o&&o.forEach(a=>Jr(e,a,n,!0));for(const a in t)if(!(r&&a==="expose")){const i=Wd[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const Wd={data:La,props:Aa,emits:Aa,methods:Gn,computed:Gn,beforeCreate:Ne,created:Ne,beforeMount:Ne,mounted:Ne,beforeUpdate:Ne,updated:Ne,beforeDestroy:Ne,beforeUnmount:Ne,destroyed:Ne,unmounted:Ne,activated:Ne,deactivated:Ne,errorCaptured:Ne,serverPrefetch:Ne,components:Gn,directives:Gn,watch:Ud,provide:La,inject:qd};function La(e,t){return t?e?function(){return Pe(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function qd(e,t){return Gn(Xo(e),Xo(t))}function Xo(e){if(ee(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(r&&r.proxy):t}}const Ts={},Ls=()=>Object.create(Ts),As=e=>Object.getPrototypeOf(e)===Ts;function Yd(e,t,n,r=!1){const o={},l=Ls();e.propsDefaults=Object.create(null),Cs(e,t,o,l);for(const a in e.propsOptions[0])a in o||(o[a]=void 0);n?e.props=r?o:ns(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function Jd(e,t,n,r){const{props:o,attrs:l,vnode:{patchFlag:a}}=e,i=ce(o),[s]=e.propsOptions;let c=!1;if((r||a>0)&&!(a&16)){if(a&8){const d=e.vnode.dynamicProps;for(let f=0;f{s=!0;const[p,m]=Ss(f,t,!0);Pe(a,p),m&&i.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!s)return he(e)&&r.set(e,An),An;if(ee(l))for(let d=0;de[0]==="_"||e==="$stable",Il=e=>ee(e)?e.map(rt):[rt(e)],Xd=(e,t,n)=>{if(t._n)return t;const r=En((...o)=>Il(t(...o)),n);return r._c=!1,r},ks=(e,t,n)=>{const r=e._ctx;for(const o in e){if(xs(o))continue;const l=e[o];if(ne(l))t[o]=Xd(o,l,r);else if(l!=null){const a=Il(l);t[o]=()=>a}}},Ps=(e,t)=>{const n=Il(t);e.slots.default=()=>n},Os=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},Zd=(e,t,n)=>{const r=e.slots=Ls();if(e.vnode.shapeFlag&32){const o=t._;o?(Os(r,t,n),n&&Bi(r,"_",o,!0)):ks(t,r)}else t&&Ps(e,t)},ef=(e,t,n)=>{const{vnode:r,slots:o}=e;let l=!0,a=Te;if(r.shapeFlag&32){const i=t._;i?n&&i===1?l=!1:Os(o,t,n):(l=!t.$stable,ks(t,o)),a=t}else t&&(Ps(e,t),a={default:1});if(l)for(const i in o)!xs(i)&&a[i]==null&&delete o[i]};function Qr(e,t,n,r,o=!1){if(ee(e)){e.forEach((p,m)=>Qr(p,t&&(ee(t)?t[m]:t),n,r,o));return}if(Jn(r)&&!o)return;const l=r.shapeFlag&4?$l(r.component):r.el,a=o?null:l,{i,r:s}=e,c=t&&t.r,d=i.refs===Te?i.refs={}:i.refs,f=i.setupState;if(c!=null&&c!==s&&(Se(c)?(d[c]=null,se(f,c)&&(f[c]=null)):Me(c)&&(c.value=null)),ne(s))Ht(s,i,12,[a,d]);else{const p=Se(s),m=Me(s);if(p||m){const _=()=>{if(e.f){const w=p?se(f,s)?f[s]:d[s]:s.value;o?ee(w)&&_l(w,l):ee(w)?w.includes(l)||w.push(l):p?(d[s]=[l],se(f,s)&&(f[s]=d[s])):(s.value=[l],e.k&&(d[e.k]=s.value))}else p?(d[s]=a,se(f,s)&&(f[s]=a)):m&&(s.value=a,e.k&&(d[e.k]=a))};a?(_.id=-1,je(_,n)):_()}}}const tf=Symbol("_vte"),nf=e=>e.__isTeleport;let Sa=!1;const bn=()=>{Sa||(console.error("Hydration completed but contains mismatches."),Sa=!0)},rf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",of=e=>e.namespaceURI.includes("MathML"),Mr=e=>{if(rf(e))return"svg";if(of(e))return"mathml"},$r=e=>e.nodeType===8;function lf(e){const{mt:t,p:n,o:{patchProp:r,createText:o,nextSibling:l,parentNode:a,remove:i,insert:s,createComment:c}}=e,d=(g,C)=>{if(!C.hasChildNodes()){n(null,g,C),Kr(),C._vnode=g;return}f(C.firstChild,g,null,null,null),Kr(),C._vnode=g},f=(g,C,M,I,V,Y=!1)=>{Y=Y||!!C.dynamicChildren;const B=$r(g)&&g.data==="[",P=()=>w(g,C,M,I,V,B),{type:H,ref:D,shapeFlag:Z,patchFlag:fe}=C;let ue=g.nodeType;C.el=g,fe===-2&&(Y=!1,C.dynamicChildren=null);let q=null;switch(H){case fn:ue!==3?C.children===""?(s(C.el=o(""),a(g),g),q=g):q=P():(g.data!==C.children&&(bn(),g.data=C.children),q=l(g));break;case ot:T(g)?(q=l(g),y(C.el=g.content.firstChild,g,M)):ue!==8||B?q=P():q=l(g);break;case Xn:if(B&&(g=l(g),ue=g.nodeType),ue===1||ue===3){q=g;const te=!C.children.length;for(let J=0;J{Y=Y||!!C.dynamicChildren;const{type:B,props:P,patchFlag:H,shapeFlag:D,dirs:Z,transition:fe}=C,ue=B==="input"||B==="option";if(ue||H!==-1){Z&&yt(C,null,M,"created");let q=!1;if(T(g)){q=Rs(I,fe)&&M&&M.vnode.props&&M.vnode.props.appear;const J=g.content.firstChild;q&&fe.beforeEnter(J),y(J,g,M),C.el=g=J}if(D&16&&!(P&&(P.innerHTML||P.textContent))){let J=m(g.firstChild,C,g,M,I,V,Y);for(;J;){bn();const me=J;J=J.nextSibling,i(me)}}else D&8&&g.textContent!==C.children&&(bn(),g.textContent=C.children);if(P){if(ue||!Y||H&48){const J=g.tagName.includes("-");for(const me in P)(ue&&(me.endsWith("value")||me==="indeterminate")||mr(me)&&!Sn(me)||me[0]==="."||J)&&r(g,me,null,P[me],void 0,M)}else if(P.onClick)r(g,"onClick",null,P.onClick,void 0,M);else if(H&4&&xn(P.style))for(const J in P.style)P.style[J]}let te;(te=P&&P.onVnodeBeforeMount)&&tt(te,M,C),Z&&yt(C,null,M,"beforeMount"),((te=P&&P.onVnodeMounted)||Z||q)&&Ns(()=>{te&&tt(te,M,C),q&&fe.enter(g),Z&&yt(C,null,M,"mounted")},I)}return g.nextSibling},m=(g,C,M,I,V,Y,B)=>{B=B||!!C.dynamicChildren;const P=C.children,H=P.length;for(let D=0;D{const{slotScopeIds:B}=C;B&&(V=V?V.concat(B):B);const P=a(g),H=m(l(g),C,P,M,I,V,Y);return H&&$r(H)&&H.data==="]"?l(C.anchor=H):(bn(),s(C.anchor=c("]"),P,H),H)},w=(g,C,M,I,V,Y)=>{if(bn(),C.el=null,Y){const H=E(g);for(;;){const D=l(g);if(D&&D!==H)i(D);else break}}const B=l(g),P=a(g);return i(g),n(null,C,P,B,M,I,Mr(P),V),B},E=(g,C="[",M="]")=>{let I=0;for(;g;)if(g=l(g),g&&$r(g)&&(g.data===C&&I++,g.data===M)){if(I===0)return l(g);I--}return g},y=(g,C,M)=>{const I=C.parentNode;I&&I.replaceChild(g,C);let V=M;for(;V;)V.vnode.el===C&&(V.vnode.el=V.subTree.el=g),V=V.parent},T=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[d,f]}const je=Ns;function af(e){return sf(e,lf)}function sf(e,t){const n=Fi();n.__VUE__=!0;const{insert:r,remove:o,patchProp:l,createElement:a,createText:i,createComment:s,setText:c,setElementText:d,parentNode:f,nextSibling:p,setScopeId:m=lt,insertStaticContent:_}=e,w=(v,h,L,k=null,x=null,R=null,j=void 0,$=null,N=!!h.dynamicChildren)=>{if(v===h)return;v&&!ln(v,h)&&(k=S(v),Re(v,x,R,!0),v=null),h.patchFlag===-2&&(N=!1,h.dynamicChildren=null);const{type:O,ref:W,shapeFlag:X}=h;switch(O){case fn:E(v,h,L,k);break;case ot:y(v,h,L,k);break;case Xn:v==null&&T(h,L,k,j);break;case He:D(v,h,L,k,x,R,j,$,N);break;default:X&1?M(v,h,L,k,x,R,j,$,N):X&6?Z(v,h,L,k,x,R,j,$,N):(X&64||X&128)&&O.process(v,h,L,k,x,R,j,$,N,U)}W!=null&&x&&Qr(W,v&&v.ref,R,h||v,!h)},E=(v,h,L,k)=>{if(v==null)r(h.el=i(h.children),L,k);else{const x=h.el=v.el;h.children!==v.children&&c(x,h.children)}},y=(v,h,L,k)=>{v==null?r(h.el=s(h.children||""),L,k):h.el=v.el},T=(v,h,L,k)=>{[v.el,v.anchor]=_(v.children,h,L,k,v.el,v.anchor)},g=({el:v,anchor:h},L,k)=>{let x;for(;v&&v!==h;)x=p(v),r(v,L,k),v=x;r(h,L,k)},C=({el:v,anchor:h})=>{let L;for(;v&&v!==h;)L=p(v),o(v),v=L;o(h)},M=(v,h,L,k,x,R,j,$,N)=>{h.type==="svg"?j="svg":h.type==="math"&&(j="mathml"),v==null?I(h,L,k,x,R,j,$,N):B(v,h,x,R,j,$,N)},I=(v,h,L,k,x,R,j,$)=>{let N,O;const{props:W,shapeFlag:X,transition:Q,dirs:re}=v;if(N=v.el=a(v.type,R,W&&W.is,W),X&8?d(N,v.children):X&16&&Y(v.children,N,null,k,x,Ao(v,R),j,$),re&&yt(v,null,k,"created"),V(N,v,v.scopeId,j,k),W){for(const _e in W)_e!=="value"&&!Sn(_e)&&l(N,_e,null,W[_e],R,k);"value"in W&&l(N,"value",null,W.value,R),(O=W.onVnodeBeforeMount)&&tt(O,k,v)}re&&yt(v,null,k,"beforeMount");const oe=Rs(x,Q);oe&&Q.beforeEnter(N),r(N,h,L),((O=W&&W.onVnodeMounted)||oe||re)&&je(()=>{O&&tt(O,k,v),oe&&Q.enter(N),re&&yt(v,null,k,"mounted")},x)},V=(v,h,L,k,x)=>{if(L&&m(v,L),k)for(let R=0;R{for(let O=N;O{const $=h.el=v.el;let{patchFlag:N,dynamicChildren:O,dirs:W}=h;N|=v.patchFlag&16;const X=v.props||Te,Q=h.props||Te;let re;if(L&&en(L,!1),(re=Q.onVnodeBeforeUpdate)&&tt(re,L,h,v),W&&yt(h,v,L,"beforeUpdate"),L&&en(L,!0),(X.innerHTML&&Q.innerHTML==null||X.textContent&&Q.textContent==null)&&d($,""),O?P(v.dynamicChildren,O,$,L,k,Ao(h,x),R):j||J(v,h,$,null,L,k,Ao(h,x),R,!1),N>0){if(N&16)H($,X,Q,L,x);else if(N&2&&X.class!==Q.class&&l($,"class",null,Q.class,x),N&4&&l($,"style",X.style,Q.style,x),N&8){const oe=h.dynamicProps;for(let _e=0;_e{re&&tt(re,L,h,v),W&&yt(h,v,L,"updated")},k)},P=(v,h,L,k,x,R,j)=>{for(let $=0;${if(h!==L){if(h!==Te)for(const R in h)!Sn(R)&&!(R in L)&&l(v,R,h[R],null,x,k);for(const R in L){if(Sn(R))continue;const j=L[R],$=h[R];j!==$&&R!=="value"&&l(v,R,$,j,x,k)}"value"in L&&l(v,"value",h.value,L.value,x)}},D=(v,h,L,k,x,R,j,$,N)=>{const O=h.el=v?v.el:i(""),W=h.anchor=v?v.anchor:i("");let{patchFlag:X,dynamicChildren:Q,slotScopeIds:re}=h;re&&($=$?$.concat(re):re),v==null?(r(O,L,k),r(W,L,k),Y(h.children||[],L,W,x,R,j,$,N)):X>0&&X&64&&Q&&v.dynamicChildren?(P(v.dynamicChildren,Q,L,x,R,j,$),(h.key!=null||x&&h===x.subTree)&&Is(v,h,!0)):J(v,h,L,W,x,R,j,$,N)},Z=(v,h,L,k,x,R,j,$,N)=>{h.slotScopeIds=$,v==null?h.shapeFlag&512?x.ctx.activate(h,L,k,j,N):fe(h,L,k,x,R,j,N):ue(v,h,N)},fe=(v,h,L,k,x,R,j)=>{const $=v.component=Sf(v,k,x);if(_r(v)&&($.ctx.renderer=U),xf($,!1,j),$.asyncDep){if(x&&x.registerDep($,q,j),!v.el){const N=$.subTree=Le(ot);y(null,N,h,L)}}else q($,v,h,L,x,R,j)},ue=(v,h,L)=>{const k=h.component=v.component;if(gf(v,h,L))if(k.asyncDep&&!k.asyncResolved){te(k,h,L);return}else k.next=h,Ld(k.update),k.effect.dirty=!0,k.update();else h.el=v.el,k.vnode=h},q=(v,h,L,k,x,R,j)=>{const $=()=>{if(v.isMounted){let{next:W,bu:X,u:Q,parent:re,vnode:oe}=v;{const _n=Ds(v);if(_n){W&&(W.el=oe.el,te(v,W,j)),_n.asyncDep.then(()=>{v.isUnmounted||$()});return}}let _e=W,de;en(v,!1),W?(W.el=oe.el,te(v,W,j)):W=oe,X&&yo(X),(de=W.props&&W.props.onVnodeBeforeUpdate)&&tt(de,re,W,oe),en(v,!0);const Ie=Co(v),ct=v.subTree;v.subTree=Ie,w(ct,Ie,f(ct.el),S(ct),v,x,R),W.el=Ie.el,_e===null&&_f(v,Ie.el),Q&&je(Q,x),(de=W.props&&W.props.onVnodeUpdated)&&je(()=>tt(de,re,W,oe),x)}else{let W;const{el:X,props:Q}=h,{bm:re,m:oe,parent:_e}=v,de=Jn(h);if(en(v,!1),re&&yo(re),!de&&(W=Q&&Q.onVnodeBeforeMount)&&tt(W,_e,h),en(v,!0),X&&ve){const Ie=()=>{v.subTree=Co(v),ve(X,v.subTree,v,x,null)};de?h.type.__asyncLoader().then(()=>!v.isUnmounted&&Ie()):Ie()}else{const Ie=v.subTree=Co(v);w(null,Ie,L,k,v,x,R),h.el=Ie.el}if(oe&&je(oe,x),!de&&(W=Q&&Q.onVnodeMounted)){const Ie=h;je(()=>tt(W,_e,Ie),x)}(h.shapeFlag&256||_e&&Jn(_e.vnode)&&_e.vnode.shapeFlag&256)&&v.a&&je(v.a,x),v.isMounted=!0,h=L=k=null}},N=v.effect=new wl($,lt,()=>ao(O),v.scope),O=v.update=()=>{N.dirty&&N.run()};O.i=v,O.id=v.uid,en(v,!0),O()},te=(v,h,L)=>{h.component=v;const k=v.vnode.props;v.vnode=h,v.next=null,Jd(v,h.props,k,L),ef(v,h.children,L),Kt(),ba(v),Yt()},J=(v,h,L,k,x,R,j,$,N=!1)=>{const O=v&&v.children,W=v?v.shapeFlag:0,X=h.children,{patchFlag:Q,shapeFlag:re}=h;if(Q>0){if(Q&128){gt(O,X,L,k,x,R,j,$,N);return}else if(Q&256){me(O,X,L,k,x,R,j,$,N);return}}re&8?(W&16&&$e(O,x,R),X!==O&&d(L,X)):W&16?re&16?gt(O,X,L,k,x,R,j,$,N):$e(O,x,R,!0):(W&8&&d(L,""),re&16&&Y(X,L,k,x,R,j,$,N))},me=(v,h,L,k,x,R,j,$,N)=>{v=v||An,h=h||An;const O=v.length,W=h.length,X=Math.min(O,W);let Q;for(Q=0;QW?$e(v,x,R,!0,!1,X):Y(h,L,k,x,R,j,$,N,X)},gt=(v,h,L,k,x,R,j,$,N)=>{let O=0;const W=h.length;let X=v.length-1,Q=W-1;for(;O<=X&&O<=Q;){const re=v[O],oe=h[O]=N?Bt(h[O]):rt(h[O]);if(ln(re,oe))w(re,oe,L,null,x,R,j,$,N);else break;O++}for(;O<=X&&O<=Q;){const re=v[X],oe=h[Q]=N?Bt(h[Q]):rt(h[Q]);if(ln(re,oe))w(re,oe,L,null,x,R,j,$,N);else break;X--,Q--}if(O>X){if(O<=Q){const re=Q+1,oe=reQ)for(;O<=X;)Re(v[O],x,R,!0),O++;else{const re=O,oe=O,_e=new Map;for(O=oe;O<=Q;O++){const Ge=h[O]=N?Bt(h[O]):rt(h[O]);Ge.key!=null&&_e.set(Ge.key,O)}let de,Ie=0;const ct=Q-oe+1;let _n=!1,sa=0;const zn=new Array(ct);for(O=0;O=ct){Re(Ge,x,R,!0);continue}let bt;if(Ge.key!=null)bt=_e.get(Ge.key);else for(de=oe;de<=Q;de++)if(zn[de-oe]===0&&ln(Ge,h[de])){bt=de;break}bt===void 0?Re(Ge,x,R,!0):(zn[bt-oe]=O+1,bt>=sa?sa=bt:_n=!0,w(Ge,h[bt],L,null,x,R,j,$,N),Ie++)}const ca=_n?cf(zn):An;for(de=ca.length-1,O=ct-1;O>=0;O--){const Ge=oe+O,bt=h[Ge],ua=Ge+1{const{el:R,type:j,transition:$,children:N,shapeFlag:O}=v;if(O&6){Ze(v.component.subTree,h,L,k);return}if(O&128){v.suspense.move(h,L,k);return}if(O&64){j.move(v,h,L,U);return}if(j===He){r(R,h,L);for(let X=0;X$.enter(R),x);else{const{leave:X,delayLeave:Q,afterLeave:re}=$,oe=()=>r(R,h,L),_e=()=>{X(R,()=>{oe(),re&&re()})};Q?Q(R,oe,_e):_e()}else r(R,h,L)},Re=(v,h,L,k=!1,x=!1)=>{const{type:R,props:j,ref:$,children:N,dynamicChildren:O,shapeFlag:W,patchFlag:X,dirs:Q,cacheIndex:re}=v;if(X===-2&&(x=!1),$!=null&&Qr($,null,L,v,!0),re!=null&&(h.renderCache[re]=void 0),W&256){h.ctx.deactivate(v);return}const oe=W&1&&Q,_e=!Jn(v);let de;if(_e&&(de=j&&j.onVnodeBeforeUnmount)&&tt(de,h,v),W&6)_t(v.component,L,k);else{if(W&128){v.suspense.unmount(L,k);return}oe&&yt(v,null,h,"beforeUnmount"),W&64?v.type.remove(v,h,L,U,k):O&&!O.hasOnce&&(R!==He||X>0&&X&64)?$e(O,h,L,!1,!0):(R===He&&X&384||!x&&W&16)&&$e(N,h,L),k&&Ue(v)}(_e&&(de=j&&j.onVnodeUnmounted)||oe)&&je(()=>{de&&tt(de,h,v),oe&&yt(v,null,h,"unmounted")},L)},Ue=v=>{const{type:h,el:L,anchor:k,transition:x}=v;if(h===He){wt(L,k);return}if(h===Xn){C(v);return}const R=()=>{o(L),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(v.shapeFlag&1&&x&&!x.persisted){const{leave:j,delayLeave:$}=x,N=()=>j(L,R);$?$(v.el,R,N):N()}else R()},wt=(v,h)=>{let L;for(;v!==h;)L=p(v),o(v),v=L;o(h)},_t=(v,h,L)=>{const{bum:k,scope:x,update:R,subTree:j,um:$,m:N,a:O}=v;xa(N),xa(O),k&&yo(k),x.stop(),R&&(R.active=!1,Re(j,v,h,L)),$&&je($,h),je(()=>{v.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&v.asyncDep&&!v.asyncResolved&&v.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve())},$e=(v,h,L,k=!1,x=!1,R=0)=>{for(let j=R;j{if(v.shapeFlag&6)return S(v.component.subTree);if(v.shapeFlag&128)return v.suspense.next();const h=p(v.anchor||v.el),L=h&&h[tf];return L?p(L):h};let z=!1;const F=(v,h,L)=>{v==null?h._vnode&&Re(h._vnode,null,null,!0):w(h._vnode||null,v,h,null,null,null,L),h._vnode=v,z||(z=!0,ba(),Kr(),z=!1)},U={p:w,um:Re,m:Ze,r:Ue,mt:fe,mc:Y,pc:J,pbc:P,n:S,o:e};let ae,ve;return t&&([ae,ve]=t(U)),{render:F,hydrate:ae,createApp:Kd(F,ae)}}function Ao({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function en({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Rs(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Is(e,t,n=!1){const r=e.children,o=t.children;if(ee(r)&&ee(o))for(let l=0;l>1,e[n[i]]0&&(t[r]=n[l-1]),n[l]=r)}}for(l=n.length,a=n[l-1];l-- >0;)n[l]=a,a=t[a];return n}function Ds(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ds(t)}function xa(e){if(e)for(let t=0;tAe(uf);function Ms(e,t){return Dl(e,null,t)}const Vr={};function le(e,t,n){return Dl(e,t,n)}function Dl(e,t,{immediate:n,deep:r,flush:o,once:l,onTrack:a,onTrigger:i}=Te){if(t&&l){const I=t;t=(...V)=>{I(...V),M()}}const s=De,c=I=>r===!0?I:on(I,r===!1?1:void 0);let d,f=!1,p=!1;if(Me(e)?(d=()=>e.value,f=Dn(e)):xn(e)?(d=()=>c(e),f=!0):ee(e)?(p=!0,f=e.some(I=>xn(I)||Dn(I)),d=()=>e.map(I=>{if(Me(I))return I.value;if(xn(I))return c(I);if(ne(I))return Ht(I,s,2)})):ne(e)?t?d=()=>Ht(e,s,2):d=()=>(m&&m(),it(e,s,3,[_])):d=lt,t&&r){const I=d;d=()=>on(I())}let m,_=I=>{m=g.onStop=()=>{Ht(I,s,4),m=g.onStop=void 0}},w;if(Er)if(_=lt,t?n&&it(t,s,3,[d(),p?[]:void 0,_]):d(),o==="sync"){const I=df();w=I.__watcherHandles||(I.__watcherHandles=[])}else return lt;let E=p?new Array(e.length).fill(Vr):Vr;const y=()=>{if(!(!g.active||!g.dirty))if(t){const I=g.run();(r||f||(p?I.some((V,Y)=>Wt(V,E[Y])):Wt(I,E)))&&(m&&m(),it(t,s,3,[I,E===Vr?void 0:p&&E[0]===Vr?[]:E,_]),E=I)}else g.run()};y.allowRecurse=!!t;let T;o==="sync"?T=y:o==="post"?T=()=>je(y,s&&s.suspense):(y.pre=!0,s&&(y.id=s.uid),T=()=>ao(y));const g=new wl(d,lt,T),C=Wi(),M=()=>{g.stop(),C&&_l(C.effects,g)};return t?n?y():E=g.run():o==="post"?je(g.run.bind(g),s&&s.suspense):g.run(),w&&w.push(M),M}function ff(e,t,n){const r=this.proxy,o=Se(e)?e.includes(".")?$s(r,e):()=>r[e]:e.bind(r,r);let l;ne(t)?l=t:(l=t.handler,n=t);const a=yr(this),i=Dl(o,l.bind(r),n);return a(),i}function $s(e,t){const n=t.split(".");return()=>{let r=e;for(let o=0;o{on(r,t,n)});else if(Ni(e)){for(const r in e)on(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&on(e[r],t,n)}return e}const pf=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Xe(t)}Modifiers`]||e[`${mn(t)}Modifiers`];function mf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Te;let o=n;const l=t.startsWith("update:"),a=l&&pf(r,t.slice(7));a&&(a.trim&&(o=n.map(d=>Se(d)?d.trim():d)),a.number&&(o=n.map($u)));let i,s=r[i=bo(t)]||r[i=bo(Xe(t))];!s&&l&&(s=r[i=bo(mn(t))]),s&&it(s,e,6,o);const c=r[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,it(c,e,6,o)}}function Vs(e,t,n=!1){const r=t.emitsCache,o=r.get(e);if(o!==void 0)return o;const l=e.emits;let a={},i=!1;if(!ne(e)){const s=c=>{const d=Vs(c,t,!0);d&&(i=!0,Pe(a,d))};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}return!l&&!i?(he(e)&&r.set(e,null),null):(ee(l)?l.forEach(s=>a[s]=null):Pe(a,l),he(e)&&r.set(e,a),a)}function so(e,t){return!e||!mr(t)?!1:(t=t.slice(2).replace(/Once$/,""),se(e,t[0].toLowerCase()+t.slice(1))||se(e,mn(t))||se(e,t))}function Co(e){const{type:t,vnode:n,proxy:r,withProxy:o,propsOptions:[l],slots:a,attrs:i,emit:s,render:c,renderCache:d,props:f,data:p,setupState:m,ctx:_,inheritAttrs:w}=e,E=Yr(e);let y,T;try{if(n.shapeFlag&4){const C=o||r,M=C;y=rt(c.call(M,C,d,f,m,p,_)),T=i}else{const C=t;y=rt(C.length>1?C(f,{attrs:i,slots:a,emit:s}):C(f,null)),T=t.props?i:vf(i)}}catch(C){Zn.length=0,gr(C,e,1),y=Le(ot)}let g=y;if(T&&w!==!1){const C=Object.keys(T),{shapeFlag:M}=g;C.length&&M&7&&(l&&C.some(gl)&&(T=hf(T,l)),g=qt(g,T,!1,!0))}return n.dirs&&(g=qt(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),y=g,Yr(E),y}const vf=e=>{let t;for(const n in e)(n==="class"||n==="style"||mr(n))&&((t||(t={}))[n]=e[n]);return t},hf=(e,t)=>{const n={};for(const r in e)(!gl(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function gf(e,t,n){const{props:r,children:o,component:l}=e,{props:a,children:i,patchFlag:s}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&s>=0){if(s&1024)return!0;if(s&16)return r?ka(r,a,c):!!a;if(s&8){const d=t.dynamicProps;for(let f=0;fe.__isSuspense;function Ns(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const He=Symbol.for("v-fgt"),fn=Symbol.for("v-txt"),ot=Symbol.for("v-cmt"),Xn=Symbol.for("v-stc"),Zn=[];let Je=null;function Nr(e=!1){Zn.push(Je=e?null:[])}function yf(){Zn.pop(),Je=Zn[Zn.length-1]||null}let ir=1;function Pa(e){ir+=e,e<0&&Je&&(Je.hasOnce=!0)}function Bs(e){return e.dynamicChildren=ir>0?Je||An:null,yf(),ir>0&&Je&&Je.push(e),e}function Ef(e,t,n,r,o,l){return Bs(br(e,t,n,r,o,l,!0))}function So(e,t,n,r,o){return Bs(Le(e,t,n,r,o,!0))}function el(e){return e?e.__v_isVNode===!0:!1}function ln(e,t){return e.type===t.type&&e.key===t.key}const Fs=({key:e})=>e??null,Wr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Se(e)||Me(e)||ne(e)?{i:at,r:e,k:t,f:!!n}:e:null);function br(e,t=null,n=null,r=0,o=null,l=e===He?0:1,a=!1,i=!1){const s={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Fs(t),ref:t&&Wr(t),scopeId:ds,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:at};return i?(Ml(s,n),l&128&&e.normalize(s)):n&&(s.shapeFlag|=Se(n)?8:16),ir>0&&!a&&Je&&(s.patchFlag>0||l&6)&&s.patchFlag!==32&&Je.push(s),s}const Le=wf;function wf(e,t=null,n=null,r=0,o=null,l=!1){if((!e||e===Nd)&&(e=ot),el(e)){const i=qt(e,t,!0);return n&&Ml(i,n),ir>0&&!l&&Je&&(i.shapeFlag&6?Je[Je.indexOf(e)]=i:Je.push(i)),i.patchFlag=-2,i}if(If(e)&&(e=e.__vccOpts),t){t=Tf(t);let{class:i,style:s}=t;i&&!Se(i)&&(t.class=El(i)),he(s)&&(rs(s)&&!ee(s)&&(s=Pe({},s)),t.style=yl(s))}const a=Se(e)?1:bf(e)?128:nf(e)?64:he(e)?4:ne(e)?2:0;return br(e,t,n,r,o,a,l,!0)}function Tf(e){return e?rs(e)||As(e)?Pe({},e):e:null}function qt(e,t,n=!1,r=!1){const{props:o,ref:l,patchFlag:a,children:i,transition:s}=e,c=t?Lf(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Fs(c),ref:t&&t.ref?n&&l?ee(l)?l.concat(Wr(t)):[l,Wr(t)]:Wr(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==He?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:s,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return s&&r&&Mn(d,s.clone(d)),d}function js(e=" ",t=0){return Le(fn,null,e,t)}function j0(e,t){const n=Le(Xn,null,e);return n.staticCount=t,n}function rt(e){return e==null||typeof e=="boolean"?Le(ot):ee(e)?Le(He,null,e.slice()):typeof e=="object"?Bt(e):Le(fn,null,String(e))}function Bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function Ml(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(r&65){const o=t.default;o&&(o._c&&(o._d=!1),Ml(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!As(t)?t._ctx=at:o===3&&at&&(at.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:at},n=32):(t=String(t),r&64?(n=16,t=[js(t)]):n=8);e.children=t,e.shapeFlag|=n}function Lf(...e){const t={};for(let n=0;nDe||at;let Xr,tl;{const e=Fi(),t=(n,r)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(r),l=>{o.length>1?o.forEach(a=>a(l)):o[0](l)}};Xr=t("__VUE_INSTANCE_SETTERS__",n=>De=n),tl=t("__VUE_SSR_SETTERS__",n=>Er=n)}const yr=e=>{const t=De;return Xr(e),e.scope.on(),()=>{e.scope.off(),Xr(t)}},Oa=()=>{De&&De.scope.off(),Xr(null)};function Hs(e){return e.vnode.shapeFlag&4}let Er=!1;function xf(e,t=!1,n=!1){t&&tl(t);const{props:r,children:o}=e.vnode,l=Hs(e);Yd(e,r,l,t),Zd(e,o,n);const a=l?kf(e,t):void 0;return t&&tl(!1),a}function kf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jd);const{setup:r}=n;if(r){const o=e.setupContext=r.length>1?Of(e):null,l=yr(e);Kt();const a=Ht(r,e,0,[e.props,o]);if(Yt(),l(),$i(a)){if(a.then(Oa,Oa),t)return a.then(i=>{Ra(e,i,t)}).catch(i=>{gr(i,e,0)});e.asyncDep=a}else Ra(e,a,t)}else zs(e,t)}function Ra(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:he(t)&&(e.setupState=as(t)),zs(e,n)}let Ia;function zs(e,t,n){const r=e.type;if(!e.render){if(!t&&Ia&&!r.render){const o=r.template||Rl(e).template;if(o){const{isCustomElement:l,compilerOptions:a}=e.appContext.config,{delimiters:i,compilerOptions:s}=r,c=Pe(Pe({isCustomElement:l,delimiters:i},a),s);r.render=Ia(o,c)}}e.render=r.render||lt}{const o=yr(e);Kt();try{Hd(e)}finally{Yt(),o()}}}const Pf={get(e,t){return qe(e,"get",""),e[t]}};function Of(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Pf),slots:e.slots,emit:e.emit,expose:t}}function $l(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(as(md(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Qn)return Qn[n](e)},has(t,n){return n in t||n in Qn}})):e.proxy}function Rf(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function If(e){return ne(e)&&"__vccOpts"in e}const A=(e,t)=>vd(e,t,Er);function u(e,t,n){const r=arguments.length;return r===2?he(t)&&!ee(t)?el(t)?Le(e,null,[t]):Le(e,t):Le(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&el(n)&&(n=[n]),Le(e,t,n))}const Df="3.4.38";/** +* @vue/runtime-dom v3.4.38 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Mf="http://www.w3.org/2000/svg",$f="http://www.w3.org/1998/Math/MathML",Ct=typeof document<"u"?document:null,Da=Ct&&Ct.createElement("template"),Vf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t==="svg"?Ct.createElementNS(Mf,e):t==="mathml"?Ct.createElementNS($f,e):n?Ct.createElement(e,{is:n}):Ct.createElement(e);return e==="select"&&r&&r.multiple!=null&&o.setAttribute("multiple",r.multiple),o},createText:e=>Ct.createTextNode(e),createComment:e=>Ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,o,l){const a=n?n.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===l||!(o=o.nextSibling)););else{Da.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const i=Da.content;if(r==="svg"||r==="mathml"){const s=i.firstChild;for(;s.firstChild;)i.appendChild(s.firstChild);i.removeChild(s)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Dt="transition",Wn="animation",$n=Symbol("_vtc"),Ut=(e,{slots:t})=>u(xd,qs(e),t);Ut.displayName="Transition";const Ws={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Nf=Ut.props=Pe({},ps,Ws),tn=(e,t=[])=>{ee(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ma=e=>e?ee(e)?e.some(t=>t.length>1):e.length>1:!1;function qs(e){const t={};for(const D in e)D in Ws||(t[D]=e[D]);if(e.css===!1)return t;const{name:n="v",type:r,duration:o,enterFromClass:l=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:s=l,appearActiveClass:c=a,appearToClass:d=i,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,_=Bf(o),w=_&&_[0],E=_&&_[1],{onBeforeEnter:y,onEnter:T,onEnterCancelled:g,onLeave:C,onLeaveCancelled:M,onBeforeAppear:I=y,onAppear:V=T,onAppearCancelled:Y=g}=t,B=(D,Z,fe)=>{$t(D,Z?d:i),$t(D,Z?c:a),fe&&fe()},P=(D,Z)=>{D._isLeaving=!1,$t(D,f),$t(D,m),$t(D,p),Z&&Z()},H=D=>(Z,fe)=>{const ue=D?V:T,q=()=>B(Z,D,fe);tn(ue,[Z,q]),$a(()=>{$t(Z,D?s:l),Lt(Z,D?d:i),Ma(ue)||Va(Z,r,w,q)})};return Pe(t,{onBeforeEnter(D){tn(y,[D]),Lt(D,l),Lt(D,a)},onBeforeAppear(D){tn(I,[D]),Lt(D,s),Lt(D,c)},onEnter:H(!1),onAppear:H(!0),onLeave(D,Z){D._isLeaving=!0;const fe=()=>P(D,Z);Lt(D,f),Lt(D,p),Gs(),$a(()=>{D._isLeaving&&($t(D,f),Lt(D,m),Ma(C)||Va(D,r,E,fe))}),tn(C,[D,fe])},onEnterCancelled(D){B(D,!1),tn(g,[D])},onAppearCancelled(D){B(D,!0),tn(Y,[D])},onLeaveCancelled(D){P(D),tn(M,[D])}})}function Bf(e){if(e==null)return null;if(he(e))return[xo(e.enter),xo(e.leave)];{const t=xo(e);return[t,t]}}function xo(e){return Vu(e)}function Lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[$n]||(e[$n]=new Set)).add(t)}function $t(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[$n];n&&(n.delete(t),n.size||(e[$n]=void 0))}function $a(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ff=0;function Va(e,t,n,r){const o=e._endId=++Ff,l=()=>{o===e._endId&&r()};if(n)return setTimeout(l,n);const{type:a,timeout:i,propCount:s}=Us(e,t);if(!a)return r();const c=a+"end";let d=0;const f=()=>{e.removeEventListener(c,p),l()},p=m=>{m.target===e&&++d>=s&&f()};setTimeout(()=>{d(n[_]||"").split(", "),o=r(`${Dt}Delay`),l=r(`${Dt}Duration`),a=Na(o,l),i=r(`${Wn}Delay`),s=r(`${Wn}Duration`),c=Na(i,s);let d=null,f=0,p=0;t===Dt?a>0&&(d=Dt,f=a,p=l.length):t===Wn?c>0&&(d=Wn,f=c,p=s.length):(f=Math.max(a,c),d=f>0?a>c?Dt:Wn:null,p=d?d===Dt?l.length:s.length:0);const m=d===Dt&&/\b(transform|all)(,|$)/.test(r(`${Dt}Property`).toString());return{type:d,timeout:f,propCount:p,hasTransform:m}}function Na(e,t){for(;e.lengthBa(n)+Ba(e[r])))}function Ba(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Gs(){return document.body.offsetHeight}function jf(e,t,n){const r=e[$n];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Fa=Symbol("_vod"),Hf=Symbol("_vsh"),zf=Symbol(""),Wf=/(^|;)\s*display\s*:/;function qf(e,t,n){const r=e.style,o=Se(n);let l=!1;if(n&&!o){if(t)if(Se(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&qr(r,i,"")}else for(const a in t)n[a]==null&&qr(r,a,"");for(const a in n)a==="display"&&(l=!0),qr(r,a,n[a])}else if(o){if(t!==n){const a=r[zf];a&&(n+=";"+a),r.cssText=n,l=Wf.test(n)}}else t&&e.removeAttribute("style");Fa in e&&(e[Fa]=l?r.display:"",e[Hf]&&(r.display="none"))}const ja=/\s*!important$/;function qr(e,t,n){if(ee(n))n.forEach(r=>qr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Uf(e,t);ja.test(n)?e.setProperty(mn(r),n.replace(ja,""),"important"):e[r]=n}}const Ha=["Webkit","Moz","ms"],ko={};function Uf(e,t){const n=ko[t];if(n)return n;let r=Xe(t);if(r!=="filter"&&r in e)return ko[t]=r;r=vr(r);for(let o=0;oPo||(Xf.then(()=>Po=0),Po=Date.now());function ep(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;it(tp(r,n.value),t,5,[r])};return n.value=e,n.attached=Zf(),n}function tp(e,t){if(ee(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>o=>!o._stopped&&r&&r(o))}else return t}const Ga=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,np=(e,t,n,r,o,l)=>{const a=o==="svg";t==="class"?jf(e,r,a):t==="style"?qf(e,n,r):mr(t)?gl(t)||Jf(e,t,n,r,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):rp(e,t,r,a))?(Gf(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Wa(e,t,r,a,l,t!=="value")):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Wa(e,t,r,a))};function rp(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ga(t)&&ne(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Ga(t)&&Se(n)?!1:t in e}const Ks=new WeakMap,Ys=new WeakMap,Zr=Symbol("_moveCb"),Ka=Symbol("_enterCb"),Js={name:"TransitionGroup",props:Pe({},Nf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Fn(),r=fs();let o,l;return _s(()=>{if(!o.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!cp(o[0].el,n.vnode.el,a))return;o.forEach(ap),o.forEach(ip);const i=o.filter(sp);Gs(),i.forEach(s=>{const c=s.el,d=c.style;Lt(c,a),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[Zr]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",f),c[Zr]=null,$t(c,a))};c.addEventListener("transitionend",f)})}),()=>{const a=ce(e),i=qs(a);let s=a.tag||He;if(o=[],l)for(let c=0;cdelete e.mode;Js.props;const lp=Js;function ap(e){const t=e.el;t[Zr]&&t[Zr](),t[Ka]&&t[Ka]()}function ip(e){Ys.set(e,e.el.getBoundingClientRect())}function sp(e){const t=Ks.get(e),n=Ys.get(e),r=t.left-n.left,o=t.top-n.top;if(r||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${r}px,${o}px)`,l.transitionDuration="0s",e}}function cp(e,t,n){const r=e.cloneNode(),o=e[$n];o&&o.forEach(i=>{i.split(/\s+/).forEach(s=>s&&r.classList.remove(s))}),n.split(/\s+/).forEach(i=>i&&r.classList.add(i)),r.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(r);const{hasTransform:a}=Us(r);return l.removeChild(r),a}const up=Pe({patchProp:np},Vf);let Oo,Ya=!1;function dp(){return Oo=Ya?Oo:af(up),Ya=!0,Oo}const fp=(...e)=>{const t=dp().createApp(...e),{mount:n}=t;return t.mount=r=>{const o=mp(r);if(o)return n(o,!0,pp(o))},t};function pp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function mp(e){return Se(e)?document.querySelector(e):e}var wr=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),vp=/.md((\?|#).*)?$/,Vl=(e,t="/")=>wr(e)||e.startsWith("/")&&!e.startsWith(t)&&!vp.test(e),Tr=e=>/^(https?:)?\/\//.test(e),Ja=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=t.substring(0,t.length-3)+".html":t.endsWith(".html")||(t=t+".html"),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},hp="http://.",gp=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Ja(new URL(`${n}/${e}`,hp).pathname)}return Ja(e)},_p=(e,t)=>{const n=Object.keys(e).sort((r,o)=>{const l=o.split("/").length-r.split("/").length;return l!==0?l:o.length-r.length});for(const r of n)if(t.startsWith(r))return r;return"/"},bp=/(#|\?)/,Qs=e=>{const[t,...n]=e.split(bp);return{pathname:t,hashAndQueries:n.join("")}},yp=["link","meta","script","style","noscript","template"],Ep=["title","base"],wp=([e,t,n])=>Ep.includes(e)?e:yp.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([r,o])=>typeof o=="boolean"?o?[r,""]:null:[r,o]).filter(r=>r!=null).sort(([r],[o])=>r.localeCompare(o)),n]):null,Tp=e=>{const t=new Set,n=[];return e.forEach(r=>{const o=wp(r);o&&!t.has(o)&&(t.add(o),n.push(r))}),n},Lp=e=>e[0]==="/"?e:`/${e}`,Xs=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Nl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Zs=e=>e[0]==="/"?e.slice(1):e,Ap=e=>typeof e=="function",Lr=e=>Object.prototype.toString.call(e)==="[object Object]",ke=e=>typeof e=="string";const Cp="modulepreload",Sp=function(e){return"/"+e},Qa={},b=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),a=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=Promise.all(n.map(i=>{if(i=Sp(i),i in Qa)return;Qa[i]=!0;const s=i.endsWith(".css"),c=s?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${c}`))return;const d=document.createElement("link");if(d.rel=s?"stylesheet":Cp,s||(d.as="script",d.crossOrigin=""),d.href=i,a&&d.setAttribute("nonce",a),document.head.appendChild(d),s)return new Promise((f,p)=>{d.addEventListener("load",f),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})}))}return o.then(()=>t()).catch(l=>{const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=l,window.dispatchEvent(a),!a.defaultPrevented)throw l})},xp=JSON.parse('{"/master/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4,%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html":"/master/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html","/v1.3.4/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4,%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html":"/v1.3.4/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html"}'),kp=Object.fromEntries([["/",{loader:()=>b(()=>import("./index.html-B8bzcZyZ.js"),[]),meta:{t:"首页",i:"home-fill"}}],["/common/companyintegration.html",{loader:()=>b(()=>import("./companyintegration.html-CIWNkBST.js"),[]),meta:{t:"公司使用列表"}}],["/common/dromara.html",{loader:()=>b(()=>import("./dromara.html-DyrFwA2I.js"),[]),meta:{t:"Dromara成员项目"}}],["/common/getinvolved.html",{loader:()=>b(()=>import("./getinvolved.html-DGAjE6o2.js"),[]),meta:{t:"参与贡献"}}],["/common/introduction.html",{loader:()=>b(()=>import("./introduction.html-DIYu8naA.js"),[]),meta:{t:"介绍"}}],["/common/joingroup.html",{loader:()=>b(()=>import("./joingroup.html-CfsT444P.js"),[]),meta:{t:"加入群聊"}}],["/common/learningmaterials.html",{loader:()=>b(()=>import("./learningmaterials.html-C3Wr8Tns.js"),[]),meta:{t:"学习资料"}}],["/common/member.html",{loader:()=>b(()=>import("./member.html-D7oWCOj9.js"),[]),meta:{t:"warm组织成员介绍"}}],["/common/paidservice.html",{loader:()=>b(()=>import("./paidservice.html-DqqKxrtk.js"),[]),meta:{t:"有偿服务"}}],["/common/pr.html",{loader:()=>b(()=>import("./pr.html-B6huTSOY.js"),[]),meta:{t:"贡献者列表"}}],["/common/processdemo.html",{loader:()=>b(()=>import("./processdemo.html-hWLjMsi1.js"),__vite__mapDeps([0,1])),meta:{t:"功能演示"}}],["/common/projectexample.html",{loader:()=>b(()=>import("./projectexample.html-kJbGUDET.js"),[]),meta:{t:"集成项目示例"}}],["/common/submitpr.html",{loader:()=>b(()=>import("./submitpr.html-DlRw69fC.js"),[]),meta:{t:"提交pr"}}],["/common/support.html",{loader:()=>b(()=>import("./support.html-svKjc6Ie.js"),[]),meta:{t:"你可以请作者喝杯咖啡表示鼓励"}}],["/common/troubleshooting.html",{loader:()=>b(()=>import("./troubleshooting.html-DT_fqW60.js"),[]),meta:{t:"常见问题"}}],["/common/update.html",{loader:()=>b(()=>import("./update.html-DZEVw5bk.js"),[]),meta:{t:"更新日志"}}],["/master/guide/api.html",{loader:()=>b(()=>import("./api.html-BH6aJ82S.js"),[]),meta:{t:"核心api"}}],["/master/guide/collaboration.html",{loader:()=>b(()=>import("./collaboration.html-BEhbnxMV.js"),[]),meta:{t:"流程协作(票签等)"}}],["/master/guide/condition.html",{loader:()=>b(()=>import("./condition.html-D2yCiGrU.js"),[]),meta:{t:"条件表达式"}}],["/master/guide/condition_two_open.html",{loader:()=>b(()=>import("./condition_two_open.html-DtLxnRI2.js"),[]),meta:{t:"条件表达式扩展"}}],["/master/guide/config.html",{loader:()=>b(()=>import("./config.html-DHxCMnvS.js"),[]),meta:{t:"配置文件"}}],["/master/guide/customstatus.html",{loader:()=>b(()=>import("./customstatus.html-DCnmMeOc.js"),[]),meta:{t:"自定义流程状态"}}],["/master/guide/datafillhandler.html",{loader:()=>b(()=>import("./datafillhandler.html-D5dwlpV9.js"),[]),meta:{t:"数据填充器"}}],["/master/guide/designerIntroduced.html",{loader:()=>b(()=>import("./designerIntroduced.html-DEZ8UQDY.js"),[]),meta:{t:"设计器引入"}}],["/master/guide/designer_two_open.html",{loader:()=>b(()=>import("./designer_two_open.html-DYKvBB0h.js"),[]),meta:{t:"设计器二开"}}],["/master/guide/expression_ex.html",{loader:()=>b(()=>import("./expression_ex.html-CVFbKy2c.js"),[]),meta:{t:"表达式扩展"}}],["/master/guide/flowchart.html",{loader:()=>b(()=>import("./flowchart.html-CLmQK5rX.js"),[]),meta:{t:"流程图"}}],["/master/guide/form.html",{loader:()=>b(()=>import("./form.html-BVhvghfI.js"),[]),meta:{t:"表单管理"}}],["/master/guide/handler_change.html",{loader:()=>b(()=>import("./handler_change.html-Cz4xcTwW.js"),[]),meta:{t:"办理人变更"}}],["/master/guide/jsonlib.html",{loader:()=>b(()=>import("./jsonlib.html-CMbE8R9e.js"),[]),meta:{t:"json库扩展"}}],["/master/guide/listener.html",{loader:()=>b(()=>import("./listener.html-fsNBth_I.js"),__vite__mapDeps([2,3])),meta:{t:"监听器"}}],["/master/guide/listener_two_open.html",{loader:()=>b(()=>import("./listener_two_open.html-DckR0C2a.js"),[]),meta:{t:"监听器表达式扩展"}}],["/master/guide/logicdelete.html",{loader:()=>b(()=>import("./logicdelete.html-DSeDR5Sf.js"),[]),meta:{t:"逻辑删除"}}],["/master/guide/ormusagetips.html",{loader:()=>b(()=>import("./ormusagetips.html-C_1I-Y34.js"),[]),meta:{t:"orm扩展包使用技巧"}}],["/master/guide/permission_handler.html",{loader:()=>b(()=>import("./permission_handler.html-CKJTJG9Q.js"),[]),meta:{t:"办理人权限处理器"}}],["/master/guide/processterm.html",{loader:()=>b(()=>import("./processterm.html-DvMM5cjt.js"),[]),meta:{t:"术语规则"}}],["/master/guide/started.html",{loader:()=>b(()=>import("./started.html-BydvRmBk.js"),[]),meta:{t:"快速开始"}}],["/master/guide/table.html",{loader:()=>b(()=>import("./table.html-Cs279dnd.js"),[]),meta:{t:"表结构"}}],["/master/guide/tenant.html",{loader:()=>b(()=>import("./tenant.html-BCRwjBLy.js"),[]),meta:{t:"多租户"}}],["/master/guide/variable.html",{loader:()=>b(()=>import("./variable.html-CjcGnRTt.js"),[]),meta:{t:"流程变量"}}],["/master/guide/variableStategy.html",{loader:()=>b(()=>import("./variableStategy.html-B0BFaeG5.js"),[]),meta:{t:"办理人变量表达式"}}],["/master/guide/variableStatey_two_open.html",{loader:()=>b(()=>import("./variableStatey_two_open.html-Bz9AmBM-.js"),[]),meta:{t:"办理人变量表达式扩展"}}],["/v1.2.10/guide/api.html",{loader:()=>b(()=>import("./api.html-BXC3eAfP.js"),[]),meta:{t:"核心api"}}],["/v1.2.10/guide/config.html",{loader:()=>b(()=>import("./config.html-DE1HS596.js"),[]),meta:{t:"配置文件"}}],["/v1.2.10/guide/customstatus.html",{loader:()=>b(()=>import("./customstatus.html-BKiVfeDL.js"),[]),meta:{t:"自定义流程状态"}}],["/v1.2.10/guide/datafillhandler.html",{loader:()=>b(()=>import("./datafillhandler.html-DJ46FaQl.js"),[]),meta:{t:"填充器"}}],["/v1.2.10/guide/expression.html",{loader:()=>b(()=>import("./expression.html-ssVDXCrR.js"),[]),meta:{t:"条件表达式"}}],["/v1.2.10/guide/flowchart.html",{loader:()=>b(()=>import("./flowchart.html-D9p0Ahy7.js"),[]),meta:{t:"流程图"}}],["/v1.2.10/guide/form.html",{loader:()=>b(()=>import("./form.html-DdQl9i_E.js"),[]),meta:{t:"表单管理"}}],["/v1.2.10/guide/jsonlib.html",{loader:()=>b(()=>import("./jsonlib.html-BP_ts1ga.js"),[]),meta:{t:"json库扩展"}}],["/v1.2.10/guide/listener.html",{loader:()=>b(()=>import("./listener.html-BOFoVt_U.js"),__vite__mapDeps([4,3,5,6])),meta:{t:"监听器"}}],["/v1.2.10/guide/logicdelete.html",{loader:()=>b(()=>import("./logicdelete.html-DwgmCuSe.js"),[]),meta:{t:"逻辑删除"}}],["/v1.2.10/guide/ormusagetips.html",{loader:()=>b(()=>import("./ormusagetips.html-xK-KExHz.js"),[]),meta:{t:"orm扩展包使用技巧"}}],["/v1.2.10/guide/processdemo.html",{loader:()=>b(()=>import("./processdemo.html-WMbuD_Yw.js"),__vite__mapDeps([7,1,5])),meta:{t:"功能演示"}}],["/v1.2.10/guide/processrule.html",{loader:()=>b(()=>import("./processrule.html-KSFqmY4H.js"),[]),meta:{t:"流程规则"}}],["/v1.2.10/guide/processterm.html",{loader:()=>b(()=>import("./processterm.html-DrI3L1n1.js"),[]),meta:{t:"流程术语"}}],["/v1.2.10/guide/started.html",{loader:()=>b(()=>import("./started.html-39wm_Cq8.js"),[]),meta:{t:"快速开始"}}],["/v1.2.10/guide/table.html",{loader:()=>b(()=>import("./table.html-kvAEhBzY.js"),[]),meta:{t:"表结构"}}],["/v1.2.10/guide/tenant.html",{loader:()=>b(()=>import("./tenant.html-BlwnuF1n.js"),[]),meta:{t:"多租户"}}],["/v1.2.10/guide/variable.html",{loader:()=>b(()=>import("./variable.html-BFT1m7xX.js"),[]),meta:{t:"流程变量"}}],["/v1.2.10/guide/variableStategy.html",{loader:()=>b(()=>import("./variableStategy.html-BorWS0gK.js"),[]),meta:{t:"办理人变量设置"}}],["/v1.3.0/guide/api.html",{loader:()=>b(()=>import("./api.html-DYM9JCAT.js"),[]),meta:{t:"核心api"}}],["/v1.3.0/guide/config.html",{loader:()=>b(()=>import("./config.html-B02RPBlY.js"),[]),meta:{t:"配置文件"}}],["/v1.3.0/guide/customstatus.html",{loader:()=>b(()=>import("./customstatus.html-DeZKmu2N.js"),[]),meta:{t:"自定义流程状态"}}],["/v1.3.0/guide/datafillhandler.html",{loader:()=>b(()=>import("./datafillhandler.html-gbEr7z3W.js"),[]),meta:{t:"填充器"}}],["/v1.3.0/guide/designerIntroduced.html",{loader:()=>b(()=>import("./designerIntroduced.html-ZX2oFaRF.js"),[]),meta:{t:"设计器引入"}}],["/v1.3.0/guide/expression.html",{loader:()=>b(()=>import("./expression.html-Db5bVoDY.js"),[]),meta:{t:"条件表达式"}}],["/v1.3.0/guide/flowchart.html",{loader:()=>b(()=>import("./flowchart.html-RUbV3mSf.js"),[]),meta:{t:"流程图"}}],["/v1.3.0/guide/form.html",{loader:()=>b(()=>import("./form.html-BoTIWAkT.js"),[]),meta:{t:"表单管理"}}],["/v1.3.0/guide/jsonlib.html",{loader:()=>b(()=>import("./jsonlib.html-DiTFmOC1.js"),[]),meta:{t:"json库扩展"}}],["/v1.3.0/guide/listener.html",{loader:()=>b(()=>import("./listener.html-DRdH9pov.js"),__vite__mapDeps([8,3,5,6])),meta:{t:"监听器"}}],["/v1.3.0/guide/logicdelete.html",{loader:()=>b(()=>import("./logicdelete.html-k9kenL1o.js"),[]),meta:{t:"逻辑删除"}}],["/v1.3.0/guide/ormusagetips.html",{loader:()=>b(()=>import("./ormusagetips.html-DRGt4LlU.js"),[]),meta:{t:"orm扩展包使用技巧"}}],["/v1.3.0/guide/processdemo.html",{loader:()=>b(()=>import("./processdemo.html-CR88_h0D.js"),__vite__mapDeps([9,1,5])),meta:{t:"功能演示"}}],["/v1.3.0/guide/processrule.html",{loader:()=>b(()=>import("./processrule.html-D2HTTpiJ.js"),[]),meta:{t:"流程规则"}}],["/v1.3.0/guide/processterm.html",{loader:()=>b(()=>import("./processterm.html-Cd33xN5C.js"),[]),meta:{t:"流程术语"}}],["/v1.3.0/guide/started.html",{loader:()=>b(()=>import("./started.html-YiOe2yFh.js"),[]),meta:{t:"快速开始"}}],["/v1.3.0/guide/table.html",{loader:()=>b(()=>import("./table.html-4y1j3SMj.js"),[]),meta:{t:"表结构"}}],["/v1.3.0/guide/tenant.html",{loader:()=>b(()=>import("./tenant.html-DfUHxFei.js"),[]),meta:{t:"多租户"}}],["/v1.3.0/guide/variable.html",{loader:()=>b(()=>import("./variable.html-Djj3fvZc.js"),[]),meta:{t:"流程变量"}}],["/v1.3.0/guide/variableStategy.html",{loader:()=>b(()=>import("./variableStategy.html-DcgJBhyd.js"),[]),meta:{t:"办理人变量设置"}}],["/v1.3.1/guide/api.html",{loader:()=>b(()=>import("./api.html-Cddwjqk6.js"),[]),meta:{t:"核心api"}}],["/v1.3.1/guide/config.html",{loader:()=>b(()=>import("./config.html-CNMJIWgu.js"),[]),meta:{t:"配置文件"}}],["/v1.3.1/guide/customstatus.html",{loader:()=>b(()=>import("./customstatus.html-B62gVjrR.js"),[]),meta:{t:"自定义流程状态"}}],["/v1.3.1/guide/datafillhandler.html",{loader:()=>b(()=>import("./datafillhandler.html-Br8bnZdI.js"),[]),meta:{t:"填充器"}}],["/v1.3.1/guide/designerIntroduced.html",{loader:()=>b(()=>import("./designerIntroduced.html-BMqyiMhA.js"),[]),meta:{t:"设计器引入"}}],["/v1.3.1/guide/expression.html",{loader:()=>b(()=>import("./expression.html-DqhWqah-.js"),[]),meta:{t:"条件表达式"}}],["/v1.3.1/guide/flowchart.html",{loader:()=>b(()=>import("./flowchart.html-CqOWeR6g.js"),[]),meta:{t:"流程图"}}],["/v1.3.1/guide/form.html",{loader:()=>b(()=>import("./form.html-D_oZ2I92.js"),[]),meta:{t:"表单管理"}}],["/v1.3.1/guide/jsonlib.html",{loader:()=>b(()=>import("./jsonlib.html-CiLFSFUL.js"),[]),meta:{t:"json库扩展"}}],["/v1.3.1/guide/listener.html",{loader:()=>b(()=>import("./listener.html-CazPCO3k.js"),__vite__mapDeps([10,3,5,6])),meta:{t:"监听器"}}],["/v1.3.1/guide/logicdelete.html",{loader:()=>b(()=>import("./logicdelete.html-COdzCEWt.js"),[]),meta:{t:"逻辑删除"}}],["/v1.3.1/guide/ormusagetips.html",{loader:()=>b(()=>import("./ormusagetips.html-MMiW_B3L.js"),[]),meta:{t:"orm扩展包使用技巧"}}],["/v1.3.1/guide/processdemo.html",{loader:()=>b(()=>import("./processdemo.html-CiJsczSE.js"),__vite__mapDeps([11,1,5])),meta:{t:"功能演示"}}],["/v1.3.1/guide/processrule.html",{loader:()=>b(()=>import("./processrule.html-DAlK6Knz.js"),[]),meta:{t:"流程规则"}}],["/v1.3.1/guide/processterm.html",{loader:()=>b(()=>import("./processterm.html-Cu2vVnGs.js"),[]),meta:{t:"流程术语"}}],["/v1.3.1/guide/started.html",{loader:()=>b(()=>import("./started.html-CSMIQ7K0.js"),[]),meta:{t:"快速开始"}}],["/v1.3.1/guide/table.html",{loader:()=>b(()=>import("./table.html-CBsGBO_C.js"),[]),meta:{t:"表结构"}}],["/v1.3.1/guide/tenant.html",{loader:()=>b(()=>import("./tenant.html-HkqjDTXD.js"),[]),meta:{t:"多租户"}}],["/v1.3.1/guide/variable.html",{loader:()=>b(()=>import("./variable.html-BQm1ctmx.js"),[]),meta:{t:"流程变量"}}],["/v1.3.1/guide/variableStategy.html",{loader:()=>b(()=>import("./variableStategy.html-ByA1-F4n.js"),[]),meta:{t:"办理人变量设置"}}],["/v1.3.3/guide/api.html",{loader:()=>b(()=>import("./api.html-oaCD1ICF.js"),[]),meta:{t:"核心api"}}],["/v1.3.3/guide/config.html",{loader:()=>b(()=>import("./config.html-x-jgBl6i.js"),[]),meta:{t:"配置文件"}}],["/v1.3.3/guide/customstatus.html",{loader:()=>b(()=>import("./customstatus.html-CyPc38MN.js"),[]),meta:{t:"自定义流程状态"}}],["/v1.3.3/guide/datafillhandler.html",{loader:()=>b(()=>import("./datafillhandler.html-BLUOAFZC.js"),[]),meta:{t:"填充器"}}],["/v1.3.3/guide/designerIntroduced.html",{loader:()=>b(()=>import("./designerIntroduced.html-BQWO44vC.js"),[]),meta:{t:"设计器引入"}}],["/v1.3.3/guide/expression.html",{loader:()=>b(()=>import("./expression.html-Cgb8DK-Q.js"),[]),meta:{t:"条件表达式"}}],["/v1.3.3/guide/flowchart.html",{loader:()=>b(()=>import("./flowchart.html-C1aGAxqm.js"),[]),meta:{t:"流程图"}}],["/v1.3.3/guide/form.html",{loader:()=>b(()=>import("./form.html-DtueXSa4.js"),[]),meta:{t:"表单管理"}}],["/v1.3.3/guide/jsonlib.html",{loader:()=>b(()=>import("./jsonlib.html-DVJJbGhm.js"),[]),meta:{t:"json库扩展"}}],["/v1.3.3/guide/listener.html",{loader:()=>b(()=>import("./listener.html-Ce97pusp.js"),__vite__mapDeps([12,3,5,6])),meta:{t:"监听器"}}],["/v1.3.3/guide/logicdelete.html",{loader:()=>b(()=>import("./logicdelete.html-Bzg-I8I9.js"),[]),meta:{t:"逻辑删除"}}],["/v1.3.3/guide/ormusagetips.html",{loader:()=>b(()=>import("./ormusagetips.html-DW04tajw.js"),[]),meta:{t:"orm扩展包使用技巧"}}],["/v1.3.3/guide/processdemo.html",{loader:()=>b(()=>import("./processdemo.html-BDLvehd4.js"),__vite__mapDeps([13,1,5])),meta:{t:"功能演示"}}],["/v1.3.3/guide/processrule.html",{loader:()=>b(()=>import("./processrule.html-8mamH3gF.js"),[]),meta:{t:"流程规则"}}],["/v1.3.3/guide/processterm.html",{loader:()=>b(()=>import("./processterm.html-yG2I4QtU.js"),[]),meta:{t:"流程术语"}}],["/v1.3.3/guide/started.html",{loader:()=>b(()=>import("./started.html-9ScuH9P7.js"),[]),meta:{t:"快速开始"}}],["/v1.3.3/guide/table.html",{loader:()=>b(()=>import("./table.html-BDc80wN5.js"),[]),meta:{t:"表结构"}}],["/v1.3.3/guide/tenant.html",{loader:()=>b(()=>import("./tenant.html-wqHfBleL.js"),[]),meta:{t:"多租户"}}],["/v1.3.3/guide/variable.html",{loader:()=>b(()=>import("./variable.html-5FfU-4Ut.js"),[]),meta:{t:"流程变量"}}],["/v1.3.3/guide/variableStategy.html",{loader:()=>b(()=>import("./variableStategy.html-Du3SOBnE.js"),[]),meta:{t:"办理人变量设置"}}],["/v1.3.4/guide/api.html",{loader:()=>b(()=>import("./api.html-m-D69_L7.js"),[]),meta:{t:"核心api"}}],["/v1.3.4/guide/condition.html",{loader:()=>b(()=>import("./condition.html-sNRn59tg.js"),[]),meta:{t:"条件表达式"}}],["/v1.3.4/guide/config.html",{loader:()=>b(()=>import("./config.html-uImeuKr4.js"),[]),meta:{t:"配置文件"}}],["/v1.3.4/guide/customstatus.html",{loader:()=>b(()=>import("./customstatus.html-BLbYN8ig.js"),[]),meta:{t:"自定义流程状态"}}],["/v1.3.4/guide/datafillhandler.html",{loader:()=>b(()=>import("./datafillhandler.html-Ba3B8EYW.js"),[]),meta:{t:"数据填充器"}}],["/v1.3.4/guide/designerIntroduced.html",{loader:()=>b(()=>import("./designerIntroduced.html-B5M3frEI.js"),[]),meta:{t:"设计器引入"}}],["/v1.3.4/guide/designer_two_open.html",{loader:()=>b(()=>import("./designer_two_open.html-DpjEfTRO.js"),[]),meta:{t:"设计器二开"}}],["/v1.3.4/guide/expression.html",{loader:()=>b(()=>import("./expression.html-C5m6Jchy.js"),[]),meta:{t:"条件表达式"}}],["/v1.3.4/guide/expression_ex.html",{loader:()=>b(()=>import("./expression_ex.html-BT_dhl_D.js"),[]),meta:{t:"表达式扩展"}}],["/v1.3.4/guide/flowchart.html",{loader:()=>b(()=>import("./flowchart.html-F9qPlMQx.js"),[]),meta:{t:"流程图"}}],["/v1.3.4/guide/form.html",{loader:()=>b(()=>import("./form.html-enMB0PKs.js"),[]),meta:{t:"表单管理"}}],["/v1.3.4/guide/jsonlib.html",{loader:()=>b(()=>import("./jsonlib.html-BkdH3My7.js"),[]),meta:{t:"json库扩展"}}],["/v1.3.4/guide/listener.html",{loader:()=>b(()=>import("./listener.html-CITBKrL6.js"),__vite__mapDeps([14,3])),meta:{t:"监听器"}}],["/v1.3.4/guide/logicdelete.html",{loader:()=>b(()=>import("./logicdelete.html-DVdhQQCA.js"),[]),meta:{t:"逻辑删除"}}],["/v1.3.4/guide/ormusagetips.html",{loader:()=>b(()=>import("./ormusagetips.html-BSKKTtU6.js"),[]),meta:{t:"orm扩展包使用技巧"}}],["/v1.3.4/guide/permission_handler.html",{loader:()=>b(()=>import("./permission_handler.html-weSnF7ak.js"),[]),meta:{t:"办理人权限处理器"}}],["/v1.3.4/guide/processdemo.html",{loader:()=>b(()=>import("./processdemo.html-Bs6TiUVU.js"),__vite__mapDeps([15,1,5])),meta:{t:"功能演示"}}],["/v1.3.4/guide/processrule.html",{loader:()=>b(()=>import("./processrule.html-Cw8dK-ms.js"),[]),meta:{t:"流程规则"}}],["/v1.3.4/guide/processterm.html",{loader:()=>b(()=>import("./processterm.html-DfTSlMLJ.js"),[]),meta:{t:"术语规则"}}],["/v1.3.4/guide/started.html",{loader:()=>b(()=>import("./started.html-CXLmk4OX.js"),[]),meta:{t:"快速开始"}}],["/v1.3.4/guide/table.html",{loader:()=>b(()=>import("./table.html-D9qZaFnd.js"),[]),meta:{t:"表结构"}}],["/v1.3.4/guide/tenant.html",{loader:()=>b(()=>import("./tenant.html-CIEckXuv.js"),[]),meta:{t:"多租户"}}],["/v1.3.4/guide/variable.html",{loader:()=>b(()=>import("./variable.html-ChJ9gb_Y.js"),[]),meta:{t:"流程变量"}}],["/v1.3.4/guide/variableStategy.html",{loader:()=>b(()=>import("./variableStategy.html-B1iwrLoZ.js"),[]),meta:{t:"办理人变量表达式"}}],["/master/guide/update/solon%E9%9B%86%E6%88%90Warm-Flow.html",{loader:()=>b(()=>import("./solon集成Warm-Flow.html-BOxqRN9L.js"),[]),meta:{t:"一个自带流程设计器的工作流引擎"}}],["/master/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html",{loader:()=>b(()=>import("./Warm-Flow发布1.3.4_ 支持solon和便捷性提升.html-BJXEugzx.js"),[]),meta:{t:"Warm-Flow发布1.3.4, 支持solon和便捷性提升"}}],["/v1.3.0/guide/update/%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B8%A6%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%BC%95%E6%93%8E.html",{loader:()=>b(()=>import("./一个自带流程设计器的工作流引擎.html-C6b4HCXL.js"),[]),meta:{t:"一个自带流程设计器的工作流引擎"}}],["/v1.3.1/guide/update/%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B8%A6%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%BC%95%E6%93%8E.html",{loader:()=>b(()=>import("./一个自带流程设计器的工作流引擎.html-DQW8qccx.js"),[]),meta:{t:"一个自带流程设计器的工作流引擎"}}],["/v1.3.3/guide/update/%E4%B8%80%E4%B8%AA%E8%87%AA%E5%B8%A6%E6%B5%81%E7%A8%8B%E8%AE%BE%E8%AE%A1%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%BC%95%E6%93%8E.html",{loader:()=>b(()=>import("./一个自带流程设计器的工作流引擎.html-BZvNWSI8.js"),[]),meta:{t:"一个自带流程设计器的工作流引擎"}}],["/v1.3.4/guide/update/solon%E9%9B%86%E6%88%90Warm-Flow.html",{loader:()=>b(()=>import("./solon集成Warm-Flow.html-B7hbihmm.js"),[]),meta:{t:"一个自带流程设计器的工作流引擎"}}],["/v1.3.4/guide/update/Warm-Flow%E5%8F%91%E5%B8%831.3.4_%20%E6%94%AF%E6%8C%81solon%E5%92%8C%E4%BE%BF%E6%8D%B7%E6%80%A7%E6%8F%90%E5%8D%87.html",{loader:()=>b(()=>import("./Warm-Flow发布1.3.4_ 支持solon和便捷性提升.html-BhHMSxj5.js"),[]),meta:{t:"Warm-Flow发布1.3.4, 支持solon和便捷性提升"}}],["/404.html",{loader:()=>b(()=>import("./404.html-BrGRT6Vs.js"),[]),meta:{t:""}}],["/common/",{loader:()=>b(()=>import("./index.html-fahWUrFz.js"),[]),meta:{t:"Common"}}],["/master/guide/",{loader:()=>b(()=>import("./index.html-B5pzNnVp.js"),[]),meta:{t:"Guide"}}],["/master/",{loader:()=>b(()=>import("./index.html-Bvnj6sDb.js"),[]),meta:{t:"Master"}}],["/v1.2.10/guide/",{loader:()=>b(()=>import("./index.html-BgPgKLmM.js"),[]),meta:{t:"Guide"}}],["/v1.2.10/",{loader:()=>b(()=>import("./index.html-BzPZ79u5.js"),[]),meta:{t:"V1.2.10"}}],["/v1.3.0/guide/",{loader:()=>b(()=>import("./index.html-D6bkhiqt.js"),[]),meta:{t:"Guide"}}],["/v1.3.0/",{loader:()=>b(()=>import("./index.html-C4xG4Qtn.js"),[]),meta:{t:"V1.3.0"}}],["/v1.3.1/guide/",{loader:()=>b(()=>import("./index.html-BpCXfv-u.js"),[]),meta:{t:"Guide"}}],["/v1.3.1/",{loader:()=>b(()=>import("./index.html-Fghpl-I8.js"),[]),meta:{t:"V1.3.1"}}],["/v1.3.3/guide/",{loader:()=>b(()=>import("./index.html-BQjFVXfN.js"),[]),meta:{t:"Guide"}}],["/v1.3.3/",{loader:()=>b(()=>import("./index.html-DrFQxvl-.js"),[]),meta:{t:"V1.3.3"}}],["/v1.3.4/guide/",{loader:()=>b(()=>import("./index.html-Dpb9Nnsi.js"),[]),meta:{t:"Guide"}}],["/v1.3.4/",{loader:()=>b(()=>import("./index.html-OrEXBOoH.js"),[]),meta:{t:"V1.3.4"}}],["/master/guide/update/",{loader:()=>b(()=>import("./index.html-Bk9I_JHa.js"),[]),meta:{t:"Update"}}],["/v1.3.0/guide/update/",{loader:()=>b(()=>import("./index.html-ghsaGV3K.js"),[]),meta:{t:"Update"}}],["/v1.3.1/guide/update/",{loader:()=>b(()=>import("./index.html-BZ2yXWI2.js"),[]),meta:{t:"Update"}}],["/v1.3.3/guide/update/",{loader:()=>b(()=>import("./index.html-sswBvJ0b.js"),[]),meta:{t:"Update"}}],["/v1.3.4/guide/update/",{loader:()=>b(()=>import("./index.html-DTwmu_wM.js"),[]),meta:{t:"Update"}}]]);/*! + * vue-router v4.4.3 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const wn=typeof document<"u";function Pp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const pe=Object.assign;function Ro(e,t){const n={};for(const r in t){const o=t[r];n[r]=pt(o)?o.map(e):e(o)}return n}const er=()=>{},pt=Array.isArray,ec=/#/g,Op=/&/g,Rp=/\//g,Ip=/=/g,Dp=/\?/g,tc=/\+/g,Mp=/%5B/g,$p=/%5D/g,nc=/%5E/g,Vp=/%60/g,rc=/%7B/g,Np=/%7C/g,oc=/%7D/g,Bp=/%20/g;function Bl(e){return encodeURI(""+e).replace(Np,"|").replace(Mp,"[").replace($p,"]")}function Fp(e){return Bl(e).replace(rc,"{").replace(oc,"}").replace(nc,"^")}function nl(e){return Bl(e).replace(tc,"%2B").replace(Bp,"+").replace(ec,"%23").replace(Op,"%26").replace(Vp,"`").replace(rc,"{").replace(oc,"}").replace(nc,"^")}function jp(e){return nl(e).replace(Ip,"%3D")}function Hp(e){return Bl(e).replace(ec,"%23").replace(Dp,"%3F")}function zp(e){return e==null?"":Hp(e).replace(Rp,"%2F")}function sr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Wp=/\/$/,qp=e=>e.replace(Wp,"");function Io(e,t,n="/"){let r,o={},l="",a="";const i=t.indexOf("#");let s=t.indexOf("?");return i=0&&(s=-1),s>-1&&(r=t.slice(0,s),l=t.slice(s+1,i>-1?i:t.length),o=e(l)),i>-1&&(r=r||t.slice(0,i),a=t.slice(i,t.length)),r=Yp(r??t,n),{fullPath:r+(l&&"?")+l+a,path:r,query:o,hash:sr(a)}}function Up(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Xa(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Gp(e,t,n){const r=t.matched.length-1,o=n.matched.length-1;return r>-1&&r===o&&Vn(t.matched[r],n.matched[o])&&lc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Vn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function lc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Kp(e[n],t[n]))return!1;return!0}function Kp(e,t){return pt(e)?Za(e,t):pt(t)?Za(t,e):e===t}function Za(e,t){return pt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Yp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),o=r[r.length-1];(o===".."||o===".")&&r.push("");let l=n.length-1,a,i;for(a=0;a1&&l--;else break;return n.slice(0,l).join("/")+"/"+r.slice(a).join("/")}const At={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var cr;(function(e){e.pop="pop",e.push="push"})(cr||(cr={}));var tr;(function(e){e.back="back",e.forward="forward",e.unknown=""})(tr||(tr={}));function Jp(e){if(!e)if(wn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),qp(e)}const Qp=/^[^#]+#/;function Xp(e,t){return e.replace(Qp,"#")+t}function Zp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const co=()=>({left:window.scrollX,top:window.scrollY});function em(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Zp(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function ei(e,t){return(history.state?history.state.position-t:-1)+e}const rl=new Map;function tm(e,t){rl.set(e,t)}function nm(e){const t=rl.get(e);return rl.delete(e),t}let rm=()=>location.protocol+"//"+location.host;function ac(e,t){const{pathname:n,search:r,hash:o}=t,l=e.indexOf("#");if(l>-1){let i=o.includes(e.slice(l))?e.slice(l).length:1,s=o.slice(i);return s[0]!=="/"&&(s="/"+s),Xa(s,"")}return Xa(n,e)+r+o}function om(e,t,n,r){let o=[],l=[],a=null;const i=({state:p})=>{const m=ac(e,location),_=n.value,w=t.value;let E=0;if(p){if(n.value=m,t.value=p,a&&a===_){a=null;return}E=w?p.position-w.position:0}else r(m);o.forEach(y=>{y(n.value,_,{delta:E,type:cr.pop,direction:E?E>0?tr.forward:tr.back:tr.unknown})})};function s(){a=n.value}function c(p){o.push(p);const m=()=>{const _=o.indexOf(p);_>-1&&o.splice(_,1)};return l.push(m),m}function d(){const{history:p}=window;p.state&&p.replaceState(pe({},p.state,{scroll:co()}),"")}function f(){for(const p of l)p();l=[],window.removeEventListener("popstate",i),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",i),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:s,listen:c,destroy:f}}function ti(e,t,n,r=!1,o=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:o?co():null}}function lm(e){const{history:t,location:n}=window,r={value:ac(e,n)},o={value:t.state};o.value||l(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(s,c,d){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+s:rm()+e+s;try{t[d?"replaceState":"pushState"](c,"",p),o.value=c}catch(m){console.error(m),n[d?"replace":"assign"](p)}}function a(s,c){const d=pe({},t.state,ti(o.value.back,s,o.value.forward,!0),c,{position:o.value.position});l(s,d,!0),r.value=s}function i(s,c){const d=pe({},o.value,t.state,{forward:s,scroll:co()});l(d.current,d,!0);const f=pe({},ti(r.value,s,null),{position:d.position+1},c);l(s,f,!1),r.value=s}return{location:r,state:o,push:i,replace:a}}function am(e){e=Jp(e);const t=lm(e),n=om(e,t.state,t.location,t.replace);function r(l,a=!0){a||n.pauseListeners(),history.go(l)}const o=pe({location:"",base:e,go:r,createHref:Xp.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function im(e){return typeof e=="string"||e&&typeof e=="object"}function ic(e){return typeof e=="string"||typeof e=="symbol"}const sc=Symbol("");var ni;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ni||(ni={}));function Nn(e,t){return pe(new Error,{type:e,[sc]:!0},t)}function Tt(e,t){return e instanceof Error&&sc in e&&(t==null||!!(e.type&t))}const ri="[^/]+?",sm={sensitive:!1,strict:!1,start:!0,end:!0},cm=/[.+*?^${}()[\]/\\]/g;function um(e,t){const n=pe({},sm,t),r=[];let o=n.start?"^":"";const l=[];for(const c of e){const d=c.length?[]:[90];n.strict&&!c.length&&(o+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function cc(e,t){let n=0;const r=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const fm={type:0,value:""},pm=/[a-zA-Z0-9_]/;function mm(e){if(!e)return[[]];if(e==="/")return[[fm]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=0,r=n;const o=[];let l;function a(){l&&o.push(l),l=[]}let i=0,s,c="",d="";function f(){c&&(n===0?l.push({type:0,value:c}):n===1||n===2||n===3?(l.length>1&&(s==="*"||s==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:c,regexp:d,repeatable:s==="*"||s==="+",optional:s==="*"||s==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=s}for(;i{a(g)}:er}function a(f){if(ic(f)){const p=r.get(f);p&&(r.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(a),f.alias.forEach(a))}}function i(){return n}function s(f){const p=ym(f,n);n.splice(p,0,f),f.record.name&&!ai(f)&&r.set(f.record.name,f)}function c(f,p){let m,_={},w,E;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw Nn(1,{location:f});E=m.record.name,_=pe(li(p.params,m.keys.filter(g=>!g.optional).concat(m.parent?m.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&li(f.params,m.keys.map(g=>g.name))),w=m.stringify(_)}else if(f.path!=null)w=f.path,m=n.find(g=>g.re.test(w)),m&&(_=m.parse(w),E=m.record.name);else{if(m=p.name?r.get(p.name):n.find(g=>g.re.test(p.path)),!m)throw Nn(1,{location:f,currentLocation:p});E=m.record.name,_=pe({},p.params,f.params),w=m.stringify(_)}const y=[];let T=m;for(;T;)y.unshift(T.record),T=T.parent;return{name:E,path:w,params:_,matched:y,meta:bm(y)}}e.forEach(f=>l(f));function d(){n.length=0,r.clear()}return{addRoute:l,resolve:c,removeRoute:a,clearRoutes:d,getRoutes:i,getRecordMatcher:o}}function li(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function gm(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:_m(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function _m(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ai(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function bm(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function ii(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ym(e,t){let n=0,r=t.length;for(;n!==r;){const l=n+r>>1;cc(e,t[l])<0?r=l:n=l+1}const o=Em(e);return o&&(r=t.lastIndexOf(o,r-1)),r}function Em(e){let t=e;for(;t=t.parent;)if(uc(t)&&cc(e,t)===0)return t}function uc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function wm(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&nl(l)):[r&&nl(r)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function Tm(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=pt(r)?r.map(o=>o==null?null:""+o):r==null?r:""+r)}return t}const Lm=Symbol(""),ci=Symbol(""),uo=Symbol(""),Fl=Symbol(""),ol=Symbol("");function qn(){let e=[];function t(r){return e.push(r),()=>{const o=e.indexOf(r);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ft(e,t,n,r,o,l=a=>a()){const a=r&&(r.enterCallbacks[o]=r.enterCallbacks[o]||[]);return()=>new Promise((i,s)=>{const c=p=>{p===!1?s(Nn(4,{from:n,to:t})):p instanceof Error?s(p):im(p)?s(Nn(2,{from:t,to:p})):(a&&r.enterCallbacks[o]===a&&typeof p=="function"&&a.push(p),i())},d=l(()=>e.call(r&&r.instances[o],t,n,c));let f=Promise.resolve(d);e.length<3&&(f=f.then(c)),f.catch(p=>s(p))})}function Do(e,t,n,r,o=l=>l()){const l=[];for(const a of e)for(const i in a.components){let s=a.components[i];if(!(t!=="beforeRouteEnter"&&!a.instances[i]))if(Am(s)){const d=(s.__vccOpts||s)[t];d&&l.push(Ft(d,n,r,a,i,o))}else{let c=s();l.push(()=>c.then(d=>{if(!d)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${a.path}"`));const f=Pp(d)?d.default:d;a.components[i]=f;const m=(f.__vccOpts||f)[t];return m&&Ft(m,n,r,a,i,o)()}))}}return l}function Am(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ui(e){const t=Ae(uo),n=Ae(Fl),r=A(()=>{const s=un(e.to);return t.resolve(s)}),o=A(()=>{const{matched:s}=r.value,{length:c}=s,d=s[c-1],f=n.matched;if(!d||!f.length)return-1;const p=f.findIndex(Vn.bind(null,d));if(p>-1)return p;const m=di(s[c-2]);return c>1&&di(d)===m&&f[f.length-1].path!==m?f.findIndex(Vn.bind(null,s[c-2])):p}),l=A(()=>o.value>-1&&km(n.params,r.value.params)),a=A(()=>o.value>-1&&o.value===n.matched.length-1&&lc(n.params,r.value.params));function i(s={}){return xm(s)?t[un(e.replace)?"replace":"push"](un(e.to)).catch(er):Promise.resolve()}return{route:r,href:A(()=>r.value.href),isActive:l,isExactActive:a,navigate:i}}const Cm=G({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ui,setup(e,{slots:t}){const n=hr(ui(e)),{options:r}=Ae(uo),o=A(()=>({[fi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[fi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:u("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},l)}}}),Sm=Cm;function xm(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function km(e,t){for(const n in t){const r=t[n],o=e[n];if(typeof r=="string"){if(r!==o)return!1}else if(!pt(o)||o.length!==r.length||r.some((l,a)=>l!==o[a]))return!1}return!0}function di(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const fi=(e,t,n)=>e??t??n,Pm=G({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Ae(ol),o=A(()=>e.route||r.value),l=Ae(ci,0),a=A(()=>{let c=un(l);const{matched:d}=o.value;let f;for(;(f=d[c])&&!f.components;)c++;return c}),i=A(()=>o.value.matched[a.value]);dn(ci,A(()=>a.value+1)),dn(Lm,i),dn(ol,o);const s=K();return le(()=>[s.value,i.value,e.name],([c,d,f],[p,m,_])=>{d&&(d.instances[f]=c,m&&m!==d&&c&&c===p&&(d.leaveGuards.size||(d.leaveGuards=m.leaveGuards),d.updateGuards.size||(d.updateGuards=m.updateGuards))),c&&d&&(!m||!Vn(d,m)||!p)&&(d.enterCallbacks[f]||[]).forEach(w=>w(c))},{flush:"post"}),()=>{const c=o.value,d=e.name,f=i.value,p=f&&f.components[d];if(!p)return pi(n.default,{Component:p,route:c});const m=f.props[d],_=m?m===!0?c.params:typeof m=="function"?m(c):m:null,E=u(p,pe({},_,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[d]=null)},ref:s}));return pi(n.default,{Component:E,route:c})||E}}});function pi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Om=Pm;function Rm(e){const t=hm(e.routes,e),n=e.parseQuery||wm,r=e.stringifyQuery||si,o=e.history,l=qn(),a=qn(),i=qn(),s=Ce(At);let c=At;wn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Ro.bind(null,S=>""+S),f=Ro.bind(null,zp),p=Ro.bind(null,sr);function m(S,z){let F,U;return ic(S)?(F=t.getRecordMatcher(S),U=z):U=S,t.addRoute(U,F)}function _(S){const z=t.getRecordMatcher(S);z&&t.removeRoute(z)}function w(){return t.getRoutes().map(S=>S.record)}function E(S){return!!t.getRecordMatcher(S)}function y(S,z){if(z=pe({},z||s.value),typeof S=="string"){const h=Io(n,S,z.path),L=t.resolve({path:h.path},z),k=o.createHref(h.fullPath);return pe(h,L,{params:p(L.params),hash:sr(h.hash),redirectedFrom:void 0,href:k})}let F;if(S.path!=null)F=pe({},S,{path:Io(n,S.path,z.path).path});else{const h=pe({},S.params);for(const L in h)h[L]==null&&delete h[L];F=pe({},S,{params:f(h)}),z.params=f(z.params)}const U=t.resolve(F,z),ae=S.hash||"";U.params=d(p(U.params));const ve=Up(r,pe({},S,{hash:Fp(ae),path:U.path})),v=o.createHref(ve);return pe({fullPath:ve,hash:ae,query:r===si?Tm(S.query):S.query||{}},U,{redirectedFrom:void 0,href:v})}function T(S){return typeof S=="string"?Io(n,S,s.value.path):pe({},S)}function g(S,z){if(c!==S)return Nn(8,{from:z,to:S})}function C(S){return V(S)}function M(S){return C(pe(T(S),{replace:!0}))}function I(S){const z=S.matched[S.matched.length-1];if(z&&z.redirect){const{redirect:F}=z;let U=typeof F=="function"?F(S):F;return typeof U=="string"&&(U=U.includes("?")||U.includes("#")?U=T(U):{path:U},U.params={}),pe({query:S.query,hash:S.hash,params:U.path!=null?{}:S.params},U)}}function V(S,z){const F=c=y(S),U=s.value,ae=S.state,ve=S.force,v=S.replace===!0,h=I(F);if(h)return V(pe(T(h),{state:typeof h=="object"?pe({},ae,h.state):ae,force:ve,replace:v}),z||F);const L=F;L.redirectedFrom=z;let k;return!ve&&Gp(r,U,F)&&(k=Nn(16,{to:L,from:U}),Ze(U,U,!0,!1)),(k?Promise.resolve(k):P(L,U)).catch(x=>Tt(x)?Tt(x,2)?x:gt(x):J(x,L,U)).then(x=>{if(x){if(Tt(x,2))return V(pe({replace:v},T(x.to),{state:typeof x.to=="object"?pe({},ae,x.to.state):ae,force:ve}),z||L)}else x=D(L,U,!0,v,ae);return H(L,U,x),x})}function Y(S,z){const F=g(S,z);return F?Promise.reject(F):Promise.resolve()}function B(S){const z=wt.values().next().value;return z&&typeof z.runWithContext=="function"?z.runWithContext(S):S()}function P(S,z){let F;const[U,ae,ve]=Im(S,z);F=Do(U.reverse(),"beforeRouteLeave",S,z);for(const h of U)h.leaveGuards.forEach(L=>{F.push(Ft(L,S,z))});const v=Y.bind(null,S,z);return F.push(v),$e(F).then(()=>{F=[];for(const h of l.list())F.push(Ft(h,S,z));return F.push(v),$e(F)}).then(()=>{F=Do(ae,"beforeRouteUpdate",S,z);for(const h of ae)h.updateGuards.forEach(L=>{F.push(Ft(L,S,z))});return F.push(v),$e(F)}).then(()=>{F=[];for(const h of ve)if(h.beforeEnter)if(pt(h.beforeEnter))for(const L of h.beforeEnter)F.push(Ft(L,S,z));else F.push(Ft(h.beforeEnter,S,z));return F.push(v),$e(F)}).then(()=>(S.matched.forEach(h=>h.enterCallbacks={}),F=Do(ve,"beforeRouteEnter",S,z,B),F.push(v),$e(F))).then(()=>{F=[];for(const h of a.list())F.push(Ft(h,S,z));return F.push(v),$e(F)}).catch(h=>Tt(h,8)?h:Promise.reject(h))}function H(S,z,F){i.list().forEach(U=>B(()=>U(S,z,F)))}function D(S,z,F,U,ae){const ve=g(S,z);if(ve)return ve;const v=z===At,h=wn?history.state:{};F&&(U||v?o.replace(S.fullPath,pe({scroll:v&&h&&h.scroll},ae)):o.push(S.fullPath,ae)),s.value=S,Ze(S,z,F,v),gt()}let Z;function fe(){Z||(Z=o.listen((S,z,F)=>{if(!_t.listening)return;const U=y(S),ae=I(U);if(ae){V(pe(ae,{replace:!0}),U).catch(er);return}c=U;const ve=s.value;wn&&tm(ei(ve.fullPath,F.delta),co()),P(U,ve).catch(v=>Tt(v,12)?v:Tt(v,2)?(V(v.to,U).then(h=>{Tt(h,20)&&!F.delta&&F.type===cr.pop&&o.go(-1,!1)}).catch(er),Promise.reject()):(F.delta&&o.go(-F.delta,!1),J(v,U,ve))).then(v=>{v=v||D(U,ve,!1),v&&(F.delta&&!Tt(v,8)?o.go(-F.delta,!1):F.type===cr.pop&&Tt(v,20)&&o.go(-1,!1)),H(U,ve,v)}).catch(er)}))}let ue=qn(),q=qn(),te;function J(S,z,F){gt(S);const U=q.list();return U.length?U.forEach(ae=>ae(S,z,F)):console.error(S),Promise.reject(S)}function me(){return te&&s.value!==At?Promise.resolve():new Promise((S,z)=>{ue.add([S,z])})}function gt(S){return te||(te=!S,fe(),ue.list().forEach(([z,F])=>S?F(S):z()),ue.reset()),S}function Ze(S,z,F,U){const{scrollBehavior:ae}=e;if(!wn||!ae)return Promise.resolve();const ve=!F&&nm(ei(S.fullPath,0))||(U||!F)&&history.state&&history.state.scroll||null;return Jt().then(()=>ae(S,z,ve)).then(v=>v&&em(v)).catch(v=>J(v,S,z))}const Re=S=>o.go(S);let Ue;const wt=new Set,_t={currentRoute:s,listening:!0,addRoute:m,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:w,resolve:y,options:e,push:C,replace:M,go:Re,back:()=>Re(-1),forward:()=>Re(1),beforeEach:l.add,beforeResolve:a.add,afterEach:i.add,onError:q.add,isReady:me,install(S){const z=this;S.component("RouterLink",Sm),S.component("RouterView",Om),S.config.globalProperties.$router=z,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>un(s)}),wn&&!Ue&&s.value===At&&(Ue=!0,C(o.location).catch(ae=>{}));const F={};for(const ae in At)Object.defineProperty(F,ae,{get:()=>s.value[ae],enumerable:!0});S.provide(uo,z),S.provide(Fl,ns(F)),S.provide(ol,s);const U=S.unmount;wt.add(S),S.unmount=function(){wt.delete(S),wt.size<1&&(c=At,Z&&Z(),Z=null,s.value=At,Ue=!1,te=!1),U()}}};function $e(S){return S.reduce((z,F)=>z.then(()=>B(F)),Promise.resolve())}return _t}function Im(e,t){const n=[],r=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let a=0;aVn(c,i))?r.push(i):n.push(i));const s=e.matched[a];s&&(t.matched.find(c=>Vn(c,s))||o.push(s))}return[n,r,o]}function jn(){return Ae(uo)}function Rt(e){return Ae(Fl)}var jl=Symbol(""),vt=()=>{const e=Ae(jl);if(!e)throw new Error("useClientData() is called without provider.");return e},Dm=()=>vt().pageComponent,Oe=()=>vt().pageData,xe=()=>vt().pageFrontmatter,Mm=()=>vt().pageHead,dc=()=>vt().pageLang,$m=()=>vt().pageLayout,hn=()=>vt().routeLocale,Vm=()=>vt().routePath,Nm=()=>vt().routes,fc=()=>vt().siteData,fo=()=>vt().siteLocaleData,Bm=Symbol(""),ll=Ce(xp),On=Ce(kp),pc=(e,t)=>{const n=gp(e,t);if(On.value[n])return n;const r=encodeURI(n);if(On.value[r])return r;const o=ll.value[n]||ll.value[r];return o||n},Pt=(e,t)=>{const{pathname:n,hashAndQueries:r}=Qs(e),o=pc(n,t),l=o+r;return On.value[o]?{...On.value[o],path:l,notFound:!1}:{...On.value["/404.html"],path:l,notFound:!0}},Fm=(e,t)=>{const{pathname:n,hashAndQueries:r}=Qs(e);return pc(n,t)+r},jm=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget){const t=e.currentTarget.getAttribute("target");if(t!=null&&t.match(/\b_blank\b/i))return}return e.preventDefault(),!0}},ft=G({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=jn(),r=Rt(),o=A(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${Fm(e.to,r.path).substring(1)}`);return()=>{var l;return u("a",{class:["route-link",{[e.activeClass]:e.active}],href:o.value,onClick:(a={})=>{jm(a)&&n.push(e.to).catch()}},(l=t.default)==null?void 0:l.call(t))}}}),Hm=G({name:"AutoLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=lo(e,"config"),r=Rt(),o=fc(),l=A(()=>wr(n.value.link)),a=A(()=>n.value.target||(l.value?"_blank":void 0)),i=A(()=>a.value==="_blank"),s=A(()=>!l.value&&!i.value),c=A(()=>n.value.rel||(i.value?"noopener noreferrer":null)),d=A(()=>n.value.ariaLabel??n.value.text),f=A(()=>{if(n.value.exact)return!1;const m=Object.keys(o.value.locales);return m.length?m.every(_=>_!==n.value.link):n.value.link!=="/"}),p=A(()=>s.value?n.value.activeMatch?(n.value.activeMatch instanceof RegExp?n.value.activeMatch:new RegExp(n.value.activeMatch,"u")).test(r.path):f.value?r.path.startsWith(n.value.link):r.path===n.value.link:!1);return()=>{const{before:m,after:_,default:w}=t,E=(w==null?void 0:w(n.value))||[m==null?void 0:m(n.value),n.value.text,_==null?void 0:_(n.value)];return s.value?u(ft,{class:"auto-link",to:n.value.link,active:p.value,"aria-label":d.value},()=>E):u("a",{class:"auto-link external-link",href:n.value.link,"aria-label":d.value,rel:c.value,target:a.value},E)}}}),po=G({name:"ClientOnly",setup(e,t){const n=K(!1);return ge(()=>{n.value=!0}),()=>{var r,o;return n.value?(o=(r=t.slots).default)==null?void 0:o.call(r):null}}}),mc=G({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Dm(),n=A(()=>{if(!e.path)return t.value;const r=Pt(e.path);return hs(()=>r.loader().then(({comp:o})=>o))});return()=>u(n.value)}}),zm="Layout",Wm="en-US",nn=hr({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const r=ke(t.description)?t.description:n.description,o=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:r}]];return Tp(o)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Wm,resolvePageLayout:(e,t)=>{const n=ke(e.frontmatter.layout)?e.frontmatter.layout:zm;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>_p(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},r)=>{var o;return{...n,...t[r],head:[...((o=t[r])==null?void 0:o.head)??[],...n.head??[]]}}}),st=(e={})=>e,Qe=e=>Tr(e)?e:`/${Zs(e)}`;const qm=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Um=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),Qt=e=>{const t=hn();return A(()=>e[t.value]??{})};var Ye=Uint8Array,Tn=Uint16Array,Gm=Int32Array,vc=new Ye([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),hc=new Ye([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Km=new Ye([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),gc=function(e,t){for(var n=new Tn(31),r=0;r<31;++r)n[r]=t+=1<>1|(be&21845)<<1;Mt=(Mt&52428)>>2|(Mt&13107)<<2,Mt=(Mt&61680)>>4|(Mt&3855)<<4,al[be]=((Mt&65280)>>8|(Mt&255)<<8)>>1}var nr=function(e,t,n){for(var r=e.length,o=0,l=new Tn(t);o>s]=c}else for(i=new Tn(r),o=0;o>15-e[o]);return i},Ar=new Ye(288);for(var be=0;be<144;++be)Ar[be]=8;for(var be=144;be<256;++be)Ar[be]=9;for(var be=256;be<280;++be)Ar[be]=7;for(var be=280;be<288;++be)Ar[be]=8;var yc=new Ye(32);for(var be=0;be<32;++be)yc[be]=5;var Xm=nr(Ar,9,1),Zm=nr(yc,5,1),Mo=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},ut=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},$o=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},e1=function(e){return(e+7)/8|0},Ec=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new Ye(e.subarray(t,n))},t1=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],nt=function(e,t,n){var r=new Error(t||t1[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,nt),!n)throw r;return r},n1=function(e,t,n,r){var o=e.length,l=0;if(!o||t.f&&!t.l)return n||new Ye(0);var a=!n,i=a||t.i!=2,s=t.i;a&&(n=new Ye(o*3));var c=function(ae){var ve=n.length;if(ae>ve){var v=new Ye(Math.max(ve*2,ae));v.set(n),n=v}},d=t.f||0,f=t.p||0,p=t.b||0,m=t.l,_=t.d,w=t.m,E=t.n,y=o*8;do{if(!m){d=ut(e,f,1);var T=ut(e,f+1,3);if(f+=3,T)if(T==1)m=Xm,_=Zm,w=9,E=5;else if(T==2){var I=ut(e,f,31)+257,V=ut(e,f+10,15)+4,Y=I+ut(e,f+5,31)+1;f+=14;for(var B=new Ye(Y),P=new Ye(19),H=0;H>4;if(g<16)B[H++]=g;else{var q=0,te=0;for(g==16?(te=3+ut(e,f,3),f+=2,q=B[H-1]):g==17?(te=3+ut(e,f,7),f+=3):g==18&&(te=11+ut(e,f,127),f+=7);te--;)B[H++]=q}}var J=B.subarray(0,I),me=B.subarray(I);w=Mo(J),E=Mo(me),m=nr(J,w,1),_=nr(me,E,1)}else nt(1);else{var g=e1(f)+4,C=e[g-4]|e[g-3]<<8,M=g+C;if(M>o){s&&nt(0);break}i&&c(p+C),n.set(e.subarray(g,M),p),t.b=p+=C,t.p=f=M*8,t.f=d;continue}if(f>y){s&&nt(0);break}}i&&c(p+131072);for(var gt=(1<>4;if(f+=q&15,f>y){s&&nt(0);break}if(q||nt(2),Ue<256)n[p++]=Ue;else if(Ue==256){Re=f,m=null;break}else{var wt=Ue-254;if(Ue>264){var H=Ue-257,_t=vc[H];wt=ut(e,f,(1<<_t)-1)+bc[H],f+=_t}var $e=_[$o(e,f)&Ze],S=$e>>4;$e||nt(3),f+=$e&15;var me=Qm[S];if(S>3){var _t=hc[S];me+=$o(e,f)&(1<<_t)-1,f+=_t}if(f>y){s&&nt(0);break}i&&c(p+131072);var z=p+wt;if(p>4>7||(e[0]<<8|e[1])%31)&&nt(6,"invalid zlib data"),(e[1]>>5&1)==+!t&&nt(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function l1(e,t){return n1(e.subarray(o1(e,t),-4),{i:2},t,t)}var il=typeof TextDecoder<"u"&&new TextDecoder,a1=0;try{il.decode(r1,{stream:!0}),a1=1}catch{}var i1=function(e){for(var t="",n=0;;){var r=e[n++],o=(r>127)+(r>223)+(r>239);if(n+o>e.length)return{s:t,r:Ec(e,n-1)};o?o==3?(r=((r&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|r>>10,56320|r&1023)):o&1?t+=String.fromCharCode((r&31)<<6|e[n++]&63):t+=String.fromCharCode((r&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(r)}};function s1(e,t){{for(var n=new Ye(e.length),r=0;r{const t=atob(e);return c1(l1(s1(t)))},xt=(e,t)=>{var r;const n=(r=(t==null?void 0:t._instance)||Fn())==null?void 0:r.appContext.components;return n?e in n||Xe(e)in n||vr(Xe(e))in n:!1},wc=e=>new Promise(t=>setTimeout(t,e)),Tc=e=>typeof e<"u",Vo=e=>typeof e=="number",sl=Array.isArray,dr=(e,t)=>ke(e)&&e.startsWith(t),u1=(e,t)=>ke(e)&&e.endsWith(t),d1=Object.entries,Cr=Object.keys,f1=Object.values,p1=e=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},Hl=e=>dr(e,"/");function Xt(e){return Wi()?(Gu(e),!0):!1}function Be(e){return typeof e=="function"?e():un(e)}const Sr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const m1=e=>e!=null,v1=Object.prototype.toString,h1=e=>v1.call(e)==="[object Object]",kt=()=>{},cl=g1();function g1(){var e,t;return Sr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function zl(e,t){function n(...r){return new Promise((o,l)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(l)})}return n}const Lc=e=>e();function _1(e,t={}){let n,r,o=kt;const l=i=>{clearTimeout(i),o(),o=kt};return i=>{const s=Be(e),c=Be(t.maxWait);return n&&l(n),s<=0||c!==void 0&&c<=0?(r&&(l(r),r=null),Promise.resolve(i())):new Promise((d,f)=>{o=t.rejectOnCancel?f:d,c&&!r&&(r=setTimeout(()=>{n&&l(n),r=null,d(i())},c)),n=setTimeout(()=>{r&&l(r),r=null,d(i())},s)})}}function b1(...e){let t=0,n,r=!0,o=kt,l,a,i,s,c;!Me(e[0])&&typeof e[0]=="object"?{delay:a,trailing:i=!0,leading:s=!0,rejectOnCancel:c=!1}=e[0]:[a,i=!0,s=!0,c=!1]=e;const d=()=>{n&&(clearTimeout(n),n=void 0,o(),o=kt)};return p=>{const m=Be(a),_=Date.now()-t,w=()=>l=p();return d(),m<=0?(t=Date.now(),w()):(_>m&&(s||!r)?(t=Date.now(),w()):i&&(l=new Promise((E,y)=>{o=c?y:E,n=setTimeout(()=>{t=Date.now(),r=!0,E(w()),d()},Math.max(0,m-_))})),!s&&!n&&(n=setTimeout(()=>r=!0,m)),r=!1,l)}}function y1(e=Lc){const t=K(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...l)=>{t.value&&e(...l)};return{isActive:Bn(t),pause:n,resume:r,eventFilter:o}}function E1(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const r=t;t=void 0,r&&await r},n}function w1(e){return Fn()}function T1(...e){if(e.length!==1)return lo(...e);const t=e[0];return typeof t=="function"?Bn(is(()=>({get:t,set:kt}))):K(t)}function Wl(e,t=200,n={}){return zl(_1(t,n),e)}function L1(e,t=200,n=!1,r=!0,o=!1){return zl(b1(t,n,r,o),e)}function A1(e,t,n={}){const{eventFilter:r=Lc,...o}=n;return le(e,zl(r,t),o)}function C1(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:l,pause:a,resume:i,isActive:s}=y1(r);return{stop:A1(e,t,{...o,eventFilter:l}),pause:a,resume:i,isActive:s}}function mo(e,t=!0,n){w1()?ge(e,n):t?e():Jt(e)}function S1(e,t,n={}){const{immediate:r=!0}=n,o=K(!1);let l=null;function a(){l&&(clearTimeout(l),l=null)}function i(){o.value=!1,a()}function s(...c){a(),o.value=!0,l=setTimeout(()=>{o.value=!1,l=null,e(...c)},Be(t))}return r&&(o.value=!0,Sr&&s()),Xt(i),{isPending:Bn(o),start:s,stop:i}}function fr(e=!1,t={}){const{truthyValue:n=!0,falsyValue:r=!1}=t,o=Me(e),l=K(e);function a(i){if(arguments.length)return l.value=i,l.value;{const s=Be(n);return l.value=l.value===s?Be(r):s,l.value}}return o?a:[l,a]}function ze(e){var t;const n=Be(e);return(t=n==null?void 0:n.$el)!=null?t:n}const mt=Sr?window:void 0,Ac=Sr?window.document:void 0,Cc=Sr?window.navigator:void 0;function ye(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=mt):[t,n,r,o]=e,!t)return kt;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const l=[],a=()=>{l.forEach(d=>d()),l.length=0},i=(d,f,p,m)=>(d.addEventListener(f,p,m),()=>d.removeEventListener(f,p,m)),s=le(()=>[ze(t),Be(o)],([d,f])=>{if(a(),!d)return;const p=h1(f)?{...f}:f;l.push(...n.flatMap(m=>r.map(_=>i(d,m,_,p))))},{immediate:!0,flush:"post"}),c=()=>{s(),a()};return Xt(c),c}let mi=!1;function x1(e,t,n={}){const{window:r=mt,ignore:o=[],capture:l=!0,detectIframe:a=!1}=n;if(!r)return kt;cl&&!mi&&(mi=!0,Array.from(r.document.body.children).forEach(p=>p.addEventListener("click",kt)),r.document.documentElement.addEventListener("click",kt));let i=!0;const s=p=>o.some(m=>{if(typeof m=="string")return Array.from(r.document.querySelectorAll(m)).some(_=>_===p.target||p.composedPath().includes(_));{const _=ze(m);return _&&(p.target===_||p.composedPath().includes(_))}}),d=[ye(r,"click",p=>{const m=ze(e);if(!(!m||m===p.target||p.composedPath().includes(m))){if(p.detail===0&&(i=!s(p)),!i){i=!0;return}t(p)}},{passive:!0,capture:l}),ye(r,"pointerdown",p=>{const m=ze(e);i=!s(p)&&!!(m&&!p.composedPath().includes(m))},{passive:!0}),a&&ye(r,"blur",p=>{setTimeout(()=>{var m;const _=ze(e);((m=r.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(_!=null&&_.contains(r.document.activeElement))&&t(p)},0)})].filter(Boolean);return()=>d.forEach(p=>p())}function k1(){const e=K(!1),t=Fn();return t&&ge(()=>{e.value=!0},t),e}function Hn(e){const t=k1();return A(()=>(t.value,!!e()))}function P1(e,t,n={}){const{window:r=mt,...o}=n;let l;const a=Hn(()=>r&&"MutationObserver"in r),i=()=>{l&&(l.disconnect(),l=void 0)},s=A(()=>{const p=Be(e),m=(Array.isArray(p)?p:[p]).map(ze).filter(m1);return new Set(m)}),c=le(()=>s.value,p=>{i(),a.value&&p.size&&(l=new MutationObserver(t),p.forEach(m=>l.observe(m,o)))},{immediate:!0,flush:"post"}),d=()=>l==null?void 0:l.takeRecords(),f=()=>{i(),c()};return Xt(f),{isSupported:a,stop:f,takeRecords:d}}function ql(e,t={}){const{window:n=mt}=t,r=Hn(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const l=K(!1),a=c=>{l.value=c.matches},i=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",a):o.removeListener(a))},s=Ms(()=>{r.value&&(i(),o=n.matchMedia(Be(e)),"addEventListener"in o?o.addEventListener("change",a):o.addListener(a),l.value=o.matches)});return Xt(()=>{s(),i(),o=void 0}),l}function vi(e,t={}){const{controls:n=!1,navigator:r=Cc}=t,o=Hn(()=>r&&"permissions"in r);let l;const a=typeof e=="string"?{name:e}:e,i=K(),s=()=>{l&&(i.value=l.state)},c=E1(async()=>{if(o.value){if(!l)try{l=await r.permissions.query(a),ye(l,"change",s),s()}catch{i.value="prompt"}return l}});return c(),n?{state:i,isSupported:o,query:c}:i}function O1(e={}){const{navigator:t=Cc,read:n=!1,source:r,copiedDuring:o=1500,legacy:l=!1}=e,a=Hn(()=>t&&"clipboard"in t),i=vi("clipboard-read"),s=vi("clipboard-write"),c=A(()=>a.value||l),d=K(""),f=K(!1),p=S1(()=>f.value=!1,o);function m(){a.value&&y(i.value)?t.clipboard.readText().then(T=>{d.value=T}):d.value=E()}c.value&&n&&ye(["copy","cut"],m);async function _(T=Be(r)){c.value&&T!=null&&(a.value&&y(s.value)?await t.clipboard.writeText(T):w(T),d.value=T,f.value=!0,p.start())}function w(T){const g=document.createElement("textarea");g.value=T??"",g.style.position="absolute",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),g.remove()}function E(){var T,g,C;return(C=(g=(T=document==null?void 0:document.getSelection)==null?void 0:T.call(document))==null?void 0:g.toString())!=null?C:""}function y(T){return T==="granted"||T==="prompt"}return{isSupported:c,text:d,copied:f,copy:_}}const Br=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Fr="__vueuse_ssr_handlers__",R1=I1();function I1(){return Fr in Br||(Br[Fr]=Br[Fr]||{}),Br[Fr]}function D1(e,t){return R1[e]||t}function M1(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const $1={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},hi="vueuse-storage";function vo(e,t,n,r={}){var o;const{flush:l="pre",deep:a=!0,listenToStorageChanges:i=!0,writeDefaults:s=!0,mergeDefaults:c=!1,shallow:d,window:f=mt,eventFilter:p,onError:m=P=>{console.error(P)},initOnMounted:_}=r,w=(d?Ce:K)(typeof t=="function"?t():t);if(!n)try{n=D1("getDefaultStorage",()=>{var P;return(P=mt)==null?void 0:P.localStorage})()}catch(P){m(P)}if(!n)return w;const E=Be(t),y=M1(E),T=(o=r.serializer)!=null?o:$1[y],{pause:g,resume:C}=C1(w,()=>I(w.value),{flush:l,deep:a,eventFilter:p});f&&i&&mo(()=>{ye(f,"storage",Y),ye(f,hi,B),_&&Y()}),_||Y();function M(P,H){f&&f.dispatchEvent(new CustomEvent(hi,{detail:{key:e,oldValue:P,newValue:H,storageArea:n}}))}function I(P){try{const H=n.getItem(e);if(P==null)M(H,null),n.removeItem(e);else{const D=T.write(P);H!==D&&(n.setItem(e,D),M(H,D))}}catch(H){m(H)}}function V(P){const H=P?P.newValue:n.getItem(e);if(H==null)return s&&E!=null&&n.setItem(e,T.write(E)),E;if(!P&&c){const D=T.read(H);return typeof c=="function"?c(D,E):y==="object"&&!Array.isArray(D)?{...E,...D}:D}else return typeof H!="string"?H:T.read(H)}function Y(P){if(!(P&&P.storageArea!==n)){if(P&&P.key==null){w.value=E;return}if(!(P&&P.key!==e)){g();try{(P==null?void 0:P.newValue)!==T.write(w.value)&&(w.value=V(P))}catch(H){m(H)}finally{P?Jt(C):C()}}}}function B(P){Y(P.detail)}return w}function V1(e){return ql("(prefers-color-scheme: dark)",e)}function N1(e,t,n={}){const{window:r=mt,...o}=n;let l;const a=Hn(()=>r&&"ResizeObserver"in r),i=()=>{l&&(l.disconnect(),l=void 0)},s=A(()=>Array.isArray(e)?e.map(f=>ze(f)):[ze(e)]),c=le(s,f=>{if(i(),a.value&&r){l=new ResizeObserver(t);for(const p of f)p&&l.observe(p,o)}},{immediate:!0,flush:"post"}),d=()=>{i(),c()};return Xt(d),{isSupported:a,stop:d}}function B1(e,t={width:0,height:0},n={}){const{window:r=mt,box:o="content-box"}=n,l=A(()=>{var f,p;return(p=(f=ze(e))==null?void 0:f.namespaceURI)==null?void 0:p.includes("svg")}),a=K(t.width),i=K(t.height),{stop:s}=N1(e,([f])=>{const p=o==="border-box"?f.borderBoxSize:o==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(r&&l.value){const m=ze(e);if(m){const _=m.getBoundingClientRect();a.value=_.width,i.value=_.height}}else if(p){const m=Array.isArray(p)?p:[p];a.value=m.reduce((_,{inlineSize:w})=>_+w,0),i.value=m.reduce((_,{blockSize:w})=>_+w,0)}else a.value=f.contentRect.width,i.value=f.contentRect.height},n);mo(()=>{const f=ze(e);f&&(a.value="offsetWidth"in f?f.offsetWidth:t.width,i.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=le(()=>ze(e),f=>{a.value=f?t.width:0,i.value=f?t.height:0});function d(){s(),c()}return{width:a,height:i,stop:d}}const gi=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Ul(e,t={}){const{document:n=Ac,autoExit:r=!1}=t,o=A(()=>{var y;return(y=ze(e))!=null?y:n==null?void 0:n.querySelector("html")}),l=K(!1),a=A(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),i=A(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||o.value&&y in o.value)),s=A(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||o.value&&y in o.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),d=Hn(()=>o.value&&n&&a.value!==void 0&&i.value!==void 0&&s.value!==void 0),f=()=>c?(n==null?void 0:n[c])===o.value:!1,p=()=>{if(s.value){if(n&&n[s.value]!=null)return n[s.value];{const y=o.value;if((y==null?void 0:y[s.value])!=null)return!!y[s.value]}}return!1};async function m(){if(!(!d.value||!l.value)){if(i.value)if((n==null?void 0:n[i.value])!=null)await n[i.value]();else{const y=o.value;(y==null?void 0:y[i.value])!=null&&await y[i.value]()}l.value=!1}}async function _(){if(!d.value||l.value)return;p()&&await m();const y=o.value;a.value&&(y==null?void 0:y[a.value])!=null&&(await y[a.value](),l.value=!0)}async function w(){await(l.value?m():_())}const E=()=>{const y=p();(!y||y&&f())&&(l.value=y)};return ye(n,gi,E,!1),ye(()=>ze(o),gi,E,!1),r&&Xt(m),{isSupported:d,isFullscreen:l,enter:_,exit:m,toggle:w}}function No(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function H0(e,t,n={}){const{window:r=mt}=n;return vo(e,t,r==null?void 0:r.localStorage,n)}function Sc(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const Bo=new WeakMap;function Gl(e,t=!1){const n=K(t);let r=null,o="";le(T1(e),i=>{const s=No(Be(i));if(s){const c=s;if(Bo.get(c)||Bo.set(c,c.style.overflow),c.style.overflow!=="hidden"&&(o=c.style.overflow),c.style.overflow==="hidden")return n.value=!0;if(n.value)return c.style.overflow="hidden"}},{immediate:!0});const l=()=>{const i=No(Be(e));!i||n.value||(cl&&(r=ye(i,"touchmove",s=>{F1(s)},{passive:!1})),i.style.overflow="hidden",n.value=!0)},a=()=>{const i=No(Be(e));!i||!n.value||(cl&&(r==null||r()),i.style.overflow=o,Bo.delete(i),n.value=!1)};return Xt(a),A({get(){return n.value},set(i){i?l():a()}})}let j1=0;function H1(e,t={}){const n=K(!1),{document:r=Ac,immediate:o=!0,manual:l=!1,id:a=`vueuse_styletag_${++j1}`}=t,i=K(e);let s=()=>{};const c=()=>{if(!r)return;const f=r.getElementById(a)||r.createElement("style");f.isConnected||(f.id=a,t.media&&(f.media=t.media),r.head.appendChild(f)),!n.value&&(s=le(i,p=>{f.textContent=p},{immediate:!0}),n.value=!0)},d=()=>{!r||!n.value||(s(),r.head.removeChild(r.getElementById(a)),n.value=!1)};return o&&!l&&mo(c),l||Xt(d),{id:a,css:i,unload:d,load:c,isLoaded:Bn(n)}}function z1(e={}){const{window:t=mt,behavior:n="auto"}=e;if(!t)return{x:K(0),y:K(0)};const r=K(t.scrollX),o=K(t.scrollY),l=A({get(){return r.value},set(i){scrollTo({left:i,behavior:n})}}),a=A({get(){return o.value},set(i){scrollTo({top:i,behavior:n})}});return ye(t,"scroll",()=>{r.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:l,y:a}}function W1(e={}){const{window:t=mt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:r=Number.POSITIVE_INFINITY,listenOrientation:o=!0,includeScrollbar:l=!0}=e,a=K(n),i=K(r),s=()=>{t&&(l?(a.value=t.innerWidth,i.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};if(s(),mo(s),ye("resize",s,{passive:!0}),o){const c=ql("(orientation: portrait)");le(c,()=>s())}return{width:a,height:i}}const xc=({type:e="info",text:t="",vertical:n,color:r},{slots:o})=>{var l;return u("span",{class:["vp-badge",e,{diy:r}],style:{verticalAlign:n??!1,backgroundColor:r??!1}},((l=o.default)==null?void 0:l.call(o))??t)};xc.displayName="Badge";var q1=G({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=A(()=>{const r=["font-icon icon"],o=`iconfont icon-${e.icon}`;return r.push(o),r}),n=A(()=>{const r={};return e.color&&(r.color=e.color),e.size&&(r["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),Cr(r).length?r:null});return()=>e.icon?u("span",{key:e.icon,class:t.value,style:n.value}):null}});const U1=st({enhance:({app:e})=>{xt("Badge")||e.component("Badge",xc),xt("FontIcon")||e.component("FontIcon",q1)},setup:()=>{H1(`@import url("https://at.alicdn.com/t/c/font_4043253_v7nldr3uv7.css"); +`)},rootComponents:[]}),G1=Object.freeze(Object.defineProperty({__proto__:null,default:U1},Symbol.toStringTag,{value:"Module"})),_i=async(e,t)=>{const{path:n,query:r}=e.currentRoute.value,{scrollBehavior:o}=e.options;e.options.scrollBehavior=void 0,await e.replace({path:n,query:r,hash:t}),e.options.scrollBehavior=o},K1=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:r=5})=>{const o=jn();ye("scroll",Wl(()=>{var _,w;const a=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(a-0)f.some(y=>y.hash===E.hash));for(let E=0;E=(((_=y.parentElement)==null?void 0:_.offsetTop)??0)-r,C=!T||a<(((w=T.parentElement)==null?void 0:w.offsetTop)??0)-r;if(!(g&&C))continue;const I=decodeURIComponent(o.currentRoute.value.hash),V=decodeURIComponent(y.hash);if(I===V)return;if(d){for(let Y=E+1;Yke(e.title)?{title:e.title}:null;const Pc=Symbol(""),tv=e=>{kc=e},nv=()=>Ae(Pc),rv=e=>{e.provide(Pc,kc)};var ov={"/":{title:"目录",empty:"暂无目录"}};const lv=G({name:"Catalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=nv(),n=Qt(ov),r=Oe(),o=Nm(),l=fc(),i=Ce(d1(o.value).map(([c,{meta:d}])=>{const f=t(d);if(!f)return null;const p=c.split("/").length;return{level:u1(c,"/")?p-2:p-1,base:c.replace(/\/[^/]+\/?$/,"/"),path:c,...f}}).filter(c=>Lr(c)&&ke(c.title))),s=A(()=>{const c=e.base?Lp(Xs(e.base)):r.value.path.replace(/\/[^/]+$/,"/"),d=c.split("/").length-2,f=[];return i.value.filter(({level:p,path:m})=>{if(!dr(m,c)||m===c)return!1;if(c==="/"){const _=Cr(l.value.locales).filter(w=>w!=="/");if(m==="/404.html"||_.some(w=>dr(m,w)))return!1}return p-d<=e.level}).sort(({title:p,level:m,order:_},{title:w,level:E,order:y})=>{const T=m-E;return T||(Vo(_)?Vo(y)?_>0?y>0?_-y:-1:y<0?_-y:1:_:Vo(y)?y:p.localeCompare(w))}).forEach(p=>{var w;const{base:m,level:_}=p;switch(_-d){case 1:{f.push(p);break}case 2:{const E=f.find(y=>y.path===m);E&&(E.children??(E.children=[])).push(p);break}default:{const E=f.find(y=>y.path===m.replace(/\/[^/]+\/$/,"/"));if(E){const y=(w=E.children)==null?void 0:w.find(T=>T.path===m);y&&(y.children??(y.children=[])).push(p)}}}}),f});return()=>{const c=s.value.some(d=>d.children);return u("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:u("h2",{class:"vp-catalog-main-title"},n.value.title),s.value.length?u(e.index?"ol":"ul",{class:["vp-catalogs",{deep:c}]},s.value.map(({children:d=[],title:f,path:p,content:m})=>{const _=u(ft,{class:"vp-catalog-title",to:p},()=>m?u(m):f);return u("li",{class:"vp-catalog"},c?[u("h3",{id:f,class:["vp-catalog-child-title",{"has-children":d.length}]},[u("a",{href:`#${f}`,class:"vp-catalog-header-anchor","aria-hidden":!0},"#"),_]),d.length?u(e.index?"ol":"ul",{class:"vp-child-catalogs"},d.map(({children:w=[],content:E,path:y,title:T})=>u("li",{class:"vp-child-catalog"},[u("div",{class:["vp-catalog-sub-title",{"has-children":w.length}]},[u("a",{href:`#${T}`,class:"vp-catalog-header-anchor"},"#"),u(ft,{class:"vp-catalog-title",to:y},()=>E?u(E):T)]),w.length?u(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},w.map(({content:g,path:C,title:M})=>e.index?u("li",{class:"vp-sub-catalog"},u(ft,{to:C},()=>g?u(g):M)):u(ft,{class:"vp-sub-catalog-link",to:C},()=>g?u(g):M))):null]))):null]:u("div",{class:"vp-catalog-child-title"},_))})):u("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),av=st({enhance:({app:e})=>{rv(e),xt("Catalog",e)||e.component("Catalog",lv)}}),iv=Object.freeze(Object.defineProperty({__proto__:null,default:av},Symbol.toStringTag,{value:"Module"}));var sv={"/":{backToTop:"返回顶部"}};const cv=G({name:"BackToTop",setup(){const e=xe(),t=Qt(sv),n=Ce(),{height:r}=B1(n),{height:o}=W1(),{y:l}=z1(),a=A(()=>e.value.backToTop!==!1&&l.value>100),i=A(()=>l.value/(r.value-o.value)*100);return ge(()=>{n.value=document.body}),()=>u(Ut,{name:"back-to-top"},()=>a.value?u("button",{type:"button",class:"vp-back-to-top-button","aria-label":t.value.backToTop,onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[u("span",{class:"vp-scroll-progress",role:"progressbar","aria-labelledby":"loadinglabel","aria-valuenow":i.value},u("svg",u("circle",{cx:"26",cy:"26",r:"24",fill:"none",stroke:"currentColor","stroke-width":"4","stroke-dasharray":`${Math.PI*i.value*.48} ${Math.PI*(100-i.value)*.48}`}))),u("div",{class:"back-to-top-icon"})]):null)}}),uv=st({rootComponents:[cv]}),dv=Object.freeze(Object.defineProperty({__proto__:null,default:uv},Symbol.toStringTag,{value:"Module"}));/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const ie={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:e=>{const t=ie.isStarted();e=Fo(e,ie.settings.minimum,1),ie.status=e===1?null:e;const n=ie.render(!t),r=n.querySelector(ie.settings.barSelector),o=ie.settings.speed,l=ie.settings.easing;return n.offsetWidth,fv(a=>{jr(r,{transform:"translate3d("+bi(e)+"%,0,0)",transition:"all "+o+"ms "+l}),e===1?(jr(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(()=>{jr(n,{transition:"all "+o+"ms linear",opacity:"0"}),setTimeout(()=>{ie.remove(),a()},o)},o)):setTimeout(()=>a(),o)}),ie},isStarted:()=>typeof ie.status=="number",start:()=>{ie.status||ie.set(0);const e=()=>{setTimeout(()=>{ie.status&&(ie.trickle(),e())},ie.settings.trickleSpeed)};return ie.settings.trickle&&e(),ie},done:e=>!e&&!ie.status?ie:ie.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ie.status;return t?(typeof e!="number"&&(e=(1-t)*Fo(Math.random()*t,.1,.95)),t=Fo(t+e,0,.994),ie.set(t)):ie.start()},trickle:()=>ie.inc(Math.random()*ie.settings.trickleRate),render:e=>{if(ie.isRendered())return document.getElementById("nprogress");yi(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ie.settings.template;const n=t.querySelector(ie.settings.barSelector),r=e?"-100":bi(ie.status||0),o=document.querySelector(ie.settings.parent);return jr(n,{transition:"all 0 linear",transform:"translate3d("+r+"%,0,0)"}),o!==document.body&&yi(o,"nprogress-custom-parent"),o==null||o.appendChild(t),t},remove:()=>{Ei(document.documentElement,"nprogress-busy"),Ei(document.querySelector(ie.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&pv(e)},isRendered:()=>!!document.getElementById("nprogress")},Fo=(e,t,n)=>en?n:e,bi=e=>(-1+e)*100,fv=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),jr=function(){const e=["Webkit","O","Moz","ms"],t={};function n(a){return a.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(i,s){return s.toUpperCase()})}function r(a){const i=document.body.style;if(a in i)return a;let s=e.length;const c=a.charAt(0).toUpperCase()+a.slice(1);let d;for(;s--;)if(d=e[s]+c,d in i)return d;return a}function o(a){return a=n(a),t[a]??(t[a]=r(a))}function l(a,i,s){i=o(i),a.style[i]=s}return function(a,i){for(const s in i){const c=i[s];c!==void 0&&Object.prototype.hasOwnProperty.call(i,s)&&l(a,s,c)}}}(),Oc=(e,t)=>(typeof e=="string"?e:Kl(e)).indexOf(" "+t+" ")>=0,yi=(e,t)=>{const n=Kl(e),r=n+t;Oc(n,t)||(e.className=r.substring(1))},Ei=(e,t)=>{const n=Kl(e);if(!Oc(e,t))return;const r=n.replace(" "+t+" "," ");e.className=r.substring(1,r.length-1)},Kl=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),pv=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)},mv=()=>{ge(()=>{const e=jn(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ie.start()}),e.afterEach(n=>{t.add(n.path),ie.done()})})},vv=st({setup(){mv()}}),hv=Object.freeze(Object.defineProperty({__proto__:null,default:vv},Symbol.toStringTag,{value:"Module"})),gv=JSON.parse('{"encrypt":{},"author":{"name":"Dromara Warm-Flow工作流","url":"https://gitee.com/warm_4/warm-flow-doc"},"logo":"/logo.png","docsDir":"src","print":false,"locales":{"/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"前往 Gitee 编辑此页","print":"打印"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":["/",{"text":"文档导航","icon":"/icons/community.svg","link":"/common/introduction.md"},{"text":"快速开始","icon":"/icons/community.svg","link":"/master/guide/started.md"},{"text":"常见问题","icon":"/icons/member.svg","link":"/common/troubleshooting.md"},{"text":"更新日志","icon":"/icons/member.svg","link":"/common/update.md"},{"text":"历史版本","icon":"/icons/version.svg","children":[{"text":"v1.3.4","link":"/v1.3.4/guide/started.md"},{"text":"v1.3.3","link":"/v1.3.3/guide/started.md"},{"text":"v1.3.1","link":"/v1.3.1/guide/started.md"},{"text":"v1.3.0","link":"/v1.3.0/guide/started.md"},{"text":"v1.2.10","link":"/v1.2.10/guide/started.md"}]}],"sidebar":{"/master/guide/":[{"text":"初级篇","icon":"bulb","collapsible":false,"children":["/master/guide/started.md","/master/guide/table.md","/master/guide/config.md","/master/guide/api.md","/master/guide/datafillhandler.md","/master/guide/variable.md","/master/guide/condition.md","/master/guide/handler_change.md","/master/guide/collaboration.md","/master/guide/processterm.md"]},{"text":"进阶篇","icon":"bulb","collapsible":false,"children":["/master/guide/permission_handler.md","/master/guide/variableStategy.md","/master/guide/listener.md","/master/guide/ormusagetips.md","/master/guide/logicdelete.md","/master/guide/tenant.md","/master/guide/designerIntroduced.md"]},{"text":"提高篇","icon":"/icons/advanced.svg","collapsible":false,"children":["/master/guide/designer_two_open.md","/master/guide/customstatus.md","/master/guide/condition_two_open","/master/guide/variableStatey_two_open","/master/guide/listener_two_open","/master/guide/form.md","/master/guide/jsonlib.md"]}],"/common/":[{"text":"工作流介绍","collapsible":false,"children":["/common/introduction.md","/common/processdemo.md","/common/member.md","/common/pr.md","/common/dromara.md","/common/joingroup.md","/common/paidservice.md"]},{"text":"集成项目示例","collapsible":false,"link":"/common/projectexample.md"},{"text":"使用者登记","collapsible":false,"link":"/common/companyintegration.md"},{"text":"如何贡献","collapsible":false,"children":["/common/getinvolved.md","/common/submitpr.md"]},{"text":"学习资料","collapsible":false,"link":"/common/learningmaterials.md"},{"text":"常见问题","collapsible":false,"link":"/common/troubleshooting.md"},{"text":"更新日志","collapsible":false,"link":"/common/update.md"},{"text":"捐赠","collapsible":false,"link":"/common/support.md"}],"/v1.3.4/guide/":[{"text":"初级篇","icon":"bulb","collapsible":false,"children":["/v1.3.4/guide/started.md","/v1.3.4/guide/table.md","/v1.3.4/guide/config.md","/v1.3.4/guide/api.md","/v1.3.4/guide/datafillhandler.md","/v1.3.4/guide/variable.md","/v1.3.4/guide/condition.md","/v1.3.4/guide/processterm.md"]},{"text":"进阶篇","icon":"bulb","collapsible":false,"children":["/v1.3.4/guide/permission_handler.md","/v1.3.4/guide/variableStategy.md","/v1.3.4/guide/listener.md","/v1.3.4/guide/ormusagetips.md","/v1.3.4/guide/logicdelete.md","/v1.3.4/guide/tenant.md","/v1.3.4/guide/designerIntroduced.md"]},{"text":"提高篇","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.3.4/guide/designer_two_open.md","/v1.3.4/guide/customstatus.md","/v1.3.4/guide/expression_ex.md","/v1.3.4/guide/form.md","/v1.3.4/guide/jsonlib.md"]}],"/v1.3.3/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.3.3/guide/started.md","/v1.3.3/guide/processterm.md","/v1.3.3/guide/processrule.md","/v1.3.3/guide/processdemo.md","/v1.3.3/guide/table.md","/v1.3.3/guide/config.md","/v1.3.3/guide/api.md","/v1.3.3/guide/datafillhandler.md","/v1.3.3/guide/variable.md","/v1.3.3/guide/variableStategy.md","/v1.3.3/guide/ormusagetips.md","/v1.3.3/guide/designerIntroduced.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.3.3/guide/listener.md","/v1.3.3/guide/logicdelete.md","/v1.3.3/guide/tenant.md","/v1.3.3/guide/form.md","/v1.3.3/guide/customstatus.md","/v1.3.3/guide/expression.md","/v1.3.3/guide/jsonlib.md"]}],"/v1.3.1/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.3.1/guide/started.md","/v1.3.1/guide/processterm.md","/v1.3.1/guide/processrule.md","/v1.3.1/guide/processdemo.md","/v1.3.1/guide/table.md","/v1.3.1/guide/config.md","/v1.3.1/guide/api.md","/v1.3.1/guide/datafillhandler.md","/v1.3.1/guide/variable.md","/v1.3.1/guide/variableStategy.md","/v1.3.1/guide/ormusagetips.md","/v1.3.1/guide/designerIntroduced.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.3.1/guide/listener.md","/v1.3.1/guide/logicdelete.md","/v1.3.1/guide/tenant.md","/v1.3.1/guide/form.md","/v1.3.1/guide/customstatus.md","/v1.3.1/guide/expression.md","/v1.3.1/guide/jsonlib.md"]}],"/v1.3.0/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.3.0/guide/started.md","/v1.3.0/guide/processterm.md","/v1.3.0/guide/processrule.md","/v1.3.0/guide/processdemo.md","/v1.3.0/guide/table.md","/v1.3.0/guide/config.md","/v1.3.0/guide/api.md","/v1.3.0/guide/datafillhandler.md","/v1.3.0/guide/variable.md","/v1.3.0/guide/variableStategy.md","/v1.3.0/guide/ormusagetips.md","/v1.3.0/guide/designerIntroduced.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.3.0/guide/listener.md","/v1.3.0/guide/logicdelete.md","/v1.3.0/guide/tenant.md","/v1.3.0/guide/form.md","/v1.3.0/guide/customstatus.md","/v1.3.0/guide/expression.md","/v1.3.0/guide/jsonlib.md"]}],"/v1.2.10/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.2.10/guide/started.md","/v1.2.10/guide/processterm.md","/v1.2.10/guide/processrule.md","/v1.2.10/guide/processdemo.md","/v1.2.10/guide/table.md","/v1.2.10/guide/config.md","/v1.2.10/guide/api.md","/v1.2.10/guide/datafillhandler.md","/v1.2.10/guide/variable.md","/v1.2.10/guide/variableStategy.md","/v1.2.10/guide/ormusagetips.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.2.10/guide/logicdelete.md","/v1.2.10/guide/tenant.md","/v1.2.10/guide/form.md","/v1.2.10/guide/customstatus.md","/v1.2.10/guide/expression.md","/v1.2.10/guide/jsonlib.md"]}],"/v1.2.8/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.2.8/guide/started.md","/v1.2.8/guide/processterm.md","/v1.2.8/guide/processrule.md","/v1.2.8/guide/processdemo.md","/v1.2.8/guide/table.md","/v1.2.8/guide/config.md","/v1.2.8/guide/api.md","/v1.2.8/guide/datafillhandler.md","/v1.2.8/guide/variable.md","/v1.2.8/guide/variableStategy.md","/v1.2.8/guide/ormusagetips.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.2.8/guide/listener.md","/v1.2.8/guide/logicdelete.md","/v1.2.8/guide/tenant.md","/v1.2.8/guide/form.md","/v1.2.8/guide/customstatus.md","/v1.2.8/guide/expression.md","/v1.2.8/guide/jsonlib.md"]}],"/v1.2.7/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.2.7/guide/started.md","/v1.2.7/guide/processdemo.md","/v1.2.7/guide/table.md","/v1.2.7/guide/config.md","/v1.2.7/guide/api.md","/v1.2.7/guide/datafillhandler.md","/v1.2.7/guide/variable.md","/v1.2.7/guide/ormusagetips.md","/v1.2.7/guide/processterm.md","/v1.2.7/guide/processrule.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.2.7/guide/listener.md","/v1.2.7/guide/logicdelete.md","/v1.2.7/guide/tenant.md","/v1.2.7/guide/form.md","/v1.2.7/guide/customstatus.md","/v1.2.7/guide/expression.md"]}],"/v1.2.6/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.2.6/guide/started.md","/v1.2.6/guide/processdemo.md","/v1.2.6/guide/table.md","/v1.2.6/guide/config.md","/v1.2.6/guide/api.md","/v1.2.6/guide/datafillhandler.md","/v1.2.6/guide/variable.md","/v1.2.6/guide/ormusagetips.md","/v1.2.6/guide/processterm.md","/v1.2.6/guide/processrule.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.2.6/guide/listener.md","/v1.2.6/guide/logicdelete.md","/v1.2.6/guide/tenant.md","/v1.2.6/guide/form.md","/v1.2.6/guide/customstatus.md","/v1.2.6/guide/expression.md"]}],"/v1.2.4/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.2.4/guide/introduction.md","/v1.2.4/guide/started.md","/v1.2.4/guide/table.md","/v1.2.4/guide/config.md","/v1.2.4/guide/api.md","/v1.2.4/guide/processdemo.md","/v1.2.4/guide/processterm.md","/v1.2.4/guide/processrule.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.2.4/guide/logicdelete.md","/v1.2.4/guide/tenant.md","/v1.2.4/guide/customstatus.md","/v1.2.4/guide/listener.md","/v1.2.4/guide/expression.md","/v1.2.4/guide/ormusagetips.md"]},{"text":"其他","icon":"/icons/other.svg","collapsible":false,"children":["/v1.2.4/guide/learningmaterials.md","/v1.2.4/guide/troubleshooting.md","/v1.2.4/guide/update.md"]}],"/v1.2.3/guide/":[{"text":"基础部分","icon":"bulb","collapsible":false,"children":["/v1.2.3/guide/introduction.md","/v1.2.3/guide/started.md","/v1.2.3/guide/table.md","/v1.2.3/guide/config.md","/v1.2.3/guide/processdemo.md","/v1.2.3/guide/processterm.md","/v1.2.3/guide/processrule.md"]},{"text":"进阶部分","icon":"/icons/advanced.svg","collapsible":false,"children":["/v1.2.3/guide/api.md","/v1.2.3/guide/listener.md","/v1.2.3/guide/expression.md","/v1.2.3/guide/ormusagetips.md"]},{"text":"其他","icon":"/icons/other.svg","collapsible":false,"children":["/v1.2.3/guide/learningmaterials.md","/v1.2.3/guide/troubleshooting.md","/v1.2.3/guide/update.md"]}]},"displayFooter":true}},"editLink":false}'),_v=K(gv),Rc=()=>_v,Ic=Symbol(""),bv=()=>{const e=Ae(Ic);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},yv=(e,t)=>{const{locales:n,...r}=e;return{...r,...n==null?void 0:n[t]}},Ev=st({enhance({app:e}){const t=Rc(),n=e._context.provides[jl],r=A(()=>yv(t.value,n.routeLocale.value));e.provide(Ic,r),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return r.value}}})}}),wv=Object.freeze(Object.defineProperty({__proto__:null,default:Ev},Symbol.toStringTag,{value:"Module"})),Tv=/language-(shellscript|shell|bash|sh|zsh)/,Lv=({delay:e=500,duration:t=2e3,locales:n,selector:r,showInMobile:o,ignoreSelector:l=[],transform:a})=>{const i=ql("(max-width: 419px)"),s=A(()=>!i.value||o),c=Qt(n),d=Oe(),f=E=>{var T;if(E.hasAttribute("copy-code-registered"))return;const y=document.createElement("button");y.type="button",y.classList.add("vp-copy-code-button"),y.setAttribute("aria-label",c.value.copy),y.setAttribute("data-copied",c.value.copied),(T=E.parentElement)==null||T.insertBefore(y,E),E.setAttribute("copy-code-registered","")};le(()=>[d.value.path,s.value],async()=>{document.body.classList.toggle("copy-code-disabled",!s.value),s.value&&(await Jt(),await wc(e),document.querySelectorAll(r.join(",")).forEach(f))},{immediate:!0});const{copy:m}=O1({legacy:!0}),_=new WeakMap,w=(E,y,T)=>{const g=y.cloneNode(!0);l.length&&g.querySelectorAll(l.join(",")).forEach(M=>M.remove()),a&&a(g);let C=g.textContent||"";Tv.test(E.className)&&(C=C.replace(/^ *(\$|>) /gm,"")),m(C).then(()=>{if(t<=0)return;T.classList.add("copied"),clearTimeout(_.get(T));const M=setTimeout(()=>{T.classList.remove("copied"),T.blur(),_.delete(T)},t);_.set(T,M)})};ye("click",E=>{const y=E.target;if(s.value&&y.matches('div[class*="language-"] > button.vp-copy-code-button')){const T=y.parentElement,g=y.nextElementSibling;if(!T||!g)return;w(T,g,y)}})};var Av={"/":{copy:"复制代码",copied:"已复制"}},Cv=['.theme-hope-content div[class*="language-"] pre'];const Sv=st({setup:()=>{Lv({selector:Cv,locales:Av,duration:2e3,delay:500,showInMobile:!1})}}),xv=Object.freeze(Object.defineProperty({__proto__:null,default:Sv},Symbol.toStringTag,{value:"Module"})),Hr=vo("VUEPRESS_CODE_TAB_STORE",{});var kv=G({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},slots:Object,setup(e,{slots:t}){const n=K(e.active),r=Ce([]),o=()=>{e.tabId&&(Hr.value[e.tabId]=e.data[n.value].id)},l=(c=n.value)=>{n.value=c{n.value=c>0?c-1:r.value.length-1,r.value[n.value].focus()},i=(c,d)=>{c.key===" "||c.key==="Enter"?(c.preventDefault(),n.value=d):c.key==="ArrowRight"?(c.preventDefault(),l()):c.key==="ArrowLeft"&&(c.preventDefault(),a()),e.tabId&&(Hr.value[e.tabId]=e.data[n.value].id)},s=()=>{if(e.tabId){const c=e.data.findIndex(({id:d})=>Hr.value[e.tabId]===d);if(c!==-1)return c}return e.active};return ge(()=>{n.value=s(),le(()=>Hr.value[e.tabId],(c,d)=>{if(e.tabId&&c!==d){const f=e.data.findIndex(({id:p})=>p===c);f!==-1&&(n.value=f)}})}),()=>e.data.length?u("div",{class:"vp-code-tabs"},[u("div",{class:"vp-code-tabs-nav",role:"tablist"},e.data.map(({id:c},d)=>{const f=d===n.value;return u("button",{type:"button",ref:p=>{p&&(r.value[d]=p)},class:["vp-code-tab-nav",{active:f}],role:"tab","aria-controls":`codetab-${e.id}-${d}`,"aria-selected":f,onClick:()=>{n.value=d,o()},onKeydown:p=>i(p,d)},t[`title${d}`]({value:c,isActive:f}))})),e.data.map(({id:c},d)=>{const f=d===n.value;return u("div",{class:["vp-code-tab",{active:f}],id:`codetab-${e.id}-${d}`,role:"tabpanel","aria-expanded":f},[u("div",{class:"vp-code-tab-title"},t[`title${d}`]({value:c,isActive:f})),t[`tab${d}`]({value:c,isActive:f})])})]):null}});const we=({name:e="",color:t="currentColor",ariaLabel:n},{attrs:r,slots:o})=>{var l;return u("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":n??`${e} icon`,...r},(l=o.default)==null?void 0:l.call(o))};we.displayName="IconBase";const ho=({size:e=48,stroke:t=4,wrapper:n=!0,height:r=2*e})=>{const o=u("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[u("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),u("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[u("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),u("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?u("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${r}px`},o):o};ho.displayName="LoadingIcon";const Dc=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},Pv=e=>Tr(e)?e:`https://github.com/${e}`,Yl=(e="")=>!Tr(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,Mc=()=>u(we,{name:"github"},()=>u("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));Mc.displayName="GitHubIcon";const $c=()=>u(we,{name:"gitee"},()=>u("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));$c.displayName="GiteeIcon";const Vc=()=>u(we,{name:"bitbucket"},()=>u("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));Vc.displayName="BitbucketIcon";const Nc=()=>u(we,{name:"source"},()=>u("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));Nc.displayName="SourceIcon";const Ov=({link:e,type:t=Yl(e??"")})=>{if(!t)return null;const n=t.toLowerCase();return u(n==="bitbucket"?Vc:n==="github"?Mc:n==="gitlab"?"GitLab":n==="gitee"?$c:Nc)};function Rv(){const e=K(!1),t=Fn();return t&&ge(()=>{e.value=!0},t),e}function Iv(e){return Rv(),A(()=>!!e())}const Dv=()=>Iv(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),Mv=()=>{const e=Dv();return A(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},$v=e=>[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i].some(t=>t.test(e)),Vv=e=>[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/cfnetwork\/.+darwin/i].some(t=>t.test(e)),Nv=e=>[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i].some(t=>t.test(e)),Bv=(e,t=0)=>{let n=3735928559^t,r=1103547991^t;for(let o=0,l;o>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)},Bc=(e,t)=>Bv(e)%t,Fc=/#.*$/u,Fv=e=>{const t=Fc.exec(e);return t?t[0]:""},wi=e=>decodeURI(e).replace(Fc,"").replace(/\/index\.html$/iu,"/").replace(/\/(README|index)\.md$/iu,"/").replace(/\.(?:html|md)$/iu,""),jc=(e,t)=>{if(!Tc(t))return!1;const n=wi(e.path),r=wi(t),o=Fv(t);return o?o===e.hash&&(!r||n===r):n===r};var jv=e=>Object.prototype.toString.call(e)==="[object Object]",pr=e=>typeof e=="string";const Hc=Array.isArray,Ti=e=>jv(e)&&pr(e.name),Li=(e,t=!1)=>e?Hc(e)?e.map(n=>pr(n)?{name:n}:Ti(n)?n:null).filter(n=>n!==null):pr(e)?[{name:e}]:Ti(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],zc=(e,t)=>{if(e){if(Hc(e)&&e.every(pr))return e;if(pr(e))return[e];console.error(`Expect ${t} to be \`string[] | string | undefined\`, but got`,e)}return[]},Hv=e=>zc(e,"category"),zv=e=>zc(e,"tag"),Wv='',qv='';var Uv={useBabel:!1,jsLib:[],cssLib:[],codepenLayout:"left",codepenEditors:"101",babel:"https://unpkg.com/@babel/standalone/babel.min.js",vue:"https://unpkg.com/vue/dist/vue.global.prod.js",react:"https://unpkg.com/react/umd/react.production.min.js",reactDOM:"https://unpkg.com/react-dom/umd/react-dom.production.min.js"};const jo=Uv,Ai={html:{types:["html","slim","haml","md","markdown","vue"],map:{html:"none",vue:"none",md:"markdown"}},js:{types:["js","javascript","coffee","coffeescript","ts","typescript","ls","livescript"],map:{js:"none",javascript:"none",coffee:"coffeescript",ls:"livescript",ts:"typescript"}},css:{types:["css","less","sass","scss","stylus","styl"],map:{css:"none",styl:"stylus"}}},Gv=(e,t,n)=>{const r=document.createElement(e);return Lr(t)&&Cr(t).forEach(o=>{if(o.indexOf("data"))r[o]=t[o];else{const l=o.replace("data","");r.dataset[l]=t[o]}}),r},Jl=e=>({...jo,...e,jsLib:Array.from(new Set([...jo.jsLib??[],...e.jsLib??[]])),cssLib:Array.from(new Set([...jo.cssLib??[],...e.cssLib??[]]))}),Rn=(e,t)=>{if(Tc(e[t]))return e[t];const n=new Promise(r=>{var l;const o=document.createElement("script");o.src=t,(l=document.querySelector("body"))==null||l.appendChild(o),o.onload=()=>{r()}});return e[t]=n,n},Kv=(e,t)=>{if(t.css&&Array.from(e.childNodes).every(n=>n.nodeName!=="STYLE")){const n=Gv("style",{innerHTML:t.css});e.appendChild(n)}},Yv=(e,t,n)=>{const r=n.getScript();if(r&&Array.from(t.childNodes).every(o=>o.nodeName!=="SCRIPT")){const o=document.createElement("script");o.appendChild(document.createTextNode(`{const document=window.document.querySelector('#${e} .vp-code-demo-display').shadowRoot; +${r}}`)),t.appendChild(o)}},Jv=["html","js","css"],Qv=e=>{const t=Cr(e),n={html:[],js:[],css:[],isLegal:!1};return Jv.forEach(r=>{const o=t.filter(l=>Ai[r].types.includes(l));if(o.length){const l=o[0];n[r]=[e[l].replace(/^\n|\n$/g,""),Ai[r].map[l]??l]}}),n.isLegal=(!n.html.length||n.html[1]==="none")&&(!n.js.length||n.js[1]==="none")&&(!n.css.length||n.css[1]==="none"),n},Wc=e=>e.replace(/
/g,"
").replace(/<((\S+)[^<]*?)\s+\/>/g,"<$1>"),qc=e=>`
+${Wc(e)} +
`,Xv=e=>`${e.replace("export default ","const $reactApp = ").replace(/App\.__style__(\s*)=(\s*)`([\s\S]*)?`/,"")}; +ReactDOM.createRoot(document.getElementById("app")).render(React.createElement($reactApp))`,Zv=e=>e.replace(/export\s+default\s*\{(\n*[\s\S]*)\n*\}\s*;?$/u,"Vue.createApp({$1}).mount('#app')").replace(/export\s+default\s*define(Async)?Component\s*\(\s*\{(\n*[\s\S]*)\n*\}\s*\)\s*;?$/u,"Vue.createApp({$1}).mount('#app')").trim(),Uc=e=>`(function(exports){var module={};module.exports=exports;${e};return module.exports.__esModule.exports.default:module.exports;})({})`,eh=(e,t)=>{const n=Jl(t),r=e.js[0]??"";return{...n,html:Wc(e.html[0]??""),js:r,css:e.css[0]??"",isLegal:e.isLegal,getScript:()=>{var o;return n.useBabel?((o=window.Babel.transform(r,{presets:["es2015"]}))==null?void 0:o.code)??"":r}}},th=/