Files
akmon/COMINDEX_REFACTOR_SUMMARY.md
2026-01-20 08:04:15 +08:00

3.4 KiB
Raw Blame History

comindex.uvue 重构总结

重构目标

根据最新的数据库结构(主表+翻译表模式),重构公司首页的数据获取逻辑,删除不必要的数据获取方式,确保代码简洁高效。

数据库结构

  • 主表: ak_global_config - 存储配置的基本信息
  • 翻译表: ak_global_config_translations - 存储多语言翻译
  • 查询函数: get_configs_by_language(p_language_code) - 一键获取指定语言的所有配置

重构内容

1. 简化数据加载逻辑

之前: 多层备用查询方案RPC函数 → 视图查询 → 联查)

// 复杂的三层备用查询
try {
  // 尝试RPC函数
} catch {
  try {
    // 尝试视图查询
  } catch {
    // 最后联查
  }
}

现在: 直接使用最优查询函数

// 直接使用最新的查询函数
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, zhzh
  • en-US, enen
  • zh-TWtw
  • ja-JP, jaja

配置项分类

可翻译配置

  • 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. 验证调试面板功能

总结

重构后的代码更加简洁、高效,完全适配新的数据库结构,删除了所有不必要的逻辑,提高了维护性和性能。前端现在完全依赖新的主表+翻译表结构,为后续的功能扩展奠定了良好基础。