perf: 模版导入流水线

This commit is contained in:
xiaojunnuo
2025-06-26 18:43:16 +08:00
parent 529482a83e
commit dcc8c56969
13 changed files with 462 additions and 66 deletions
@@ -19,7 +19,9 @@ defineOptions({
});
const getScope: any = inject("get:scope");
const getPluginType: any = inject("get:plugin:type");
const getPluginType: any = inject("get:plugin:type", () => {
return "access";
});
const formItemContext = Form.useInjectFormItemContext();
const props = defineProps<{} & ComponentPropsType>();
@@ -27,7 +27,9 @@ const emit = defineEmits<{
}>();
const getScope: any = inject("get:scope");
const getPluginType: any = inject("get:plugin:type");
const getPluginType: any = inject("get:plugin:type", () => {
return "plugin";
});
const attrs = useAttrs();
@@ -69,9 +69,15 @@ const emit = defineEmits<{
const attrs = useAttrs();
const getCurrentPluginDefine: any = inject("getCurrentPluginDefine");
const getScope: any = inject("get:scope");
const getPluginType: any = inject("get:plugin:type");
const getCurrentPluginDefine: any = inject("getCurrentPluginDefine", () => {
return {};
});
const getScope: any = inject("get:scope", () => {
return {};
});
const getPluginType: any = inject("get:plugin:type", () => {
return "plugin";
});
const searchKeyRef = ref("");
const optionsRef = ref([]);
@@ -96,7 +102,7 @@ const getOptions = async () => {
}
const pluginType = getPluginType();
const { form } = getScope();
const input = pluginType === "plugin" ? form.input : form;
const input = (pluginType === "plugin" ? form?.input : form) || {};
for (let key in define.input) {
const inWatches = props.watches.includes(key);
@@ -186,7 +192,7 @@ watch(
() => {
const pluginType = getPluginType();
const { form, key } = getScope();
const input = pluginType === "plugin" ? form.input : form;
const input = (pluginType === "plugin" ? form?.input : form) || {};
const watches = {};
for (const key of props.watches) {
watches[key] = input[key];
@@ -198,10 +204,11 @@ watch(
},
async (value, oldValue) => {
const { form } = value;
const oldForm = oldValue.form;
const oldForm: any = oldValue?.form;
let changed = oldForm == null || optionsRef.value.length == 0;
for (const key of props.watches) {
if (form[key] != oldForm[key]) {
//@ts-ignore
if (oldForm && form[key] != oldForm[key]) {
changed = true;
break;
}
@@ -27,7 +27,9 @@ const attrs = useAttrs();
const otpCodeRef = ref("");
const getScope: any = inject("get:scope");
const getPluginType: any = inject("get:plugin:type");
const getPluginType: any = inject("get:plugin:type", () => {
return "access";
});
async function loginWithOTPCode(otpCode: string) {
const { form } = getScope();