olivebot/gui/templates/index.html
2024-02-21 15:44:42 +08:00

251 lines
14 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- index.css -->
<link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">
</link>
<!-- <link rel="stylesheet" href="./css/index.css"> -->
<!-- 引入element-ui样式 -->
<!-- <link rel="stylesheet" href="./css/element.css"> -->
<link rel="stylesheet" href="{{ url_for('static',filename='css/element.css') }}">
</link>
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.14/theme-chalk/index.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.1/css/all.css">
<script src="/static/live2d/autoload.js"></script>
<title>Fay</title>
</head>
<body>
<div id="app">
<div class="main">
<div class="title">
<h2>Fay数字人助理版</h2>
</div>
<div class="main_box">
<div class="left">
<div class="left_top">
<p class="left_top_p">人设:</p>
<div class="character">
<div class="character_top">
<div class="character_left">
<ul>
<li>
<p>姓名:</p>
<el-input v-model="attribute_name" placeholder="请输入内容"></el-input>
</li>
<li>
<p>性别:</p>
<el-input v-model="attribute_gender" placeholder="请输入内容"></el-input>
</li>
<li>
<p>年龄:</p>
<el-input v-model="attribute_age" placeholder="请输入内容"></el-input>
</li>
<li>
<p>出生地:</p>
<el-input v-model="attribute_birth" placeholder="请输入内容"></el-input>
</li>
<li>
<p>生肖:</p>
<el-input v-model="attribute_zodiac" placeholder="请输入内容"></el-input>
</li>
<li>
<p>星座:</p>
<el-input v-model="attribute_constellation" placeholder="请输入内容"></el-input>
</li>
<li>
<p>职业:</p>
<el-input v-model="attribute_job" placeholder="请输入内容"></el-input>
</li>
<li>
<p>联系方式:</p>
<el-input v-model="attribute_contact" placeholder="请输入内容"></el-input>
</li>
<li>
<p>喜好:</p>
<el-input v-model="attribute_hobby" placeholder="请输入内容"></el-input>
</li>
</ul>
</div>
<div class="character_right">
<ul>
<li style="width: 375px;">
<p>Q&A文件</p>
<el-input v-model="interact_QnA" placeholder="请输入内容"></el-input>
</li>
<br>
<li>
<p>使用面板播放:</p>
<p style="text-align: left;" v-if="play_sound_enabled"></p>
<p style="text-align: left;" v-else></p>
</li>
<li>
<p>声音选择:{{attribute_voice}}</p>
<el-select v-model="attribute_voice" placeholder="请选择">
<el-option v-for="item in voice_list" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</li>
<br>
<li>
<p>敏感度:</p>
<el-slider v-model="interact_perception_follow"></el-slider>
</li>
<br>
<li >
<el-button style="margin-left: 55px;width: 135px;" type="success" class="btn_open"
@click=postControlEyes()><i class="fas fa-eye"></i> Fay Eyes</el-button>
</li>
<br>
<li>
<p>唤醒模式:</p>
<el-switch v-model="wake_word_enabled" active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
</li>
<li style="margin-bottom: 10px;">
<p>唤醒词:</p>
<el-input style="width: 250px;" v-model="wake_word" placeholder="请输入内容(以,隔开)"></el-input>
</li>
<li>
<p>唤醒方式:</p>
<el-select v-model="wake_word_type" placeholder="请选择">
<el-option v-for="item in wake_word_type_options" :key="item.value"
:label="item.label" :value="item.value">
</el-option>
</el-select>
</li>
<br>
<li>
<p> 远程音频:</p>
<p style = "text-align: left;color: #67c23a" v-if="remote_audio_connect" >已连接 </p>
<p style = "text-align: left;" v-else>未连接 </p>
</li>
<li>
<p>tts合成</p>
<el-switch v-model="tts_enabled" active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="left_box">
<p>&nbsp;</p>
<div class="source">
<ul>
<li class="url">
<el-switch v-model="source_record_enabled" active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
<p>麦克风</p>
<el-select v-model="source_record_device" placeholder="请选择">
<el-option v-for="item in device_list" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</li>
<li class="url">
<p style="margin-left: 40px">消 息</p>
<el-input v-model="panel_msg" :disabled="true"></el-input>
</li>
<li class="but">
<el-button v-if="live_state == 1" type="success" class="btn_close"
style="width:200px" @click=postStopLive()>关闭(运行中)</el-button>
<el-button v-else-if="live_state == 2" type="primary" plain disabled
style="width:200px">正在开启...</el-button>
<el-button v-else-if="live_state == 3" type="success" plain disabled
style="width:200px">正在关闭...</el-button>
<el-button v-else type="primary" style="width:200px" class="btn_open"
@click=postStartLive()>开启</el-button>
<el-button type="button" style="width:200px" @click=postData()>保存配置</el-button>
</li>
<li class="p_red" >
<p v-if="is_connect" style="color: #67c23a;"> 数字人:已连接 </p>
<p v-else > 数字人:未连接 </p>
</li>
</ul>
</div>
</div>
</div>
<div class="right">
<div class="right_main">
<div class="container">
<div class="content">
<div v-for="(item, index) in msg_list" :key="index">
<div class="item item-center"><span>[[item.timetext]]</span></div>
<div class="item item-left" v-if="item.type == 'fay'">
<div class="avatar"><img src="{{ url_for('static',filename='to.jpg') }}" />
</div>
<div class="bubble bubble-left">[[item.content]]
</div>
</div>
<div class="item item-right" v-else>
<div class="bubble bubble-right" >[[item.content]]<div v-if="loading && index === msg_list.length - 1" class="spinner"></div></div>
<div class="avatar"><img src="{{ url_for('static',filename='from.jpg') }}" />
</div>
</div>
</div>
<div>
</div>
</div>
<div class="input-area">
<textarea v-model="send_msg" name="text" id="textarea" placeholder="发送些内容给Fay..."></textarea>
<div class="button-area">
<button id="send-btn" @click="send(1)">Fay</button>
<!-- <button id="send-btn" @click="send(2)" style="margin-left: 25px;">ChatGPT</button> -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<!-- 开发环境vue.js -->
<script src="{{ url_for('static',filename='js/vue.js') }}"></script>
<!-- 发行环境vue.js -->
<!-- <script src="https://cdn.jsdelivr.net/npm/vue@2"></script> -->
<!-- 引入element-ui组件库 -->
<!-- <script src="./js/element.js"></script> -->
<script src="{{ url_for('static',filename='js/element.js') }}"></script>
<!-- index.js -->
<!-- <script src="./js/index.js"></script> -->
<!-- <script src="./js/self-adaption.js"></script> -->
<script src="{{ url_for('static',filename='js/index.js') }}"></script>
<script src="{{ url_for('static',filename='js/self-adaption.js') }}"></script>
</html>