JusTalk / static /feedback.js
buletomato25
pull0323
e21b19c
async function getTranscription() {
try {
const response = await fetch("/transcription");
if (!response.ok) {
throw new Error("HTTP error! status: ${response.status}");
}
const data = await response.json();
const results = data.response;
} catch (error) {
console.error("Failed to fetch transcription", error);
}
}
async function getAnalysis() {
const loader = document.getElementById("loader");
loader.style.display = "block";
try {
await getTranscription();
const response = await fetch("/analyze");
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
console.log("分析データ取得:", data); // ←構造確認用
const results = data.results;
const analysis = results.deepseek_analysis;
// 変数に格納
const conversationLevel = analysis.conversationLevel;
const harassmentPresent = analysis.harassmentPresent;
const harassmentType = analysis.harassmentType;
const repetition = analysis.repetition;
const pleasantConversation = analysis.pleasantConversation;
const blameOrHarassment = analysis.blameOrHarassment;
loader.style.display = "none";
// DOMに表示
document.getElementById(
"level"
).innerText = `会話レベル: ${conversationLevel}`;
document.getElementById(
"Harassment_bool"
).innerText = `ハラスメントの有無: ${harassmentPresent}`;
document.getElementById(
"Harassment_type"
).innerText = `ハラスメントの種類: ${harassmentType}`;
document.getElementById(
"Harassment_loop"
).innerText = `繰り返しの程度: ${repetition}`;
document.getElementById(
"Harassment_comfort"
).innerText = `会話の心地よさ: ${pleasantConversation}`;
document.getElementById(
"Harassment_volume"
).innerText = `非難またはハラスメントの程度: ${blameOrHarassment}`;
} catch (error) {
loader.style.display = "none";
console.error("Failed to fetch analysis data:", error);
}
}
window.onload = () => {
getAnalysis();
};