- 创建 test-unified-api-system.php 测试脚本 - 测试功能包括:函数存在性、数据迁移、API配置、向后兼容等 - 添加阶段性实施计划文档 - 添加新 AI 设置界面草稿
4.4 KiB
4.4 KiB
AI 设置重构 - 下一步工作
已完成的工作 ✅
1. functions.php 更新
- ✅ 添加数据迁移函数
argon_migrate_ai_apis() - ✅ 添加统一 API 管理函数
argon_get_all_apis()- 获取所有 APIargon_get_api_by_id($api_id)- 获取指定 APIargon_add_api($config)- 添加 APIargon_update_api($api_id, $config)- 更新 APIargon_delete_api($api_id)- 删除 APIargon_set_active_api_for_scenario($scenario, $api_id)- 设置场景使用的 APIargon_get_active_api_config($scenario)- 获取场景的活动 API 配置
- ✅ 更新
argon_get_ai_provider_config()支持新数据结构 - ✅ 添加新的 AJAX 处理函数
argon_ajax_add_unified_api()argon_ajax_update_unified_api()argon_ajax_delete_unified_api()argon_ajax_set_active_unified_api()argon_ajax_get_all_unified_apis()
- ✅ 在主题加载时自动迁移旧数据
2. 草稿文件
- ✅ 创建新的 AI 设置界面草稿 (
tmp/ai-settings-new-structure.php) - ✅ 设计了新的界面结构和交互逻辑
待完成的工作 📋
3. settings.php 重构
3.1 移除旧的 AI 设置部分
需要移除的内容:
- 第 1985-2400 行:旧的文章功能 - AI 摘要部分(包含按提供商分组的 API 配置)
- 第 4662-5100 行:评论设置中的 AI 垃圾评论识别部分
3.2 添加新的 AI 功能部分
在合适的位置(建议在第 1985 行之前)插入新的 AI 功能部分:
<!-- ========== AI 功能 ========== -->
<h1 style="color: #5e72e4; margin-top: 50px; font-size: 32px;"><?php _e('AI 功能', 'argon');?></h1>
<!-- API 管理 (h2) -->
<!-- 文章摘要 (h2) -->
<!-- 评论审核 (h2) -->
3.3 添加 JavaScript 交互代码
需要添加完整的 JavaScript 代码来处理:
- 添加/编辑/删除 API
- 测试 API 连通性
- 刷新模型列表
- 切换活动 API
- 表单验证
3.4 更新选项保存逻辑
在 settings.php 末尾的保存函数中:
- 移除旧的 API 配置保存逻辑
- 添加新的统一 API 配置保存逻辑
- 保存场景化的活动 API 设置
4. 测试
4.1 数据迁移测试
- 测试从旧的多 API 系统迁移到新系统
- 验证所有 API 配置都正确迁移
- 验证活动 API 设置正确
4.2 功能测试
- 测试添加新 API
- 测试编辑 API
- 测试删除 API
- 测试切换活动 API
- 测试 API 连通性测试功能
- 测试模型列表刷新功能
4.3 场景测试
- 测试文章摘要生成(使用新的 API 系统)
- 测试垃圾评论检测(使用新的 API 系统)
- 测试不同场景使用不同 API
4.4 向后兼容测试
- 测试没有新数据时的回退逻辑
- 测试旧数据的自动迁移
5. 文档更新
- 更新用户文档,说明新的 API 管理方式
- 更新开发文档,说明新的数据结构
实施建议
由于 settings.php 的重构涉及大量代码修改(需要移除约 500 行旧代码,添加约 800 行新代码),建议:
-
分步实施:
- 第一步:只添加新的 AI 功能部分,保留旧的设置(共存)
- 第二步:测试新功能是否正常工作
- 第三步:移除旧的设置部分
- 第四步:全面测试
-
备份策略:
- 在每一步之前都创建备份
- 使用 Git 分支进行开发
- 保留回滚方案
-
用户通知:
- 在更新日志中说明重大变更
- 提供迁移指南
- 说明新功能的优势
风险评估
高风险项
- ❗ settings.php 重构可能影响现有用户的配置
- ❗ 数据迁移可能失败,导致 API 配置丢失
- ❗ JavaScript 代码可能与现有代码冲突
缓解措施
- ✅ 已实现自动数据迁移和向后兼容
- ✅ 保留旧数据作为备份
- ✅ 使用独立的 AJAX 端点,避免冲突
- 📋 需要充分测试后再发布
时间估算
- settings.php 重构:2-3 小时
- JavaScript 代码编写:1-2 小时
- 测试和调试:2-3 小时
- 文档更新:1 小时
总计:6-9 小时
下一步行动
- 用户确认是否继续进行 settings.php 的重构
- 如果继续,建议创建一个新的 Git 分支
- 按照上述步骤逐步实施
- 每完成一个步骤就进行测试和提交
备注
- 当前已完成的 functions.php 修改已经提交(commit 5254ee0)
- 新的数据结构和 API 已经可以使用
- 只需要更新 settings.php 的界面部分即可完成整个重构