feat: 一些更新

This commit is contained in:
cc
2026-01-29 20:41:12 +08:00
parent ff1bc279f2
commit b9fa0cc215
17 changed files with 875 additions and 232 deletions

View File

@@ -27,6 +27,7 @@ import './App.scss'
import UpdateDialog from './components/UpdateDialog'
import UpdateProgressCapsule from './components/UpdateProgressCapsule'
import LockScreen from './components/LockScreen'
function App() {
const navigate = useNavigate()
@@ -50,6 +51,10 @@ function App() {
const isVideoPlayerWindow = location.pathname === '/video-player-window'
const [themeHydrated, setThemeHydrated] = useState(false)
// 锁定状态
const [isLocked, setIsLocked] = useState(false)
const [lockAvatar, setLockAvatar] = useState('')
// 协议同意状态
const [showAgreement, setShowAgreement] = useState(false)
const [agreementChecked, setAgreementChecked] = useState(false)
@@ -250,6 +255,28 @@ function App() {
autoConnect()
}, [isAgreementWindow, isOnboardingWindow, navigate, setDbConnected])
// 检查应用锁
useEffect(() => {
if (isAgreementWindow || isOnboardingWindow || isVideoPlayerWindow) return
const checkLock = async () => {
const enabled = await configService.getAuthEnabled()
if (enabled) {
setIsLocked(true)
// 尝试获取头像
try {
const result = await window.electronAPI.chat.getMyAvatarUrl()
if (result && result.success && result.avatarUrl) {
setLockAvatar(result.avatarUrl)
}
} catch (e) {
console.error('获取锁屏头像失败', e)
}
}
}
checkLock()
}, [isAgreementWindow, isOnboardingWindow, isVideoPlayerWindow])
// 独立协议窗口
if (isAgreementWindow) {
return <AgreementPage />
@@ -267,6 +294,12 @@ function App() {
// 主窗口 - 完整布局
return (
<div className="app-container">
{isLocked && (
<LockScreen
onUnlock={() => setIsLocked(false)}
avatar={lockAvatar}
/>
)}
<TitleBar />
{/* 全局悬浮进度胶囊 (处理:新版本提示、下载进度、错误提示) */}
@@ -293,13 +326,13 @@ function App() {
</div>
<div className="agreement-text">
<h4>1. </h4>
<p></p>
<p></p>
<h4>2. 使</h4>
<p>使使</p>
<p>使使</p>
<h4>3. </h4>
<p>使使</p>
<p>使使</p>
<h4>4. </h4>
<p></p>