瀏覽代碼

修复工作流默认值

黎海 2 月之前
父節點
當前提交
34766240d9
共有 2 個文件被更改,包括 30 次插入12 次删除
  1. 13 6
      src/components/CozeApiSettings.js
  2. 17 6
      src/utils/cozeConfig.js

+ 13 - 6
src/components/CozeApiSettings.js

@@ -1,7 +1,7 @@
1
 import React, { useState, useEffect } from 'react';
1
 import React, { useState, useEffect } from 'react';
2
 import { Form, Button, Card, Container, Row, Col, Alert, Tab, Tabs, InputGroup, Spinner } from 'react-bootstrap';
2
 import { Form, Button, Card, Container, Row, Col, Alert, Tab, Tabs, InputGroup, Spinner } from 'react-bootstrap';
3
 import { saveCozeApiToken, getCozeApiToken, saveWorkflowIds, getWorkflowIds } from '../utils/storageUtils';
3
 import { saveCozeApiToken, getCozeApiToken, saveWorkflowIds, getWorkflowIds } from '../utils/storageUtils';
4
-import { WORKFLOW_DISPLAY_NAMES, hasValidToken } from '../utils/cozeConfig';
4
+import { WORKFLOW_DISPLAY_NAMES, WORKFLOW_IDS, DEFAULT_WORKFLOW_IDS, hasValidToken } from '../utils/cozeConfig';
5
 import { getLipSyncServer, saveLipSyncServer } from '../utils/lipSyncConfig';
5
 import { getLipSyncServer, saveLipSyncServer } from '../utils/lipSyncConfig';
6
 import lipSyncService from '../services/lipSyncService';
6
 import lipSyncService from '../services/lipSyncService';
7
 import { toast } from 'react-toastify';
7
 import { toast } from 'react-toastify';
@@ -100,8 +100,15 @@ const CozeApiSettings = ({ onSave, isInModal = true }) => {
100
         saveCozeApiToken(apiToken);
100
         saveCozeApiToken(apiToken);
101
       }
101
       }
102
       
102
       
103
-      // 保存工作流ID
104
-      saveWorkflowIds(workflowIds);
103
+      // 保存工作流ID - 仅保存用户实际修改的非空ID
104
+      const nonEmptyWorkflowIds = {};
105
+      Object.entries(workflowIds).forEach(([key, value]) => {
106
+        if (value && value.trim() !== '') {
107
+          nonEmptyWorkflowIds[key] = value.trim();
108
+        }
109
+      });
110
+      
111
+      saveWorkflowIds(nonEmptyWorkflowIds);
105
       
112
       
106
       // 保存对口型服务器配置
113
       // 保存对口型服务器配置
107
       saveLipSyncServer(lipSyncServerUrl);
114
       saveLipSyncServer(lipSyncServerUrl);
@@ -142,11 +149,11 @@ const CozeApiSettings = ({ onSave, isInModal = true }) => {
142
         <Form.Control
149
         <Form.Control
143
           type="text"
150
           type="text"
144
           placeholder={`请输入${WORKFLOW_DISPLAY_NAMES[key]}工作流ID`}
151
           placeholder={`请输入${WORKFLOW_DISPLAY_NAMES[key]}工作流ID`}
145
-          value={workflowIds[key] || ''}
152
+          value={workflowIds[key] || WORKFLOW_IDS[key] || DEFAULT_WORKFLOW_IDS[key]}
146
           onChange={(e) => handleWorkflowIdChange(key, e.target.value)}
153
           onChange={(e) => handleWorkflowIdChange(key, e.target.value)}
147
         />
154
         />
148
         <Form.Text className="text-muted">
155
         <Form.Text className="text-muted">
149
-          {`${WORKFLOW_DISPLAY_NAMES[key]}工作流的唯一标识符。在Coze平台工作流设置中获取。`}
156
+          {`${WORKFLOW_DISPLAY_NAMES[key]}工作流的唯一标识符。在Coze平台工作流设置中获取。默认值: ${WORKFLOW_IDS[key] || DEFAULT_WORKFLOW_IDS[key] || '无'}`}
150
         </Form.Text>
157
         </Form.Text>
151
       </Form.Group>
158
       </Form.Group>
152
     ));
