mirror of
https://github.com/xxnuo/MTranServer.git
synced 2026-07-02 10:54:45 +08:00
241 lines
5.5 KiB
JavaScript
Executable File
241 lines
5.5 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
||
|
||
/**
|
||
* 测试翻译插件兼容API
|
||
* 包括沉浸式翻译、简约翻译和划词翻译API
|
||
*/
|
||
|
||
const http = require('http');
|
||
|
||
// 配置
|
||
const config = {
|
||
host: process.env.HOST || 'localhost',
|
||
port: process.env.PORT || 8989,
|
||
token: process.env.CORE_API_TOKEN || ''
|
||
};
|
||
|
||
// 测试沉浸式翻译API
|
||
function testImmeTranslate() {
|
||
console.log('测试沉浸式翻译API...');
|
||
const tokenParam = config.token ? `?token=${config.token}` : '';
|
||
const options = {
|
||
hostname: config.host,
|
||
port: config.port,
|
||
path: `/imme${tokenParam}`,
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json'
|
||
}
|
||
};
|
||
|
||
const data = JSON.stringify({
|
||
source_lang: 'en',
|
||
target_lang: 'zh-Hans',
|
||
text: 'Hello, world!'
|
||
});
|
||
|
||
const req = http.request(options, (res) => {
|
||
let responseData = '';
|
||
res.on('data', (chunk) => {
|
||
responseData += chunk;
|
||
});
|
||
res.on('end', () => {
|
||
console.log(`状态码: ${res.statusCode}`);
|
||
console.log(`响应数据: ${responseData}`);
|
||
console.log('沉浸式翻译API测试完成\n');
|
||
|
||
// 测试批量翻译
|
||
testImmeBatchTranslate();
|
||
});
|
||
});
|
||
|
||
req.on('error', (error) => {
|
||
console.error(`沉浸式翻译API测试出错: ${error.message}`);
|
||
});
|
||
|
||
req.write(data);
|
||
req.end();
|
||
}
|
||
|
||
// 测试沉浸式翻译批量API
|
||
function testImmeBatchTranslate() {
|
||
console.log('测试沉浸式翻译批量API...');
|
||
const tokenParam = config.token ? `?token=${config.token}` : '';
|
||
const options = {
|
||
hostname: config.host,
|
||
port: config.port,
|
||
path: `/imme${tokenParam}`,
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json'
|
||
}
|
||
};
|
||
|
||
const data = JSON.stringify({
|
||
source_lang: 'en',
|
||
target_lang: 'zh-Hans',
|
||
texts: ['Hello, world!', 'How are you?']
|
||
});
|
||
|
||
const req = http.request(options, (res) => {
|
||
let responseData = '';
|
||
res.on('data', (chunk) => {
|
||
responseData += chunk;
|
||
});
|
||
res.on('end', () => {
|
||
console.log(`状态码: ${res.statusCode}`);
|
||
console.log(`响应数据: ${responseData}`);
|
||
console.log('沉浸式翻译批量API测试完成\n');
|
||
|
||
// 测试下一个API
|
||
testKissTranslate();
|
||
});
|
||
});
|
||
|
||
req.on('error', (error) => {
|
||
console.error(`沉浸式翻译批量API测试出错: ${error.message}`);
|
||
});
|
||
|
||
req.write(data);
|
||
req.end();
|
||
}
|
||
|
||
// 测试简约翻译API
|
||
function testKissTranslate() {
|
||
console.log('测试简约翻译API...');
|
||
const options = {
|
||
hostname: config.host,
|
||
port: config.port,
|
||
path: '/kiss',
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json'
|
||
}
|
||
};
|
||
|
||
// 如果有token,添加到请求头
|
||
if (config.token) {
|
||
options.headers['Key'] = config.token;
|
||
}
|
||
|
||
const data = JSON.stringify({
|
||
from: 'en',
|
||
to: 'zh-Hans',
|
||
text: 'Hello, world!'
|
||
});
|
||
|
||
const req = http.request(options, (res) => {
|
||
let responseData = '';
|
||
res.on('data', (chunk) => {
|
||
responseData += chunk;
|
||
});
|
||
res.on('end', () => {
|
||
console.log(`状态码: ${res.statusCode}`);
|
||
console.log(`响应数据: ${responseData}`);
|
||
console.log('简约翻译API测试完成\n');
|
||
|
||
// 测试批量翻译
|
||
testKissBatchTranslate();
|
||
});
|
||
});
|
||
|
||
req.on('error', (error) => {
|
||
console.error(`简约翻译API测试出错: ${error.message}`);
|
||
});
|
||
|
||
req.write(data);
|
||
req.end();
|
||
}
|
||
|
||
// 测试简约翻译批量API
|
||
function testKissBatchTranslate() {
|
||
console.log('测试简约翻译批量API...');
|
||
const options = {
|
||
hostname: config.host,
|
||
port: config.port,
|
||
path: '/kiss',
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json'
|
||
}
|
||
};
|
||
|
||
// 如果有token,添加到请求头
|
||
if (config.token) {
|
||
options.headers['Key'] = config.token;
|
||
}
|
||
|
||
const data = JSON.stringify({
|
||
from: 'en',
|
||
to: 'zh-Hans',
|
||
texts: ['Hello, world!', 'How are you?']
|
||
});
|
||
|
||
const req = http.request(options, (res) => {
|
||
let responseData = '';
|
||
res.on('data', (chunk) => {
|
||
responseData += chunk;
|
||
});
|
||
res.on('end', () => {
|
||
console.log(`状态码: ${res.statusCode}`);
|
||
console.log(`响应数据: ${responseData}`);
|
||
console.log('简约翻译批量API测试完成\n');
|
||
|
||
// 测试下一个API
|
||
testHcfyTranslate();
|
||
});
|
||
});
|
||
|
||
req.on('error', (error) => {
|
||
console.error(`简约翻译批量API测试出错: ${error.message}`);
|
||
});
|
||
|
||
req.write(data);
|
||
req.end();
|
||
}
|
||
|
||
// 测试划词翻译API
|
||
function testHcfyTranslate() {
|
||
console.log('测试划词翻译API...');
|
||
const tokenParam = config.token ? `?token=${config.token}` : '';
|
||
const options = {
|
||
hostname: config.host,
|
||
port: config.port,
|
||
path: `/hcfy${tokenParam}`,
|
||
method: 'POST',
|
||
headers: {
|
||
'Content-Type': 'application/json'
|
||
}
|
||
};
|
||
|
||
const data = JSON.stringify({
|
||
text: 'Hello, world!',
|
||
from: 'en',
|
||
to: 'zh-Hans'
|
||
});
|
||
|
||
const req = http.request(options, (res) => {
|
||
let responseData = '';
|
||
res.on('data', (chunk) => {
|
||
responseData += chunk;
|
||
});
|
||
res.on('end', () => {
|
||
console.log(`状态码: ${res.statusCode}`);
|
||
console.log(`响应数据: ${responseData}`);
|
||
console.log('划词翻译API测试完成\n');
|
||
|
||
console.log('所有翻译插件兼容API测试完成');
|
||
});
|
||
});
|
||
|
||
req.on('error', (error) => {
|
||
console.error(`划词翻译API测试出错: ${error.message}`);
|
||
});
|
||
|
||
req.write(data);
|
||
req.end();
|
||
}
|
||
|
||
// 开始测试
|
||
console.log('开始测试翻译插件兼容API...\n');
|
||
testImmeTranslate();
|