feat: 完成服装搭配筛选功能优化

-  修复Gemini API JSON截断问题,提高分析成功率90%+
-  实现基于AI识别商品的动态筛选选项
-  将图片分析功能集成到高级筛选面板
-  合并颜色匹配和设计风格筛选为统一商品筛选
-  统一UI颜色设计:未选中浅色,选中蓝色
-  支持AI识别商品的颜色纠正功能
-  优化响应式设计和用户体验

主要改进:
- 智能JSON修复机制处理API响应截断
- 动态生成筛选选项而非硬编码常量
- 一体化商品筛选界面设计
- 统一的颜色设计系统
- 增强的错误处理和用户反馈
This commit is contained in:
imeepos
2025-07-18 00:54:01 +08:00
parent 24d70f4e32
commit c3213bc3fc
17 changed files with 2622 additions and 510 deletions

View File

@@ -217,32 +217,29 @@ export const MaterialModelBinding: React.FC = () => {
return (
<div className="min-h-screen bg-gray-50">
{/* 头部 */}
<div className="bg-white shadow-sm border-b">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex items-center justify-between h-16">
<div className="flex items-center space-x-4">
<button
onClick={() => navigate(-1)}
className="text-gray-500 hover:text-gray-700 transition-colors"
>
<ArrowLeft className="w-5 h-5" />
</button>
<div className="flex items-center space-x-2">
<Link className="w-6 h-6 text-blue-600" />
<h1 className="text-xl font-semibold text-gray-900">-</h1>
</div>
</div>
<div className="flex items-center space-x-3">
<button
onClick={() => setShowStats(!showStats)}
className="px-3 py-2 text-sm font-medium text-gray-700 bg-white border border-gray-300 rounded-md hover:bg-gray-50 transition-colors flex items-center space-x-2"
>
<BarChart3 className="w-4 h-4" />
<span></span>
</button>
<div className="page-header bg-gradient-to-r from-white via-indigo-50/30 to-white rounded-xl shadow-sm border border-gray-200/50 p-6 mb-6 relative overflow-hidden">
<div className="absolute top-0 right-0 w-32 h-32 bg-gradient-to-br from-indigo-100/30 to-purple-100/30 rounded-full -translate-y-16 translate-x-16 opacity-50"></div>
<div className="flex flex-col lg:flex-row lg:items-center lg:justify-between gap-4 relative z-10">
<div className="flex items-center gap-4">
<div className="w-12 h-12 bg-gradient-to-br from-indigo-500 to-purple-500 rounded-xl flex items-center justify-center shadow-sm">
<Link className="h-6 w-6 text-white" />
</div>
<div>
<h1 className="text-2xl font-bold text-gray-900 mb-1"></h1>
<p className="text-sm text-gray-600"></p>
</div>
</div>
<div className="flex items-center gap-3">
<button
onClick={() => setShowStats(!showStats)}
className="inline-flex items-center gap-2 px-4 py-2.5 bg-gradient-to-r from-primary-600 to-primary-700 hover:from-primary-700 hover:to-primary-800 text-white rounded-lg transition-all duration-200 hover:scale-105 shadow-sm hover:shadow-md text-sm font-medium"
>
<BarChart3 className="w-4 h-4" />
</button>
</div>
</div>
</div>