import { useGlobal } from '@/lib/global' import { useEffect, useRef } from 'react' /** * 加密文章校验组件 * @param {password, validPassword} props * @param password 正确的密码 * @param validPassword(bool) 回调函数,校验正确回调入参为true * @returns */ export const ArticleLock = props => { const { validPassword } = props const { locale } = useGlobal() const submitPassword = () => { const p = document.getElementById('password') if (!validPassword(p?.value)) { const tips = document.getElementById('tips') if (tips) { tips.innerHTML = '' tips.innerHTML = `
${locale.COMMON.PASSWORD_ERROR}
` } } } const passwordInputRef = useRef(null) useEffect(() => { // 选中密码输入框并将其聚焦 passwordInputRef.current.focus() }, []) return
{locale.COMMON.ARTICLE_LOCK_TIPS}
{ if (e.key === 'Enter') { submitPassword() } }} ref={passwordInputRef} // 绑定ref到passwordInputRef变量 className='outline-none w-full text-sm pl-5 rounded-l transition focus:shadow-lg dark:text-gray-300 font-light leading-10 text-black bg-gray-100 dark:bg-gray-500'>
 {locale.COMMON.SUBMIT}
}