diff --git a/app/page.jsx b/app/page.jsx index 906b72e..68a6972 100644 --- a/app/page.jsx +++ b/app/page.jsx @@ -1232,7 +1232,7 @@ function CloudConfigModal({ onConfirm, onCancel, type = 'empty' }) {

{isConflict - ? '检测到本地配置比云端更新,请选择操作:' + ? '检测到本地配置与云端不一致,请选择操作:' : '是否将本地配置同步到云端?'}

@@ -1858,11 +1858,6 @@ export default function HomePage() { const [latestVersion, setLatestVersion] = useState(''); const [updateContent, setUpdateContent] = useState(''); - // FIXME 强制登出 - useLayoutEffect(() => { - handleLogout(); - }, []); - useEffect(() => { const checkUpdate = async () => { try { @@ -3317,12 +3312,18 @@ export default function HomePage() { return; } if (data?.data && typeof data.data === 'object' && Object.keys(data.data).length > 0) { - const cloudTime = new Date(data.updated_at || 0).getTime(); - const localTime = new Date(localStorage.getItem('localUpdatedAt') || 0).getTime(); - - if (localTime > cloudTime + 2000) { - setCloudConfigModal({ open: true, userId, type: 'conflict', cloudData: data.data }); - return; + const localPayload = collectLocalPayload(); + const localComparable = getComparablePayload(localPayload); + const cloudComparable = getComparablePayload(data.data); + + if (localComparable !== cloudComparable) { + const cloudTime = new Date(data.updated_at || 0).getTime(); + const localTime = new Date(localStorage.getItem('localUpdatedAt') || 0).getTime(); + + if (localTime > cloudTime + 2000) { + setCloudConfigModal({ open: true, userId, type: 'conflict', cloudData: data.data }); + return; + } } await applyCloudConfig(data.data, data.updated_at); @@ -3606,16 +3607,17 @@ export default function HomePage() { > - + {/* setSettingsOpen(true)}*/} + {/* title="设置"*/} + {/* hidden*/} + {/*>*/} + {/* */} + {/**/} {/* 用户菜单 */} -