refactor: 查询profile时返回stt配置
Some checks are pending
sync2gitee / repo-sync (push) Waiting to run
Typos Check / Spell Check with Typos (push) Waiting to run

This commit is contained in:
CaptainB 2024-09-09 11:01:08 +08:00 committed by 刘瑞斌
parent eb81d6d010
commit 7380507b55
3 changed files with 35 additions and 37 deletions

View File

@ -690,6 +690,10 @@ class ApplicationSerializer(serializers.Serializer):
raise AppUnauthorizedFailed(500, "非法用户")
return ApplicationSerializer.Query.reset_application(
{**ApplicationSerializer.ApplicationModel(application).data,
'stt_model_id': application.stt_model_id,
'tts_model_id': application.tts_model_id,
'stt_model_enable': application.stt_model_enable,
'tts_model_enable': application.tts_model_enable,
'show_source': application_access_token.show_source})
@transaction.atomic

View File

@ -539,7 +539,7 @@ class Application(APIView):
authentication_classes = [TokenAuth]
@action(methods=['POST'], detail=False)
@has_permissions(ViewPermission([RoleConstants.ADMIN, RoleConstants.USER],
@has_permissions(ViewPermission([RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.APPLICATION_ACCESS_TOKEN],
[lambda r, keywords: Permission(group=Group.APPLICATION,
operate=Operate.USE,
dynamic_tag=keywords.get(
@ -554,7 +554,7 @@ class Application(APIView):
authentication_classes = [TokenAuth]
@action(methods=['POST'], detail=False)
@has_permissions(ViewPermission([RoleConstants.ADMIN, RoleConstants.USER],
@has_permissions(ViewPermission([RoleConstants.ADMIN, RoleConstants.USER, RoleConstants.APPLICATION_ACCESS_TOKEN],
[lambda r, keywords: Permission(group=Group.APPLICATION,
operate=Operate.USE,
dynamic_tag=keywords.get(

View File

@ -666,15 +666,12 @@ const uploadRecording = async (audioBlob: Blob) => {
try {
const formData = new FormData()
formData.append('file', audioBlob, 'recording.mp3')
if (id) {
applicationApi.postSpeechToText(id as string, formData, loading)
.then((response) => {
console.log('上传成功:', response.data)
inputValue.value = response.data
// chatMessage(null, res.data)
})
}
applicationApi.postSpeechToText(props.data.id as string, formData, loading)
.then((response) => {
console.log('上传成功:', response.data)
inputValue.value = response.data
// chatMessage(null, res.data)
})
} catch (error) {
console.error('上传失败:', error)
@ -682,36 +679,33 @@ const uploadRecording = async (audioBlob: Blob) => {
}
const playAnswerText = (text: string) => {
if (id) {
console.log(text)
applicationApi.postTextToSpeech(id as string, { 'text': text }, loading)
.then((res: any) => {
applicationApi.postTextToSpeech(props.data.id as string, { 'text': text }, loading)
.then((res: any) => {
// MP3
// Blob
const blob = new Blob([res], { type: 'audio/mp3' })
// MP3
// Blob
const blob = new Blob([res], { type: 'audio/mp3' })
// URL
const url = URL.createObjectURL(blob)
// URL
const url = URL.createObjectURL(blob)
// blob
// const link = document.createElement('a')
// link.href = window.URL.createObjectURL(blob)
// link.download = "abc.mp3"
// link.click()
// blob
// const link = document.createElement('a')
// link.href = window.URL.createObjectURL(blob)
// link.download = "abc.mp3"
// link.click()
// audioPlayer DOM
if (audioPlayer.value instanceof HTMLAudioElement) {
audioPlayer.value.src = url;
audioPlayer.value.play(); //
} else {
console.error("audioPlayer.value is not an instance of HTMLAudioElement");
}
})
.catch((err) => {
console.log('err: ', err)
})
}
// audioPlayer DOM
if (audioPlayer.value instanceof HTMLAudioElement) {
audioPlayer.value.src = url;
audioPlayer.value.play(); //
} else {
console.error("audioPlayer.value is not an instance of HTMLAudioElement");
}
})
.catch((err) => {
console.log('err: ', err)
})
}
function setScrollBottom() {