Update from Vibe Studio
This commit is contained in:
77
src/api/spellcheck.ts
Normal file
77
src/api/spellcheck.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* 错别字检测与修正API
|
||||
* 与Dify平台交互,实现错别字检测和修正功能
|
||||
*/
|
||||
|
||||
export interface SpellCheckParams {
|
||||
user_input: string;
|
||||
}
|
||||
|
||||
export interface SpellCheckResponse {
|
||||
message?: {
|
||||
content?: string;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送错别字检测请求到Dify平台
|
||||
* @param params 包含用户输入文本的参数
|
||||
* @returns Promise<string> 返回修正后的文本内容
|
||||
*/
|
||||
export async function fetchSpellCheck(params: SpellCheckParams): Promise<string> {
|
||||
const requestBody = {
|
||||
inputs: {
|
||||
user_input: params.user_input
|
||||
},
|
||||
query: "1",
|
||||
response_mode: "streaming" as const
|
||||
};
|
||||
|
||||
try {
|
||||
const response = await fetch('https://copilot.sino-bridge.com/v1/chat-messages', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': 'Bearer app-AZ3jH4bHyOPsTzDjEQyoqwOy'
|
||||
},
|
||||
body: JSON.stringify(requestBody)
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
|
||||
// 处理流式响应
|
||||
const reader = response.body?.getReader();
|
||||
const decoder = new TextDecoder();
|
||||
let result = '';
|
||||
|
||||
if (reader) {
|
||||
while (true) {
|
||||
const { done, value } = await reader.read();
|
||||
if (done) break;
|
||||
|
||||
const chunk = decoder.decode(value, { stream: true });
|
||||
const lines = chunk.split('\n');
|
||||
|
||||
for (const line of lines) {
|
||||
if (line.startsWith('data: ')) {
|
||||
try {
|
||||
const data = JSON.parse(line.slice(6)) as SpellCheckResponse;
|
||||
if (data.message?.content) {
|
||||
result += data.message.content;
|
||||
}
|
||||
} catch (e) {
|
||||
// 忽略解析错误,继续处理下一行
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
} catch (error) {
|
||||
console.error('错别字检测请求失败:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user