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() {
>
-
+ {/*
*/}
{/* 用户菜单 */}
-
+