diff --git a/client-configs.json b/client-configs.json index 45429f5..39cc9e6 100644 --- a/client-configs.json +++ b/client-configs.json @@ -15,7 +15,14 @@ "ipSmallImageWidth": 128, "ipSmallImageHeight": 128, "ipSmallTotalFrames": 117, - "ipSmallColumns": 1 + "ipSmallColumns": 1, + "theme": { + "theme-color-800": "#0B7034", + "theme-color-700": "#0B5C2D", + "theme-color-500": "#0CCD58", + "theme-color-100": "#E8FFF1", + "theme-color-50": "#F0F8F3" + } }, "duohua": { "clientId": "2", @@ -33,7 +40,14 @@ "ipSmallImageWidth": 128, "ipSmallImageHeight": 128, "ipSmallTotalFrames": 117, - "ipSmallColumns": 1 + "ipSmallColumns": 1, + "theme": { + "theme-color-800": "#0B7034", + "theme-color-700": "#0B5C2D", + "theme-color-500": "#0CCD58", + "theme-color-100": "#E8FFF1", + "theme-color-50": "#F0F8F3" + } }, "tianmu": { "clientId": "4", @@ -51,6 +65,13 @@ "ipSmallImageWidth": 128, "ipSmallImageHeight": 128, "ipSmallTotalFrames": 148, - "ipSmallColumns": 1 + "ipSmallColumns": 1, + "theme": { + "theme-color-800": "#8B5CF6", + "theme-color-700": "#7C3AED", + "theme-color-500": "#A78BFA", + "theme-color-100": "#EDE9FE", + "theme-color-50": "#F5F3FF" + } } } \ No newline at end of file diff --git a/scripts/update-appid.js b/scripts/update-appid.js index e1026a9..0f2b990 100755 --- a/scripts/update-appid.js +++ b/scripts/update-appid.js @@ -50,6 +50,38 @@ if (!input) { // 文件路径 const manifestPath = path.join(__dirname, "../src/manifest.json"); const projectConfigPath = path.join(__dirname, "../project.config.json"); +const uniScssPath = path.join(__dirname, "../src/uni.scss"); + +/** + * 更新 uni.scss 中的主题色变量 + */ +function updateUniScss(clientName) { + try { + const theme = CLIENT_CONFIGS[clientName].theme; + if (!theme) { + console.log("⚠️ 未找到主题色配置,跳过更新 uni.scss"); + return true; + } + + console.log("📝 正在更新 uni.scss 主题色..."); + let content = fs.readFileSync(uniScssPath, "utf8"); + + // 更新主题色变量 + const themeKeys = Object.keys(theme); + themeKeys.forEach((key) => { + // 匹配形如 $theme-color-800: #174BB6; 的正则 + const regex = new RegExp(`(\\\$${key}):\\s*#[0-9a-fA-F]+;`); + content = content.replace(regex, `$1: ${theme[key]};`); + }); + + fs.writeFileSync(uniScssPath, content, "utf8"); + console.log("✅ uni.scss 主题色更新成功"); + return true; + } catch (error) { + console.error("❌ 更新 uni.scss 失败:", error.message); + return false; + } +} /** * 更新base.js中的getCurrentConfig函数 @@ -195,8 +227,9 @@ function main() { const baseSuccess = updateBaseJs(clientName); const manifestSuccess = updateManifestJson(newAppId); const projectConfigSuccess = updateProjectConfigJson(newAppId); + const scssSuccess = updateUniScss(clientName); - if (baseSuccess && manifestSuccess && projectConfigSuccess) { + if (baseSuccess && manifestSuccess && projectConfigSuccess && scssSuccess) { console.log("\n🎉 所有文件更新完成!"); console.log(`💡 已切换到 ${CLIENT_CONFIGS[clientName].name} 客户端配置`); console.log("💡 提示: 请检查文件内容确认更新正确"); diff --git a/src/uni.scss b/src/uni.scss index 567da6f..04601d7 100644 --- a/src/uni.scss +++ b/src/uni.scss @@ -12,14 +12,7 @@ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ -/* 主题颜色:蓝色 */ -// $theme-color-800: #174BB6; -// $theme-color-700: #19428F; -// $theme-color-500: #2D91FF; -// $theme-color-100: #D9EEFF; -// $theme-color-50: #EEF8FF; - -/* 主题颜色:绿色 */ +/* 主题颜色(由 switch-client 命令自动更新) */ $theme-color-800: #0B7034; $theme-color-700: #0B5C2D; $theme-color-500: #0CCD58;