返回 AiToEarn
tools.ts
1 import * as fs from 'fs'; // 新增文件系统导入
2 import netRequest from '.';
3 import FormData from 'form-data';
4
5 export enum FeedbackType {
6 errReport = 'errReport', // 错误反馈
7 feedback = 'feedback', // 反馈
8 msgReport = 'msgReport', // 消息举报
9 msgFeedback = 'msgFeedback', // 消息反馈
10 }
11
12 export class ToolsApi {
13
14 // 获取AI的评论回复
15 async aiRecoverReview(inData: {
16 content: string;
17 title?: string;
18 desc?: string;
19 max?: number;
20 }): Promise<string> {
21 const res = await netRequest<{
22 data: string;
23 code: number;
24 msg: string;
25 }>({
26 method: 'POST',
27 url: 'tools/ai/recover/review',
28 body: inData,
29 });
30 const {
31 status,
32 data: { data, code },
33 } = res;
34 if (status !== 200 && status !== 201) return '';
35 if (!!code) return '';
36 return data;
37 }
38
39 /**
40 * 上传本地文件
41 * @param path
42 * @param secondPath
43 * @returns
44 */
45 async upFile(path: string, secondPath = ''): Promise<string> {
46 const formData = new FormData(); // 新增FormData实例
47 const fileName = path.split('/').pop() || path.split('\\').pop() || 'file'; // 新增文件名提取
48 formData.append('file', fs.createReadStream(path), fileName); // 新增文件流添加
49
50 const res = await netRequest<{
51 data: string;
52 code: number;
53 msg: string;
54 }>({
55 method: 'POST',
56 url: 'oss/upload', // 修改URL路径
57 body: formData, // 使用FormData代替空对象
58 headers: {
59 'second-path': secondPath,
60 },
61 });
62 const {
63 status,
64 data: { data, code },
65 } = res;
66 if (status !== 200 && status !== 201) return '';
67 if (!!code) return '';
68 return data;
69 }
70 }
71
72 export const toolsApi = new ToolsApi();
73
73 lines TYPESCRIPT