feat: openapi cors

This commit is contained in:
archer
2023-05-19 12:01:59 +08:00
parent bb312441c6
commit 2843178ede
12 changed files with 71 additions and 209 deletions

View File

@@ -8,7 +8,7 @@ import { PgClient } from '@/service/pg';
import { SplitDataSchema } from '@/types/mongoSchema';
import { modelServiceToolMap } from '../utils/chat';
import { ChatRoleEnum } from '@/constants/chat';
import { getErrMessage } from '../utils/tools';
import { getErrText } from '@/utils/tools';
export async function generateQA(next = false): Promise<any> {
if (process.env.queueTask !== '1') {
@@ -56,7 +56,7 @@ export async function generateQA(next = false): Promise<any> {
// 余额不够了, 清空该记录
await SplitData.findByIdAndUpdate(dataItem._id, {
textList: [],
errorText: getErrMessage(err, '获取 OpenAi Key 失败')
errorText: getErrText(err, '获取 OpenAi Key 失败')
});
generateQA(true);
return;

View File

@@ -2,7 +2,7 @@ import { openaiCreateEmbedding } from '../utils/chat/openai';
import { getApiKey } from '../utils/auth';
import { openaiError2 } from '../errorCode';
import { PgClient } from '@/service/pg';
import { getErrMessage } from '../utils/tools';
import { getErrText } from '@/utils/tools';
export async function generateVector(next = false): Promise<any> {
if (process.env.queueTask !== '1') {
@@ -51,7 +51,7 @@ export async function generateVector(next = false): Promise<any> {
where: [['id', dataId]]
});
generateVector(true);
getErrMessage(err, '获取 OpenAi Key 失败');
getErrText(err, '获取 OpenAi Key 失败');
return;
}

View File

@@ -1,4 +1,5 @@
import type { NextApiResponse } from 'next';
import type { NextApiResponse, NextApiHandler, NextApiRequest } from 'next';
import NextCors from 'nextjs-cors';
import crypto from 'crypto';
import jwt from 'jsonwebtoken';
@@ -37,11 +38,19 @@ export const axiosConfig = () => ({
}
});
/**
* get error message
*/
export const getErrMessage = (err: any, defaultMsg = ''): string => {
const msg = typeof err === 'string' ? err : err?.message || defaultMsg || '';
msg && console.log('error =>', msg);
return msg;
};
export function withNextCors(handler: NextApiHandler): NextApiHandler {
return async function nextApiHandlerWrappedWithNextCors(
req: NextApiRequest,
res: NextApiResponse
) {
const methods = ['GET', 'HEAD', 'PUT', 'PATCH', 'POST', 'DELETE'];
const origin = req.headers.origin;
await NextCors(req, res, {
methods,
origin: origin,
optionsSuccessStatus: 200
});
return handler(req, res);
};
}