diff --git a/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue b/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue index edcd345c..3312d6aa 100644 --- a/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue +++ b/packages/ui/certd-client/src/views/sys/settings/tabs/register.vue @@ -32,7 +32,7 @@ </a-form-item> <template v-if="formState.public.smsLoginEnabled"> <a-form-item label="短信提供商" :name="['private', 'sms', 'type']"> - <a-select v-model:value="formState.private.sms.type" @change="loadTypeDefine"> + <a-select v-model:value="formState.private.sms.type" @change="smsTypeChange"> <a-select-option value="aliyun">阿里云短信</a-select-option> <a-select-option value="yfysms">易发云短信</a-select-option> </a-select> @@ -113,6 +113,13 @@ const rules = { } }; +async function smsTypeChange(value: string) { + if (formState.private?.sms?.config) { + formState.private.sms.config = {}; + } + + await loadTypeDefine(value); +} const smsTypeDefineInputs: Ref = ref({}); async function loadTypeDefine(type: string) { const define: any = await api.GetSmsTypeDefine(type); @@ -141,11 +148,13 @@ async function loadTypeDefine(type: string) { }); smsTypeDefineInputs.value = inputs; } -loadTypeDefine("aliyun"); async function loadSysSettings() { const data: any = await api.SysSettingsGet(); merge(formState, data); + if (data?.private.sms?.type) { + await loadTypeDefine(data.private.sms.type); + } } const saveLoading = ref(false);