web登录注册修改
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
用户名
|
||||
</div>
|
||||
<div
|
||||
v-if="smsLoginEnabled"
|
||||
class="tab-item"
|
||||
:class="{ active: registerType === RegisterType.PHONE }"
|
||||
@click="switchRegisterType(RegisterType.PHONE)"
|
||||
@@ -43,6 +44,7 @@
|
||||
手机号
|
||||
</div>
|
||||
<div
|
||||
v-if="emailLoginEnabled"
|
||||
class="tab-item"
|
||||
:class="{ active: registerType === RegisterType.EMAIL }"
|
||||
@click="switchRegisterType(RegisterType.EMAIL)"
|
||||
@@ -190,8 +192,9 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue';
|
||||
import { ref, reactive, computed, watch } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { useStore } from 'vuex';
|
||||
import { ElMessage, type FormInstance, type FormRules } from 'element-plus';
|
||||
import type { RegisterParam } from '@/types';
|
||||
import { RegisterType } from '@/types';
|
||||
@@ -207,10 +210,25 @@ let emailTimer: number | null = null;
|
||||
|
||||
// Composition API
|
||||
const router = useRouter();
|
||||
const store = useStore();
|
||||
|
||||
// 获取系统配置
|
||||
const smsLoginEnabled = computed(() => store.getters['system/smsLoginEnabled']);
|
||||
const emailLoginEnabled = computed(() => store.getters['system/emailLoginEnabled']);
|
||||
|
||||
// 注册方式
|
||||
const registerType = ref<RegisterType>(RegisterType.USERNAME);
|
||||
|
||||
// 监听配置变化,自动调整注册方式
|
||||
watch([smsLoginEnabled, emailLoginEnabled], () => {
|
||||
// 如果当前选中的注册方式未启用,切换到用户名注册
|
||||
if (registerType.value === RegisterType.PHONE && !smsLoginEnabled.value) {
|
||||
registerType.value = RegisterType.USERNAME;
|
||||
} else if (registerType.value === RegisterType.EMAIL && !emailLoginEnabled.value) {
|
||||
registerType.value = RegisterType.USERNAME;
|
||||
}
|
||||
});
|
||||
|
||||
// 表单数据
|
||||
const registerForm = reactive<RegisterParam>({
|
||||
registerType: RegisterType.USERNAME,
|
||||
|
||||
Reference in New Issue
Block a user