feat(ssa): Complete V11 UI development and frontend-backend integration - Pixel-perfect V11 UI, multi-task support, Word export, input overlay fix, code cleanup. MVP Phase 1 core 95% complete.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-20 14:46:45 +08:00
parent 49b5c37cb1
commit 8d496d1515
38 changed files with 7255 additions and 1074 deletions

View File

@@ -30,10 +30,14 @@ export class RClientService {
async execute(sessionId: string, plan: any, session: any): Promise<any> {
const startTime = Date.now();
// 从 OSS Key 或 session title 提取原始文件名
const originalFilename = this.extractFilename(session);
// 构建请求体(使用统一存储服务)
const requestBody = {
data_source: await this.buildDataSource(session),
params: plan.params,
original_filename: originalFilename,
guardrails: plan.guardrails || {
check_normality: true,
auto_fix: true
@@ -127,6 +131,28 @@ export class RClientService {
};
}
/**
* 从 session 提取原始文件名
*/
private extractFilename(session: any): string {
// 优先从 title 获取(上传时会设置为文件名)
if (session.title) {
// 如果 title 不包含扩展名,添加 .csv
if (!session.title.match(/\.(csv|xlsx|xls)$/i)) {
return `${session.title}.csv`;
}
return session.title;
}
// 从 OSS Key 提取
if (session.dataOssKey) {
const parts = session.dataOssKey.split('/');
return parts[parts.length - 1] || 'data.csv';
}
return 'data.csv';
}
async healthCheck(): Promise<boolean> {
try {
const res = await this.client.get('/health');