feat(hardening): 内嵌产品配置 + 系统级状态 + 全量 i18n + 依赖治理 + 资料清理
update-client-hardening 四工作流合入(构建/静态检查已过): - 配置:不可变产品策略经 UpdateClientResources.cmake 归一化校验后 内嵌 qrc(URL/相对路径/主程序必须落 install_root/版本/UUID 格式, CMake override 写入前复验);可变机器状态迁系统级原生存储; 运行目录不再落可编辑 app_config.json。 - i18n:生产源全英文(no-Han 检查 41/41),中文进 translations/ zh_CN 目录;翻译加载收敛 Common/TranslationHelper 唯一入口; Bootstrap 补资源文件。 - 依赖:Qt/OpenSSL/架构/Perl 机器路径改 imported targets + UpdateClientDependencies.cmake,3rdparty 由父工程契约供给。 - 清理:旧 README/SDK README/3 个重复 PowerShell 打包脚本/PDF 提取 文本删除,canonical README + 5 份结构化英文文档替代;Launcher requireAdministrator manifest;统一 MSVC /utf-8 删运行时编码设置。
This commit is contained in:
+15
-2
@@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include <QJsonObject>
|
||||
#include <QString>
|
||||
|
||||
class ConfigHelper
|
||||
@@ -8,6 +9,8 @@ public:
|
||||
QString getValue(const QString& section, const QString& key) const;
|
||||
bool setValue(const QString& section, const QString& key, const QString& value);
|
||||
QString configPath() const;
|
||||
QString productConfigPath() const;
|
||||
QString stateLocation() const;
|
||||
QString installRoot() const;
|
||||
QString runtimeRoot() const;
|
||||
QString updateRoot() const;
|
||||
@@ -16,7 +19,17 @@ public:
|
||||
|
||||
private:
|
||||
ConfigHelper();
|
||||
bool migrateLegacyIniIfNeeded();
|
||||
QString m_configPath;
|
||||
bool loadProductConfig();
|
||||
bool migrateLegacyStateIfNeeded();
|
||||
bool initializeStateDefaults();
|
||||
QString stateStorageKey(const QString& key) const;
|
||||
QString stateValue(const QString& key) const;
|
||||
bool writeStateValue(const QString& key, const QString& value);
|
||||
static bool isMutableKey(const QString& key);
|
||||
|
||||
QString m_productConfigPath;
|
||||
QString m_statePrefix;
|
||||
QJsonObject m_productConfig;
|
||||
QJsonObject m_initialState;
|
||||
QString m_error;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user