Initial commit of akmon project

This commit is contained in:
2026-01-20 08:04:15 +08:00
commit 77a2bab985
1309 changed files with 343305 additions and 0 deletions

View 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. 验证调试面板功能
## 总结
重构后的代码更加简洁、高效,完全适配新的数据库结构,删除了所有不必要的逻辑,提高了维护性和性能。前端现在完全依赖新的主表+翻译表结构,为后续的功能扩展奠定了良好基础。