| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | "use strict";const { IndexesService } = require('./indexes.service');const router = require('express').Router();/** * 存活统计:用户存活情况统计接口 * @see *//** * @api {get} /aiagent/indexes/loader AGENT:文件加载器 * @apiSampleRequest /api/aiagent/indexes/loader * @apiVersion 0.5.0 * @apiName agentIndexesLoader * @apiGroup apig * @apiParam {string} [story] 故事ID * @apiParam {string} [attach] 附件ID * @apiParam {string} [url] 可访问文件地址 * @apiParam {string} [md5] 当前文件MD5校验码 * @apiParam {string} [extend] 文件后缀名 * @apiSuccess {data} data 结果 * @apiSuccessExample Success-Response: *     HTTP/11 200 OK *     { *      code:200, *      data:[ *          docsIdList:["xxxxxxxxx1","xxxxxxxxx2","xxxxxxxxx3","xxxxxxxxx4"], *          docs:[{pageContent:"",metadata:""}] *      ] * } */ router.post("/loader",async (request,response)=>{    // 仅URL直接返回分割结果     let url = request.body.url || request.params.url || request.query.url     let md5 = request.body.md5 || request.params.md5 || request.query.md5     let extend = request.body.extend || request.params.extend || request.query.extend     if(!url){        response.status(500)        response.json({            code:500,            error:"请传入参数:url,md5"        })        return    }    // 含Story存储Document后,返回分割文档ID    let story = request.body.story || request.params.story || request.query.story     let attach = request.body.attach || request.params.attach || request.query.attach     // 加载Indexes,开始分割文档    let indexes = new IndexesService();    let docs    let splitDocs    try{        docs = await indexes.load(url,extend,md5);        let splitCount = 0        if(docs?.length>0){            splitDocs = await indexes.split(docs)            splitCount = splitDocs?.length        }        response.json({            code:200,            data:{                doc:docs?.[0],                split:splitDocs,                docsIdList:[],                splitCount:splitCount            }        })    }catch(err){        console.error(err)    	response.status(500)        response.json({            code:500,            err:err        })    }})module.exports = router;
 |