Initial commit of akmon project
This commit is contained in:
116
COMINDEX_REFACTOR_SUMMARY.md
Normal file
116
COMINDEX_REFACTOR_SUMMARY.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# 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. 验证调试面板功能
|
||||
|
||||
## 总结
|
||||
重构后的代码更加简洁、高效,完全适配新的数据库结构,删除了所有不必要的逻辑,提高了维护性和性能。前端现在完全依赖新的主表+翻译表结构,为后续的功能扩展奠定了良好基础。
|
||||
Reference in New Issue
Block a user