@@ -610,7 +610,6 @@ export default {
);
if (!response.success) {
- // 处理错误情况
if (response.error.code === "NOT_FOUND") {
this.state.showNoDataMessage = true;
this.state.noDataMessage = response.error.message;
@@ -622,14 +621,13 @@ export default {
throw new Error(response.error.message);
}
} else {
- // 处理成功情况
this.state.boardData = response.data;
this.state.synced = true;
this.state.showNoDataMessage = false;
- this.showMessage("下载成功", "数据已更新");
+ this.$message.success("下载成功", "数据已更新");
}
} catch (error) {
- this.showError("下载失败", error.message);
+ this.$message.error("下载失败", error.message);
} finally {
this.loading.download = false;
}
@@ -658,7 +656,7 @@ export default {
await this.uploadData();
return true;
} catch (error) {
- this.showError('保存失败', error.message || '请重试');
+ this.$message.error('保存失败', error.message || '请重试');
return false;
}
},
@@ -703,7 +701,7 @@ export default {
}
this.state.synced = true;
- this.showMessage(response.message || "保存成功");
+ this.$message.success(response.message || "保存成功");
} finally {
this.loading.upload = false;
}
@@ -723,18 +721,12 @@ export default {
this.state.studentList = response.data.studentList || [];
} catch (error) {
console.error("加载配置失败:", error);
- this.showError("加载配置失败", error.message);
+ this.$message.error("加载配置失败", error.message);
}
},
showSyncMessage() {
- this.state.snackbar = true;
- this.state.snackbarText = "数据已完成与服务器同步";
- },
-
- showError(message) {
- this.state.snackbar = true;
- this.state.snackbarText = message;
+ this.$message.success("数据已同步", "数据已完成与服务器同步");
},
async openDialog(subject) {
@@ -743,7 +735,7 @@ export default {
await this.downloadData();
} catch (err) {
console.error("刷新数据失败:", err);
- this.showError("刷新数据失败,可能显示的不是最新数据");
+ this.$message.error("刷新数据失败,可能显示的不是最新数据");
}
}
@@ -1020,7 +1012,7 @@ export default {
this.state.attendanceDialog = false;
} catch (error) {
console.error("保存出勤状态失败:", error);
- this.showError("保存失败,请重试");
+ this.$message.error("保存失败", "请重试");
}
},
diff --git a/src/pages/settings.vue b/src/pages/settings.vue
index 937f83f..791dc32 100644
--- a/src/pages/settings.vue
+++ b/src/pages/settings.vue
@@ -273,6 +273,25 @@
+
+
+
+
+
+
+ 禁用消息日志记录
+ 关闭保存消息到本地存储的功能
+
+
+
+
+
+
+
@@ -385,7 +404,8 @@ export default {
},
developer: {
enabled: getSetting('developer.enabled'),
- showDebugConfig: getSetting('developer.showDebugConfig')
+ showDebugConfig: getSetting('developer.showDebugConfig'),
+ disableMessageLog: getSetting('developer.disableMessageLog')
},
message: {
showSidebar: getSetting('message.showSidebar'),
diff --git a/src/utils/settings.js b/src/utils/settings.js
index 005ca5f..4396fe1 100644
--- a/src/utils/settings.js
+++ b/src/utils/settings.js
@@ -110,6 +110,12 @@ const settingsDefinitions = {
default: false,
description: "是否显示调试配置",
},
+ // 新增的配置项:禁止将消息日志记录到localStorage
+ "developer.disableMessageLog": {
+ type: "boolean",
+ default: false,
+ description: "是否禁用将消息日志记录到localStorage",
+ },
// 消息设置
"message.showSidebar": {
@@ -236,25 +242,35 @@ function getSetting(key) {
return null;
}
- // 添加对开发者选项依赖的检查
- if (definition.requireDeveloper && !settingsCache["developer.enabled"]) {
- return definition.default;
+ // 确保开发者相关设置正确处理
+ if (definition.requireDeveloper) {
+ const devEnabled = settingsCache['developer.enabled'];
+ if (!devEnabled) {
+ return definition.default;
+ }
}
const value = settingsCache[key];
return value !== undefined ? value : definition.default;
}
-// 添加设置变更日志函数
+// 修改 logSettingsChange 函数,优化检查逻辑
function logSettingsChange(key, oldValue, newValue) {
- if (
- settingsCache["developer.enabled"] &&
- settingsCache["developer.showDebugConfig"]
- ) {
+ // 确保设置已加载
+ if (!settingsCache) {
+ loadSettings();
+ }
+
+ const shouldLog =
+ settingsCache['developer.enabled'] &&
+ settingsCache['developer.showDebugConfig'] &&
+ !settingsCache['developer.disableMessageLog'];
+
+ if (shouldLog) {
console.log(`[Settings] ${key}:`, {
old: oldValue,
new: newValue,
- time: new Date().toLocaleTimeString(),
+ time: new Date().toLocaleTimeString()
});
}
}