import { NInput, NFormItem, NButton } from 'naive-ui' import AppAvatar from '@/app-components/app/AppAvatar' import { RForm } from '@/components' import useAppLockScreen from '@/app-components/app/AppLockScreen/appLockVar' import { rules, useCondition } from '@/app-components/app/AppLockScreen/shared' import { useSettingActions } from '@/store' import { useTemplateRef } from 'vue' import { useForm } from '@/components' import type { InputInst } from 'naive-ui' const LockScreen = defineComponent({ name: 'LockScreen', setup() { const [register, { validate }] = useForm() const inputInstRef = useTemplateRef('inputInstRef') const { setLockAppScreen } = useAppLockScreen() const { updateSettingState } = useSettingActions() const state = reactive({ lockCondition: useCondition(), }) const lockScreen = () => { validate().then(() => { setLockAppScreen(true) updateSettingState('lockScreenSwitch', false) state.lockCondition = useCondition() }) } onMounted(() => { nextTick(() => { inputInstRef.value?.focus() }) }) return { ...toRefs(state), lockScreen, register, inputInstRef, } }, render() { const { register } = this return (
{ if (e.code === 'Enter') { this.lockScreen() } }} autofocus /> 锁屏
) }, }) export default LockScreen