Quellcode durchsuchen

新增API合作厂商302.AI

liuziting vor 5 Monaten
Ursprung
Commit
ae0e1f2830
5 geänderte Dateien mit 234 neuen und 158 gelöschten Zeilen
  1. 19 3
      README.md
  2. 2 2
      README_EN.md
  3. 23 0
      public/logo.svg
  4. 178 138
      src/components/SettingsModal.vue
  5. 12 15
      src/views/About.vue

+ 19 - 3
README.md

@@ -31,6 +31,23 @@
 -   **AI 服务:** 零一万物 Yi-Lightning / DeepSeek V3 + 智谱 CogView-3-Flash
 -   **部署平台:** Vercel + Netlify
 
+## ⚡ AI 服务推荐
+
+> 🤖 **本项目 AI 服务提供商**
+
+### 🚀 [302.AI](https://share.302.ai/DymMSI) - 官方合作伙伴
+
+**302.AI** 是一个按用量付费的企业级 AI 资源平台,提供市场上最新、最全面的 AI 模型和 API,以及多种开箱即用的在线 AI 应用。
+
+**为什么选择 302.AI?**
+
+-   🤖 **多模型支持** - 支持最新的 AI 大模型
+-   💰 **价格优惠** - 按用量付费,成本可控
+-   ⚡ **响应快速** - 高性能 API 服务
+-   🛡️ **服务稳定** - 企业级可靠性保障
+
+[![访问 302.AI](https://img.shields.io/badge/🚀_访问_302.AI-官方合作伙伴-blue?style=for-the-badge)](https://share.302.ai/DymMSI)
+
 ## 🚀 快速开始
 
 ### 环境要求
@@ -237,8 +254,7 @@ const requestConfig = createTextGenerationRequest(messages)
 
 ## 🙏 致谢
 
+-   [302.AI](https://share.302.ai/DymMSI) -菜谱生成 API
+-   [智谱 AI](https://open.bigmodel.cn/) - 图片生成 API
 -   [Vue.js](https://vuejs.org/) - 渐进式 JavaScript 框架
 -   [Tailwind CSS](https://tailwindcss.com/) - 实用优先的 CSS 框架
--   [零一万物](https://www.lingyiwanwu.com/) - 菜谱生成 API
--   [DeepSeek](https://www.deepseek.com) - 菜谱生成 API
--   [智谱 AI](https://open.bigmodel.cn/) - 图片生成 API

+ 2 - 2
README_EN.md

@@ -82,7 +82,7 @@ npm run preview
 
 #### You can switch any request address and model that complies with the OpenAI standard
 
-> **🚀 Recommended Provider**: This project recommends using [302.ai](https://302.ai/) AI API services - stable, reliable, supports multiple mainstream large models, and cost-effective!
+> **🚀 Recommended Provider**: This project recommends using [302.AI](https://share.302.AI/DymMSI) AI API services - stable, reliable, supports multiple mainstream large models, and cost-effective!
 
 ```env
 # Text Generation API (lingyiwanwu.AI)
@@ -156,6 +156,6 @@ src/
 
 -   [Vue.js](https://vuejs.org/) - Progressive JavaScript framework
 -   [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS framework
--   [302.ai](https://302.ai/) - **Official Partner** 🚀 Providing stable and reliable AI API services for this project
+-   [302.AI](https://share.302.AI/DymMSI) - **Official Partner** 🚀 Providing stable and reliable AI API services for this project
 -   [01.AI](https://www.lingyiwanwu.com/) - Recipe generation API
 -   [Zhipu AI](https://open.bigmodel.cn/) - Image generation API

+ 23 - 0
public/logo.svg

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 513.24 512.3">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #fff;
+      }
+
+      .cls-2 {
+        fill: #8e47f0;
+      }
+
+      .cls-3 {
+        fill: #3f3faa;
+      }
+    </style>
+  </defs>
+  <g>
+    <circle class="cls-3" cx="281.41" cy="280.46" r="231.83"/>
+    <circle class="cls-2" cx="231.83" cy="231.83" r="231.83"/>
+  </g>
+  <path class="cls-1" d="M228.26,386.12c-16.47,0-32.38-5.44-45.57-15.73-15.66-12.21-25.64-29.8-28.07-49.51-.74-6.02-.77-11.99-.09-17.86-4.58,.89-9.32,1.35-14.15,1.35-41,0-74.36-33.36-74.36-74.36s33.36-74.36,74.36-74.36c5.86,0,11.57,.68,17.04,1.97-.32-2.8-.48-5.64-.48-8.49,0-41,33.36-74.36,74.36-74.36s74.36,33.36,74.36,74.36c0,2.38-.11,4.75-.34,7.11,6.02-1.05,12.2-1.37,18.43-.9,40.89,3.03,71.69,38.77,68.66,79.66-1.47,19.81-10.57,37.86-25.61,50.83-15.05,12.97-34.26,19.31-54.05,17.83-3.6-.27-7.14-.79-10.6-1.55,.02,.17,.04,.34,.07,.51,2.44,19.71-2.94,39.19-15.15,54.86-12.21,15.67-29.8,25.64-49.51,28.08-3.11,.38-6.21,.57-9.29,.57Zm-41.27-98.21c-5.22,9.04-7.29,19.29-6,29.71,1.57,12.67,7.97,23.97,18.04,31.81,10.06,7.85,22.58,11.31,35.25,9.74,12.67-1.57,23.97-7.97,31.81-18.04,7.85-10.07,11.31-22.59,9.74-35.25-1.03-8.36-4.21-16.21-9.23-22.86-3.28-3.17-6.28-6.65-8.97-10.44-4.25-5.98-2.85-14.28,3.13-18.53,5.98-4.26,14.28-2.85,18.53,3.12,.99,1.39,2.04,2.72,3.16,3.98,.89,.63,1.72,1.38,2.47,2.24,.45,.53,.9,1.06,1.33,1.6,7.8,7.05,17.76,11.36,28.46,12.15,26.34,1.97,49.24-17.84,51.19-44.12,1.95-26.28-17.84-49.24-44.12-51.19-10.07-.75-19.9,1.63-28.47,6.88-4.07,3.34-9.92,4.07-14.82,1.38-6.43-3.53-8.79-11.61-5.26-18.04,3.83-6.98,5.85-14.91,5.85-22.93,0-26.35-21.44-47.79-47.79-47.79s-47.79,21.44-47.79,47.79c0,9.43,2.74,18.54,7.92,26.36,.25,.38,.48,.77,.69,1.17,13.94,13.52,22.61,32.45,22.61,53.36,0,23.37-10.83,44.25-27.74,57.89Zm-46.62-105.68c-26.35,0-47.79,21.44-47.79,47.79s21.44,47.79,47.79,47.79,47.79-21.44,47.79-47.79-21.44-47.79-47.79-47.79Z"/>
+</svg>

+ 178 - 138
src/components/SettingsModal.vue

@@ -1,7 +1,8 @@
 <template>
     <div v-if="isVisible" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
-        <div class="bg-white rounded-lg p-6 max-w-2xl w-full mx-4 max-h-[90vh] overflow-y-auto">
-            <div class="flex justify-between items-center mb-6">
+        <div class="bg-white rounded-lg max-w-2xl w-full mx-4 max-h-[90vh] flex flex-col">
+            <!-- 固定头部 -->
+            <div class="flex justify-between items-center p-6 pb-4 border-b">
                 <h2 class="text-2xl font-bold text-gray-800">系统设置</h2>
                 <button @click="closeModal" class="text-gray-500 hover:text-gray-700">
                     <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
@@ -10,166 +11,201 @@
                 </button>
             </div>
 
-            <div class="space-y-8">
-                <!-- 302.ai 推荐广告 -->
-                <div class="hidden bg-gradient-to-r from-blue-50 to-purple-50 border-2 border-blue-200 rounded-lg p-4">
-                    <div class="flex items-start gap-4">
-                        <div class="flex-shrink-0">
-                            <div class="w-12 h-12 bg-gradient-to-br from-blue-500 to-purple-600 rounded-lg flex items-center justify-center">
-                                <span class="text-white text-lg font-bold">302</span>
+            <!-- 可滚动内容区域 -->
+            <div class="flex-1 overflow-y-auto px-6 py-4">
+                <div class="space-y-6">
+                    <!-- 302.AI 推荐广告 -->
+                    <div class="bg-gradient-to-r from-blue-50 to-purple-50 border border-blue-200 rounded-lg p-3">
+                        <div class="flex items-center gap-3">
+                            <div class="flex-shrink-0">
+                                <div class="w-10 h-10 from-blue-500 to-purple-600 rounded-xl flex items-center justify-center">
+                                    <img src="/logo.svg" alt="302.AI Logo" class="w-12 h-12" />
+                                </div>
                             </div>
-                        </div>
-                        <div class="flex-1">
-                            <div class="flex items-center gap-2 mb-2">
-                                <h3 class="text-lg font-semibold text-gray-800">🚀 推荐API服务商</h3>
-                            </div>
-                            <p class="text-sm text-gray-600 mb-3">
-                                本项目正在使用 <strong>302.ai</strong> 提供的高质量AI API服务。302.ai 提供稳定可靠的AI模型接口,支持多种主流大模型,价格优惠,服务稳定。
-                            </p>
-                            <div class="flex flex-wrap gap-2 mb-3">
-                                <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">✓ 多模型支持</span>
-                                <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">✓ 价格优惠</span>
-                                <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">✓ 服务稳定</span>
-                                <span class="bg-green-100 text-green-800 text-xs px-2 py-1 rounded">✓ 快速接入</span>
+                            <div class="flex-1">
+                                <h3 class="text-base font-semibold text-gray-800 mb-1">🚀 推荐API服务商</h3>
+                                <p class="text-xs text-gray-600 mb-2">
+                                    本项目正在使用 <strong>302.AI</strong> 提供的高质量AI API服务!<strong>302.AI</strong>
+                                    是一个按用量付费的企业级AI资源平台,提供市场上最新、最全面的AI模型和API,以及多种开箱即用的在线AI应用
+                                </p>
+                                <div class="flex items-center gap-2">
+                                    <div class="flex flex-wrap gap-1">
+                                        <span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded">✓ 多模型</span>
+                                        <span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded">✓ 优惠</span>
+                                        <span class="bg-green-100 text-green-800 text-xs px-2 py-0.5 rounded">✓ 稳定</span>
+                                    </div>
+                                    <a
+                                        href="https://share.302.AI/DymMSI"
+                                        target="_blank"
+                                        class="inline-flex items-center gap-1 bg-blue-500 hover:bg-blue-600 text-white text-xs px-3 py-1 rounded transition-colors ml-auto"
+                                    >
+                                        <span>访问</span>
+                                        <svg class="w-3 h-3" fill="none" stroke="currentColor" viewBox="0 0 24 24">
+                                            <path
+                                                stroke-linecap="round"
+                                                stroke-linejoin="round"
+                                                stroke-width="2"
+                                                d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
+                                            ></path>
+                                        </svg>
+                                    </a>
+                                </div>
                             </div>
-                            <a
-                                href="https://302.ai/"
-                                target="_blank"
-                                class="inline-flex items-center gap-2 bg-blue-500 hover:bg-blue-600 text-white text-sm px-4 py-2 rounded-lg transition-colors"
-                            >
-                                <span>访问 302.ai</span>
-                                <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
+                        </div>
+                    </div>
+
+                    <!-- 菜谱生成模型配置 -->
+                    <div class="border rounded-lg">
+                        <button
+                            @click="isTextConfigExpanded = !isTextConfigExpanded"
+                            class="w-full p-4 flex items-center justify-between text-left hover:bg-gray-50 transition-colors"
+                        >
+                            <h3 class="text-lg font-semibold text-gray-800 flex items-center">
+                                <svg class="w-5 h-5 mr-2 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                                     <path
                                         stroke-linecap="round"
                                         stroke-linejoin="round"
                                         stroke-width="2"
-                                        d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"
+                                        d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
                                     ></path>
                                 </svg>
-                            </a>
-                        </div>
-                    </div>
-                </div>
+                                菜谱生成模型配置
+                            </h3>
+                            <svg
+                                class="w-5 h-5 text-gray-500 transition-transform"
+                                :class="{ 'rotate-180': isTextConfigExpanded }"
+                                fill="none"
+                                stroke="currentColor"
+                                viewBox="0 0 24 24"
+                            >
+                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
+                            </svg>
+                        </button>
 
-                <!-- 菜谱生成模型配置 -->
-                <div class="border rounded-lg p-4">
-                    <h3 class="text-lg font-semibold text-gray-800 mb-4 flex items-center">
-                        <svg class="w-5 h-5 mr-2 text-blue-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
-                            <path
-                                stroke-linecap="round"
-                                stroke-linejoin="round"
-                                stroke-width="2"
-                                d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
-                            ></path>
-                        </svg>
-                        菜谱生成模型配置
-                    </h3>
+                        <div v-show="isTextConfigExpanded" class="px-4 pb-4">
+                            <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
+                                <div>
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">API地址</label>
+                                    <input
+                                        v-model="textConfig.baseUrl"
+                                        type="text"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+                                        placeholder="https://api.example.com/v1/"
+                                    />
+                                </div>
 
-                    <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
-                        <div>
-                            <label class="block text-sm font-medium text-gray-700 mb-1">API地址</label>
-                            <input
-                                v-model="textConfig.baseUrl"
-                                type="text"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
-                                placeholder="https://api.example.com/v1/"
-                            />
-                        </div>
+                                <div>
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">API密钥</label>
+                                    <input
+                                        v-model="textConfig.apiKey"
+                                        type="password"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+                                        placeholder="输入API密钥"
+                                    />
+                                </div>
 
-                        <div>
-                            <label class="block text-sm font-medium text-gray-700 mb-1">API密钥</label>
-                            <input
-                                v-model="textConfig.apiKey"
-                                type="password"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
-                                placeholder="输入API密钥"
-                            />
-                        </div>
-
-                        <div>
-                            <label class="block text-sm font-medium text-gray-700 mb-1">模型名称</label>
-                            <input
-                                v-model="textConfig.model"
-                                type="text"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
-                                placeholder="yi-lightning"
-                            />
-                        </div>
+                                <div>
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">模型名称</label>
+                                    <input
+                                        v-model="textConfig.model"
+                                        type="text"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+                                        placeholder="yi-lightning"
+                                    />
+                                </div>
 
-                        <div>
-                            <label class="block text-sm font-medium text-gray-700 mb-1">温度参数 (0-1)</label>
-                            <input
-                                v-model.number="textConfig.temperature"
-                                type="number"
-                                min="0"
-                                max="1"
-                                step="0.1"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
-                            />
-                        </div>
+                                <div>
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">温度参数 (0-1)</label>
+                                    <input
+                                        v-model.number="textConfig.temperature"
+                                        type="number"
+                                        min="0"
+                                        max="1"
+                                        step="0.1"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+                                    />
+                                </div>
 
-                        <div class="md:col-span-2">
-                            <label class="block text-sm font-medium text-gray-700 mb-1">超时时间 (毫秒)</label>
-                            <input
-                                v-model.number="textConfig.timeout"
-                                type="number"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
-                                placeholder="300000"
-                            />
+                                <div class="md:col-span-2">
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">超时时间 (毫秒)</label>
+                                    <input
+                                        v-model.number="textConfig.timeout"
+                                        type="number"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+                                        placeholder="300000"
+                                    />
+                                </div>
+                            </div>
                         </div>
                     </div>
-                </div>
 
-                <!-- 图片生成模型配置 -->
-                <div class="border rounded-lg p-4">
-                    <h3 class="text-lg font-semibold text-gray-800 mb-4 flex items-center">
-                        <svg class="w-5 h-5 mr-2 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
-                            <path
-                                stroke-linecap="round"
-                                stroke-linejoin="round"
-                                stroke-width="2"
-                                d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
-                            ></path>
-                        </svg>
-                        图片生成模型配置
-                    </h3>
+                    <!-- 图片生成模型配置 -->
+                    <div class="border rounded-lg">
+                        <button
+                            @click="isImageConfigExpanded = !isImageConfigExpanded"
+                            class="w-full p-4 flex items-center justify-between text-left hover:bg-gray-50 transition-colors"
+                        >
+                            <h3 class="text-lg font-semibold text-gray-800 flex items-center">
+                                <svg class="w-5 h-5 mr-2 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
+                                    <path
+                                        stroke-linecap="round"
+                                        stroke-linejoin="round"
+                                        stroke-width="2"
+                                        d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
+                                    ></path>
+                                </svg>
+                                图片生成模型配置
+                            </h3>
+                            <svg
+                                class="w-5 h-5 text-gray-500 transition-transform"
+                                :class="{ 'rotate-180': isImageConfigExpanded }"
+                                fill="none"
+                                stroke="currentColor"
+                                viewBox="0 0 24 24"
+                            >
+                                <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
+                            </svg>
+                        </button>
 
-                    <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
-                        <div>
-                            <label class="block text-sm font-medium text-gray-700 mb-1">API地址</label>
-                            <input
-                                v-model="imageConfig.baseUrl"
-                                type="text"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"
-                                placeholder="https://api.example.com/v4/"
-                            />
-                        </div>
+                        <div v-show="isImageConfigExpanded" class="px-4 pb-4">
+                            <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
+                                <div>
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">API地址</label>
+                                    <input
+                                        v-model="imageConfig.baseUrl"
+                                        type="text"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"
+                                        placeholder="https://api.example.com/v4/"
+                                    />
+                                </div>
 
-                        <div>
-                            <label class="block text-sm font-medium text-gray-700 mb-1">API密钥</label>
-                            <input
-                                v-model="imageConfig.apiKey"
-                                type="password"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"
-                                placeholder="输入API密钥"
-                            />
-                        </div>
+                                <div>
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">API密钥</label>
+                                    <input
+                                        v-model="imageConfig.apiKey"
+                                        type="password"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"
+                                        placeholder="输入API密钥"
+                                    />
+                                </div>
 
-                        <div class="md:col-span-2">
-                            <label class="block text-sm font-medium text-gray-700 mb-1">模型名称</label>
-                            <input
-                                v-model="imageConfig.model"
-                                type="text"
-                                class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"
-                                placeholder="cogview-3-flash"
-                            />
+                                <div class="md:col-span-2">
+                                    <label class="block text-sm font-medium text-gray-700 mb-1">模型名称</label>
+                                    <input
+                                        v-model="imageConfig.model"
+                                        type="text"
+                                        class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"
+                                        placeholder="cogview-3-flash"
+                                    />
+                                </div>
+                            </div>
                         </div>
                     </div>
                 </div>
             </div>
 
-            <!-- 操作按钮 -->
-            <div class="flex justify-end space-x-3 mt-8 pt-4 border-t">
+            <!-- 固定底部按钮 -->
+            <div class="flex justify-end space-x-3 p-6 pt-4 border-t bg-gray-50 rounded-b-lg">
                 <button @click="resetToDefault" class="px-4 py-2 text-gray-600 border border-gray-300 rounded-md hover:bg-gray-50 transition-colors">恢复默认</button>
                 <button @click="closeModal" class="px-4 py-2 text-gray-600 border border-gray-300 rounded-md hover:bg-gray-50 transition-colors">取消</button>
                 <button @click="saveSettings" class="px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-600 transition-colors">保存设置</button>
@@ -193,6 +229,10 @@ const emit = defineEmits(['close', 'save'])
 
 const settingsStore = useSettingsStore()
 
+// 折叠状态
+const isTextConfigExpanded = ref(false)
+const isImageConfigExpanded = ref(false)
+
 // 文本生成配置
 const textConfig = reactive({
     baseUrl: '',

+ 12 - 15
src/views/About.vue

@@ -5,7 +5,7 @@
 
         <div class="max-w-7xl mx-auto space-y-6">
             <!-- API服务商推荐 -->
-            <div class="relative hidden">
+            <div class="relative">
                 <div class="bg-gradient-to-r from-blue-500 to-cyan-500 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block mb-0">
                     <span class="font-bold text-lg">🚀 API服务商</span>
                 </div>
@@ -19,28 +19,25 @@
                             </div>
                         </div>
 
-                        <!-- 302.ai 推荐卡片 -->
+                        <!-- 302.AI 推荐卡片 -->
                         <div
                             class="bg-gradient-to-br from-blue-50 to-purple-50 border-3 border-blue-300 rounded-xl p-6 mb-6 shadow-lg hover:shadow-xl transition-all duration-300 transform"
                         >
                             <div class="flex items-start gap-6">
                                 <div class="flex-shrink-0">
-                                    <div
-                                        class="w-16 h-16 bg-gradient-to-br from-blue-500 to-purple-600 rounded-xl flex items-center justify-center border-2 border-white shadow-lg"
-                                    >
-                                        <span class="text-white text-xl font-bold">302</span>
+                                    <div class="w-16 h-16 from-blue-500 to-purple-600 rounded-xl flex items-center justify-center">
+                                        <img src="/logo.svg" alt="302.AI Logo" class="w-12 h-12" />
                                     </div>
                                 </div>
                                 <div class="flex-1">
                                     <div class="flex items-center gap-3 mb-3">
-                                        <h3 class="text-xl font-bold text-gray-800">302.ai</h3>
+                                        <h3 class="text-xl font-bold text-gray-800">302.AI</h3>
                                         <span class="bg-gradient-to-r from-orange-400 to-red-500 text-white text-xs px-3 py-1 rounded-full font-medium animate-pulse"
                                             >官方合作伙伴</span
                                         >
                                     </div>
                                     <p class="text-gray-700 text-sm mb-4 leading-relaxed">
-                                        <strong>302.ai</strong> 是本项目的官方API服务提供商,为"一饭封神"提供稳定可靠的AI大模型服务。
-                                        支持多种主流AI模型,包括GPT、Claude、DeepSeek等,提供高质量的文本生成和图像生成能力。
+                                        <strong>302.AI</strong>是一个按用量付费的企业级AI资源平台,提供市场上最新、最全面的AI模型和API,以及多种开箱即用的在线AI应用
                                     </p>
 
                                     <div class="grid grid-cols-2 md:grid-cols-4 gap-3 mb-4">
@@ -72,11 +69,11 @@
 
                                     <div class="flex flex-wrap items-center gap-3">
                                         <a
-                                            href="https://302.ai/"
+                                            href="https://share.302.AI/DymMSI"
                                             target="_blank"
                                             class="inline-flex items-center gap-2 bg-gradient-to-r from-blue-500 to-purple-600 hover:from-blue-600 hover:to-purple-700 text-white text-sm px-6 py-3 rounded-lg transition-all duration-300 transform hover:scale-105 shadow-lg"
                                         >
-                                            <span class="font-medium">访问 302.ai</span>
+                                            <span class="font-medium">访问 302.AI</span>
                                             <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                                                 <path
                                                     stroke-linecap="round"
@@ -97,15 +94,15 @@
                             </div>
                         </div>
 
-                        <div class="bg-gradient-to-r from-gray-50 to-blue-50 border-2 border-gray-200 rounded-lg p-4">
+                        <!-- <div class="bg-gradient-to-r from-gray-50 to-blue-50 border-2 border-gray-200 rounded-lg p-4">
                             <div class="flex items-center gap-3">
                                 <div class="text-2xl">💡</div>
                                 <div>
-                                    <p class="text-sm font-medium text-gray-800">为什么选择 302.ai?</p>
-                                    <p class="text-xs text-gray-600">本项目经过多家API服务商对比测试,302.ai 在稳定性、响应速度和成本控制方面表现优异,是我们的首选合作伙伴。</p>
+                                    <p class="text-sm font-medium text-gray-800">为什么选择 302.AI?</p>
+                                    <p class="text-xs text-gray-600">本项目经过多家API服务商对比测试,302.AI 在稳定性、响应速度和成本控制方面表现优异,是我们的首选合作伙伴。</p>
                                 </div>
                             </div>
-                        </div>
+                        </div> -->
                     </div>
                 </div>
             </div>