# comindex.uvue 重构总结 ## 重构目标 根据最新的数据库结构(主表+翻译表模式),重构公司首页的数据获取逻辑,删除不必要的数据获取方式,确保代码简洁高效。 ## 数据库结构 - **主表**: `ak_global_config` - 存储配置的基本信息 - **翻译表**: `ak_global_config_translations` - 存储多语言翻译 - **查询函数**: `get_configs_by_language(p_language_code)` - 一键获取指定语言的所有配置 ## 重构内容 ### 1. 简化数据加载逻辑 **之前**: 多层备用查询方案(RPC函数 → 视图查询 → 联查) ```typescript // 复杂的三层备用查询 try { // 尝试RPC函数 } catch { try { // 尝试视图查询 } catch { // 最后联查 } } ``` **现在**: 直接使用最优查询函数 ```typescript // 直接使用最新的查询函数 const result = await supa.rpc('get_configs_by_language', { p_language_code: langCode }) ``` ### 2. 优化数据处理函数 #### `updateCompanyInfoDirectly()` 函数 - **优化前**: 大量的错误检查和日志输出 - **优化后**: 简洁的配置读取,减少冗余代码 #### `updateSocialMediaLinksNew()` 函数 - **优化前**: 逐个检查和更新社交媒体链接 - **优化后**: 使用配置映射数组,统一处理逻辑 #### `updateHotSearchKeywordsNew()` 函数 - **优化前**: 复杂的switch语句处理默认值 - **优化后**: 使用对象映射,代码更简洁 #### `useDefaultCompanyConfig()` 函数 - **优化前**: 冗长的switch-case结构 - **优化后**: 使用配置对象,代码更清晰 ### 3. 删除冗余调试函数 #### 删除的函数 - `debugNewConfigSystem()` - 过于复杂的调试函数 - `testAllLanguages()` - 多语言测试函数(功能重复) - 重复的 `reloadConfig()` 函数定义 #### 保留的简化调试 - `debugConfigSystem()` - 简化的状态检查 - `reloadConfig()` - 基础的配置重载 ### 4. 更新调试面板 - 删除不存在的函数调用 - 简化调试选项 - 增加加载状态显示 ## 性能优化 ### 1. 减少数据库查询 - 从3种备用查询方式减少到1种主要方式 - 删除不必要的测试查询 ### 2. 简化数据处理 - 使用更高效的数据映射 - 减少循环和条件判断 ### 3. 优化代码结构 - 删除冗余代码行数: ~200行 - 提高代码可读性和维护性 ## 语言代码映射 确保兼容现有的语言切换逻辑: - `zh-CN`, `zh` → `zh` - `en-US`, `en` → `en` - `zh-TW` → `tw` - `ja-JP`, `ja` → `ja` ## 配置项分类 ### 可翻译配置 - `company_name` - 公司名称 - `company_slogan` - 公司标语 - `company_address` - 公司地址 - `hot_search_1-5` - 热门搜索关键词 ### 不可翻译配置 - `company_phone` - 电话 - `company_email` - 邮箱 - `company_icp` - 备案号 - `company_logo_url` - LOGO地址 - `social_*_url` - 社交媒体链接 ## 兜底机制 保留默认配置作为数据库连接失败时的兜底方案,确保应用在任何情况下都能正常显示。 ## 测试建议 1. 验证多语言切换功能 2. 测试配置加载性能 3. 确认社交媒体链接更新 4. 检查热门搜索关键词显示 5. 验证调试面板功能 ## 总结 重构后的代码更加简洁、高效,完全适配新的数据库结构,删除了所有不必要的逻辑,提高了维护性和性能。前端现在完全依赖新的主表+翻译表结构,为后续的功能扩展奠定了良好基础。