159
     ));
@@ -196,7 +203,7 @@ const CozeApiSettings = ({ onSave, isInModal = true }) => {
196
         
203
         
197
         <Tab eventKey="workflows" title="工作流ID">
204
         <Tab eventKey="workflows" title="工作流ID">
198
           <p className="text-muted mb-3">
205
           <p className="text-muted mb-3">
199
-            配置各功能对应的工作流ID。如果您没有特定的工作流,可以留空使用默认值
206
+            配置各功能对应的工作流ID。这些ID已有默认值可以直接使用,无需填写。如需使用自定义的工作流,可以在这里修改
200
           </p>
207
           </p>
201
           {renderWorkflowIdInputs()}
208
           {renderWorkflowIdInputs()}
202
         </Tab>
209
         </Tab>

+ 17 - 6
src/utils/cozeConfig.js

@@ -21,15 +21,26 @@ export const hasValidToken = () => {
21
 // 从本地存储获取自定义的工作流ID
21
 // 从本地存储获取自定义的工作流ID
22
 const storedWorkflowIds = getWorkflowIds() || {};
22
 const storedWorkflowIds = getWorkflowIds() || {};
23
 
23
 
24
+// 默认工作流ID - 这些值应该始终可用
25
+export const DEFAULT_WORKFLOW_IDS = {
26
+  textToDescription: '7485203690664837121',
27
+  getStyleList: '7485203690664837122',
28
+  generateImage: '7485203690664837123',
29
+  exportJianyingDraft: '7485203690664837120',
30
+};
31
+
24
 // 工作流ID映射表
32
 // 工作流ID映射表
25
 // 优先使用本地存储的ID,其次使用环境变量,最后使用默认值
33
 // 优先使用本地存储的ID,其次使用环境变量,最后使用默认值
26
 export const WORKFLOW_IDS = {
34
 export const WORKFLOW_IDS = {
27
-  textToDescription: storedWorkflowIds.textToDescription || '7485203690664837121',
28
-  // 添加画风列表和画图工作流
29
-  getStyleList: storedWorkflowIds.getStyleList || '7485203690664837122',
30
-  generateImage: storedWorkflowIds.generateImage || '7485203690664837123',
31
-  // 添加导出剪映草稿工作流
32
-  exportJianyingDraft: storedWorkflowIds.exportJianyingDraft || '7485203690664837120',
35
+  textToDescription: storedWorkflowIds.textToDescription || process.env.REACT_APP_COZE_WORKFLOW_TEXT_TO_DESC || DEFAULT_WORKFLOW_IDS.textToDescription,
36
+  getStyleList: storedWorkflowIds.getStyleList || process.env.REACT_APP_COZE_WORKFLOW_GET_STYLE_LIST || DEFAULT_WORKFLOW_IDS.getStyleList,
37
+  generateImage: storedWorkflowIds.generateImage || process.env.REACT_APP_COZE_WORKFLOW_GENERATE_IMAGE || DEFAULT_WORKFLOW_IDS.generateImage,
38
+  exportJianyingDraft: storedWorkflowIds.exportJianyingDraft || process.env.REACT_APP_COZE_WORKFLOW_EXPORT_JIANYING_DRAFT || DEFAULT_WORKFLOW_IDS.exportJianyingDraft,
39
+};
40
+
41
+// 获取指定工作流ID,即使本地存储中没有对应的值也会返回默认值
42
+export const getWorkflowId = (key) => {
43
+  return WORKFLOW_IDS[key] || DEFAULT_WORKFLOW_IDS[key];
33
 };
44
 };
34
 
45
 
35
 // 工作流名称到显示名称的映射
46
 // 工作流名称到显示名称的映射