语音回答接口

This commit is contained in:
田岩
2025-09-17 18:55:22 +08:00
parent 2fd023428e
commit 1f27e0ebf5
5 changed files with 189 additions and 189 deletions
+183 -179
View File
@@ -1,248 +1,252 @@
import {
get_base_url
get_base_url,
REQUES_ERROR_CODES,
goto_login_fun
} from '@/api/request'
import {
getToken
getToken
} from '@/common/common.js'
import common from '@/common/common';
export const uploadFile = (file, data) => {
const url = '/traoss/tras3/upload';
const base_url = get_base_url(url);
const token = getToken();
const header = {};
export const uploadFile = (file, data) => {
const url = '/traoss/tras3/upload';
const base_url = get_base_url(url);
const token = getToken();
const header = {};
console.log('file', file);
if (token)
header['summary'] = token
return new Promise((resolve, reject) => {
if (token)
header['summary'] = token
return new Promise((resolve, reject) => {
uni.uploadFile({
url: `${base_url}${url}`,
url: `${base_url}${url}`,
header: header,
filePath: file,
name: 'file',
formData: data,
success(result) {
try {
const res = JSON.parse(result.data);
if (res.rtnCode === '0000') {
resolve(res.body);
} else {
reject(new Error(res.msg));
}
} catch (error) {
reject(new Error('Failed to parse response'));
}
},
fail(error) {
filePath: file,
name: 'file',
formData: data,
success(result) {
try {
const res = JSON.parse(result.data);
if (res.rtnCode === '0000') {
resolve(res.body);
} else {
reject(new Error(res.msg));
}
} catch (error) {
reject(new Error('Failed to parse response'));
}
},
fail(error) {
console.log('error', error);
reject(new Error('Upload failed'));
}
});
reject(new Error('Upload failed'));
}
});
});
};
export const getPreviewFileUrl = (id) => {
export const getPreviewFileUrl = (id) => {
return get_base_url() + `/traoss/tras3/show/${id}`
}
// 对象存储下载 /traoss/tras3/show/{文件ID}
export function downloadFile(id) {
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.downloadFile({
url: `${baseUrl}/traoss/tras3/show/${id}`,
header,
success(result) {
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.downloadFile({
url: `${baseUrl}/traoss/tras3/show/${id}`,
header,
success(result) {
resolve(result)
},
fail(error) {
reject(new Error(error));
}
});
},
fail(error) {
reject(new Error(error));
}
});
});
}
// 上传音频 通用
export const commonUploadVoiceFile = (file, url, data = {}, fileKey='voice') => {
const base_url = get_base_url(url);
const token = getToken();
const header = {
"Content-Type": "multipart/form-data; charset=UTF-8",
};
if (token)
header['summary'] = token
// console.log(`${base_url}${url}`)
return new Promise((resolve, reject) => {
uni.uploadFile({
url: `${base_url}${url}`,
export const commonUploadVoiceFile = (file, url, data = {}, fileKey = 'voice') => {
const base_url = get_base_url(url);
const token = getToken();
const header = {
"Content-Type": "multipart/form-data; charset=UTF-8",
};
if (token)
header['summary'] = token
return new Promise((resolve, reject) => {
uni.uploadFile({
url: `${base_url}${url}`,
header: header,
filePath: file,
name: fileKey,
filePath: file,
name: fileKey,
formData: data,
success(result) {
try {
const res = JSON.parse(result.data);
// console.log(res)
if (res.rtnCode === '0000') {
resolve(result);
} else {
reject(new Error(res.message));
}
} catch (error) {
reject(new Error('Failed to parse response'));
}
},
fail(error) {
console.log(error)
reject(new Error('Upload failed'));
}
});
success(result) {
try {
const res = JSON.parse(result.data);
if (res.rtnCode === '0000') {
resolve(result);
} else if (REQUES_ERROR_CODES['NO_LOGIN'].includes(res.rtnCode)) {
goto_login_fun()
} else {
reject(new Error(res.message));
}
} catch (error) {
reject(new Error('Failed to parse response'));
}
},
fail(error) {
reject(new Error('Upload failed'));
}
});
});
};
// 上传音频 翻译文本
export const uploadVoiceFile = (file) => {
const url = '/trastudy/traStdyInfo/audioTranscriptions';
const base_url = get_base_url(url);
const token = getToken();
const header = {
"Content-Type": "multipart/form-data; charset=UTF-8",
};
if (token)
header['summary'] = token
return new Promise((resolve, reject) => {
uni.uploadFile({
url: `${base_url}${url}`,
export const uploadVoiceFile = (file) => {
const url = '/trastudy/traStdyInfo/audioTranscriptions';
const base_url = get_base_url(url);
const token = getToken();
const header = {
"Content-Type": "multipart/form-data; charset=UTF-8",
};
if (token)
header['summary'] = token
return new Promise((resolve, reject) => {
uni.uploadFile({
url: `${base_url}${url}`,
header: header,
filePath: file,
name: 'voice',
success(result) {
try {
const res = JSON.parse(result.data);
if (res.rtnCode === '0000') {
resolve(result);
} else {
reject(new Error(res.message));
}
} catch (error) {
reject(new Error('Failed to parse response'));
}
},
fail(error) {
reject(new Error('Upload failed'));
}
});
filePath: file,
name: 'voice',
success(result) {
try {
const res = JSON.parse(result.data);
if (res.rtnCode === '0000') {
resolve(result);
} else {
reject(new Error(res.message));
}
} catch (error) {
reject(new Error('Failed to parse response'));
}
},
fail(error) {
reject(new Error('Upload failed'));
}
});
});
};
// 获取音频 通用
export function downloadVoiceFile(url) {
const token = getToken();
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
};
if (token)
header['summary'] = token
let baseUrl = get_base_url(url);
return new Promise((resolve, reject) => {
uni.downloadFile({
return new Promise((resolve, reject) => {
uni.downloadFile({
url: `${baseUrl}${url}`,
header,
header,
success(result) {
console.log(result)
resolve(result)
},
fail(error) {
},
fail(error) {
console.log(error)
reject(new Error(error));
}
});
reject(new Error(error));
}
});
});
}
export function getAudioByText(data) {
const token = getToken();
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl}/trastudy/traStdyInfo/readContent`,
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl}/trastudy/traStdyInfo/readContent`,
header,
method:"POST",
method: "POST",
data,
responseType: "arraybuffer",
success(result) {
if(result.statusCode === 200){
if (result.statusCode === 200) {
resolve(result.data)
}else{
} else {
reject(new Error(result))
}
},
fail(error) {
reject(new Error(error));
}
});
},
fail(error) {
reject(new Error(error));
}
});
});
}
// 对象存储预览 /traoss/tras3/show/{文件ID}
export function previewFile(id, responseType = 'arraybuffer') {
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl}/traoss/tras3/show/${id}`,
header,
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl}/traoss/tras3/show/${id}`,
header,
responseType,
success(result) {
success(result) {
resolve(result)
},
fail(error) {
reject(new Error(error));
}
});
},
fail(error) {
reject(new Error(error));
}
});
});
}
// 缩略图预览 /traoss/tras3/getCacheThumbImage/{fileId}/{width}/{height}
export function previewCacheThumbImage(id, width = 30, height = 30) {
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl}/traoss/tras3/getCacheThumbImage/${id}/${width}/${height}`,
header,
success(result) {
if(result.data.rtnCode === '0000'){
const token = getToken();
const header = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
};
if (token)
header['summary'] = token
let baseUrl = get_base_url();
return new Promise((resolve, reject) => {
uni.request({
url: `${baseUrl}/traoss/tras3/getCacheThumbImage/${id}/${width}/${height}`,
header,
success(result) {
if (result.data.rtnCode === '0000') {
let base64 = `data:image/png;base64,` + result.data.body
resolve(base64)
}else{
reject({error:result.data.message})
} else {
reject({
error: result.data.message
})
}
},
fail(error) {
reject(new Error(error));
}
});
},
fail(error) {
reject(new Error(error));
}
});
});
}
}