lefengyang
2026-08-20 d01a28cb030b2cb0ff1d42273c877a0f728519a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import {IPage, ISearchParam, ISearchTask} from "/src-com";
import {commitSearchTask, executeSearch} from "./executeSearch";
 
export async function executeSearchTask(task: ISearchTask) {
    const param = {
        ...{
            rwid: task.id,
            keyword: task.word?.replace(/^\s*"|"\s*$/g, '')
        },
        ...task.params,
    } as ISearchParam;
    let page: IPage<any>, result, error = undefined;
    try {
        page = await executeSearch(param);
    } catch (e) {
        page || (page = {...param, dataList: []})
        error = page.error = e.message;
    }
    try {
        result = await commitSearchTask(page)
    } catch (e) {
        const arr = [`${error}\n${e.message}`];
        if (page.error) {
            arr.push(page.error);
        }
        error = arr.join('\n');
        page.error = error;
    }
    return {
        result,
        error,
        task,
        page: {
            dataList: [],
            ...param,
            ...page,
        },
    };
}