fix: 修复部分bug

This commit is contained in:
white 2024-10-09 11:04:32 +08:00
parent a8129bb967
commit 387e2ef30b
9 changed files with 1826 additions and 1588 deletions

View File

@ -237,7 +237,7 @@
<style lang="scss" scoped>
.bloodl_box{
margin-top: 30rpx;
margin-top: 50rpx;
padding: 0 40rpx;
.name{
font-size: 24rpx;
@ -265,7 +265,6 @@
}
.time {
width: 100%;
margin-bottom: 100rpx;
}
.list {
background-color: #fff;

View File

@ -1,8 +1,9 @@
<template>
<view class="content" style="width: 60%;">
<uni-popup ref="popup" type="bottom" border-radius="10px 10px 0 0">
<view class="main">
<view class="pop-main" v-if="typeIndex == 1">
<view>
<view class="pops">
<view class="pop-close" @click="close()">
×
</view>
@ -93,7 +94,7 @@
</view>
<view class="pop-main" v-if="typeIndex == 2">
<view>
<view class="pops">
<view class="pop-close" @click="close()">
×
</view>
@ -200,6 +201,7 @@
<view class="" style="height: 20rpx;"></view>
</view>
</view>
</view>
</uni-popup>
</view>
</template>
@ -539,6 +541,14 @@
height: 100vh;
background-color: #fff;
overflow-y: scroll;
padding: 50rpx;
}
.pops {
border: 1rpx solid gray;
border-radius: 20rpx;
margin: 50rpx;
margin-top: 100rpx;
}
.box1 {
@ -607,6 +617,7 @@
flex-direction: row-reverse;
font-size: 100rpx;
padding-right: 50rpx;
margin-top: 50rpx;
}
.pop-main {

View File

@ -1,6 +1,6 @@
<template>
<view>
<tm-nav-bar left-icon="arrow-left" title="睡眠" @clickLeft="back" />
<tm-nav-bar left-icon="arrow-left" title="睡眠" @clickLeft="back" :rbgs="false"/>
<view class="flx jcsb ac" style="height: 40rpx;background-color: #fff;padding: 20rpx;">
<view class="" style="font-size: 40rpx;font-weight: bold;">

View File

@ -28,7 +28,7 @@ export default () => {
}
config.data = config.data || {};
// config.baseURL = 'http://test.sc2.agrimedia.cn'; // 不使用请求代理 上线记得注释掉 ***********************************************************
config.baseURL = 'https://ai.agrimedia.cn/'; // 不使用请求代理 上线记得注释掉 ***********************************************************
let apiToken = store.getters['api/getApiToken']
let serverTime = (parseInt(Date.now() /1000) - store.getters['api/getServerTime'])

View File

@ -46,22 +46,37 @@
<!-- 录制 -->
<div class="buttons startRec">点击说话</div>
<!-- 录制中 -->
<!-- <div class="buttons runRec">暂停</div> -->
<!-- 停止 -->
<div class="buttons endRec">停止</div>
</div>
<!-- 讯飞测试 -->
<div class="voice">
<div class="voice-box scroll-text">
<input class="voice-input" type="search" name="voice" id="voice-txt" style="pointer-events: none" value="我是您的健康助手, 请问您有什么帮助吗?"/>
<div id="marquee">
<span id="voice-txt">我是您的健康助手, 请问您有什么帮助吗?</span>
</div>
</div>
</div>
</div>
<script type="text/javascript">
marquee("marquee", "voice-txt");
function marquee(p, s) {
var scrollWidth = document.getElementById(p).offsetWidth;
var textWidth = document.getElementById(s).offsetWidth;
var i = scrollWidth;
console.log(scrollWidth, textWidth);
function change() {
i--;
if (i < -textWidth) {
i = scrollWidth;
}
document.getElementById(s).style.left = i + "px";
window.requestAnimationFrame(change);
}
window.requestAnimationFrame(change);
}
</script>
<script>
var Items = ['血糖', '睡眠', '血氧', '血压', '尿酸', '梅拖', '心率', '体温', '心电图', '身体成份', '运动', '血脂'];
var Question = '';
@ -147,11 +162,6 @@
const speakingTimeInSeconds = speakingTime * 60;
return speakingTimeInSeconds;
}
// 映射的字段
function Reflection(str) {
}
</script>
<!-- 讯飞语音识别 -->
@ -281,7 +291,9 @@
onTextChange: function (text) {
// 监听识别结果的变化
voiceTxt.value = text;
voiceTxt.innerText = text;
marquee("marquee", "voice-txt");
statusTxt.value = '正在听…';
// 3秒钟内没有说话就自动关闭
@ -308,6 +320,8 @@
var QSindex = containsKeywordRegex(params.msg);
Question = `请模仿全科医生的口吻与我: ${user}对话,我最近测量的${result.dataKey}数据为${JSON.stringify(TargetData)},data_msg为值hour_minute为检测时间 #限制回复用户的内容中不要出现Null。#限制:回复不要带英文,要都转化成汉语。#限制监测结果为Null的数据不做分析回复。`
console.log('指定问题', Question)
/*
* 调用接口 传递关键信息 文字转语音
*/
@ -358,6 +372,10 @@
startRec.style.display = "none";
endRec.style.display = "block";
// 字幕文字
voiceTxt.innerText = filterString(str.output.text, ['*', ' ']);
marquee("marquee", "voice-txt");
// 设置音频源
audioElement.src = blobUrl;
@ -442,7 +460,8 @@
endRec.style.display = "block";
// 字幕文字
voiceTxt.value = filterString(str.output.text, ['*', ' ']);
voiceTxt.innerText = filterString(str.output.text, ['*', ' ']);
marquee("marquee", "voice-txt");
// 设置音频源
audioElement.src = blobUrl;
@ -454,7 +473,7 @@
replayVideoSegment(60, 120);
// 计算所需时间
const speakingTime = calculateSpeakingTime(voiceTxt.value);
const speakingTime = calculateSpeakingTime(voiceTxt.innerText);
// 开始倒计时
var totalTime = speakingTime;
@ -507,7 +526,7 @@
// 开始识别
startRec.addEventListener("click", function() {
/**开始识别**/
voiceTxt.value = '';
voiceTxt.innerText = '';
voice.start();
isCallbackExecuted = false;
@ -526,7 +545,7 @@
// 关闭识别
endRec.addEventListener("click", function() {
/**关闭识别**/
voiceTxt.value = '';
voiceTxt.innerText = '';
statusTxt.value = '';
voice.stop();
@ -615,7 +634,7 @@
const blobUrl = URL.createObjectURL(blob);
// 字幕文字
voiceTxt.value = str;
voiceTxt.innerText = str;
// 设置音频源
audioElement.src = blobUrl;
@ -963,20 +982,27 @@
width: 100%;
/* background-color: #000; */
}
.voice-box {
#marquee {
display: block;
width: 100%;
animation: textRoll linear 10s infinite; // 文字滚动动画
white-space: nowrap; // 文字不换行
height: 60px;
margin: 0 auto;
position: relative;
overflow: hidden;
}
@keyframes textRoll {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(-100%);
}
#voice-txt {
position: absolute;
top: 0;
left: 100%;
line-height: 60px;
font-size:29px;
color: #fff;
display: block;
word-break: keep-all;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>

View File

@ -126,7 +126,7 @@
"disableHostCheck" : true, //
"proxy" : {
"/watch" : {
"target" : "https://test.sc2.agrimedia.cn",
"target" : "https://ai.agrimedia.cn",
"changeOrigin" : true,
"secure" : false
}

File diff suppressed because one or more lines are too long

View File

@ -10421,20 +10421,24 @@ var render = function () {
"uni-popup",
{ ref: "popup", attrs: { _i: 1 } },
[
_vm._$g(2, "i")
? _c(
_c(
"uni-view",
{ staticClass: _vm._$g(2, "sc"), attrs: { _i: 2 } },
[
_vm._$g(3, "i")
? _c(
"uni-view",
{ staticClass: _vm._$g(3, "sc"), attrs: { _i: 3 } },
[
_c(
"uni-view",
{ attrs: { _i: 3 } },
{ staticClass: _vm._$g(4, "sc"), attrs: { _i: 4 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(4, "sc"),
attrs: { _i: 4 },
staticClass: _vm._$g(5, "sc"),
attrs: { _i: 5 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
@ -10445,24 +10449,24 @@ var render = function () {
),
_c(
"uni-view",
{ staticClass: _vm._$g(5, "sc"), attrs: { _i: 5 } },
{ staticClass: _vm._$g(6, "sc"), attrs: { _i: 6 } },
[
_c(
"v-uni-scroll-view",
{
staticClass: _vm._$g(6, "sc"),
staticClass: _vm._$g(7, "sc"),
attrs: {
"scroll-x": true,
"show-scrollbar": true,
_i: 6,
_i: 7,
},
},
[
_c(
"uni-view",
{
staticClass: _vm._$g(7, "sc"),
attrs: { _i: 7 },
staticClass: _vm._$g(8, "sc"),
attrs: { _i: 8 },
},
[
_c("v-uni-canvas", {
@ -10470,7 +10474,7 @@ var render = function () {
width: "3000px",
height: "300px",
},
attrs: { "canvas-id": "ecg", _i: 8 },
attrs: { "canvas-id": "ecg", _i: 9 },
}),
],
1
@ -10478,9 +10482,9 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(9, "sc"),
style: _vm._$g(9, "s"),
attrs: { _i: 9 },
staticClass: _vm._$g(10, "sc"),
style: _vm._$g(10, "s"),
attrs: { _i: 10 },
},
[
_c("v-uni-canvas", {
@ -10488,7 +10492,10 @@ var render = function () {
width: "3000px",
height: "300px",
},
attrs: { "canvas-id": "myCanvas", _i: 10 },
attrs: {
"canvas-id": "myCanvas",
_i: 11,
},
}),
],
1
@ -10499,16 +10506,19 @@ var render = function () {
],
1
),
_c(
"uni-view",
{ staticClass: _vm._$g(11, "sc"), attrs: { _i: 11 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(12, "sc"),
attrs: { _i: 12 },
},
[
_c(
"uni-view",
{
staticClass: _vm._$g(13, "sc"),
attrs: { _i: 13 },
},
[
_c(
"uni-view",
@ -10517,15 +10527,15 @@ var render = function () {
"margin-top": "10rpx",
"margin-right": "10rpx",
},
attrs: { _i: 13 },
attrs: { _i: 14 },
},
[
_c("v-uni-image", {
staticStyle: { width: "40rpx" },
attrs: {
src: _vm._$g(14, "a-src"),
src: _vm._$g(15, "a-src"),
mode: "widthFix",
_i: 14,
_i: 15,
},
}),
],
@ -10535,7 +10545,7 @@ var render = function () {
"uni-view",
{
staticStyle: { color: "red" },
attrs: { _i: 15 },
attrs: { _i: 16 },
},
[_vm._v("心率")]
),
@ -10545,40 +10555,28 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(16, "sc"),
attrs: { _i: 16 },
staticClass: _vm._$g(17, "sc"),
attrs: { _i: 17 },
},
[
_vm._l(
_vm._$g(17, "f"),
_vm._$g(18, "f"),
function (item, index, $20, $30) {
return _c(
"uni-view",
{
key: item,
staticClass: _vm._$g("17-" + $30, "sc"),
attrs: { _i: "17-" + $30 },
staticClass: _vm._$g(
"18-" + $30,
"sc"
),
attrs: { _i: "18-" + $30 },
},
[
_c(
"uni-view",
{ attrs: { _i: "18-" + $30 } },
{ attrs: { _i: "19-" + $30 } },
[
_c(
"span",
{
staticClass: _vm._$g(
"19-" + $30,
"sc"
),
attrs: { _i: "19-" + $30 },
},
[
_vm._v(
_vm._$g("19-" + $30, "t0-0")
),
]
),
_c(
"span",
{
@ -10594,11 +10592,8 @@ var render = function () {
),
]
),
],
1
),
_c(
"uni-view",
"span",
{
staticClass: _vm._$g(
"21-" + $30,
@ -10606,10 +10601,16 @@ var render = function () {
),
attrs: { _i: "21-" + $30 },
},
[_vm._v(_vm._$g("21-" + $30, "t0-0"))]
[
_vm._v(
_vm._$g("21-" + $30, "t0-0")
),
_vm._$g("22-" + $30, "i")
? _c(
]
),
],
1
),
_c(
"uni-view",
{
staticClass: _vm._$g(
@ -10623,6 +10624,22 @@ var render = function () {
_vm._$g("22-" + $30, "t0-0")
),
]
),
_vm._$g("23-" + $30, "i")
? _c(
"uni-view",
{
staticClass: _vm._$g(
"23-" + $30,
"sc"
),
attrs: { _i: "23-" + $30 },
},
[
_vm._v(
_vm._$g("23-" + $30, "t0-0")
),
]
)
: _vm._e(),
],
@ -10631,35 +10648,23 @@ var render = function () {
}
),
_vm._l(
_vm._$g(23, "f"),
_vm._$g(24, "f"),
function (item, index, $21, $31) {
return _c(
"uni-view",
{
key: item,
staticClass: _vm._$g("23-" + $31, "sc"),
attrs: { _i: "23-" + $31 },
staticClass: _vm._$g(
"24-" + $31,
"sc"
),
attrs: { _i: "24-" + $31 },
},
[
_c(
"uni-view",
{ attrs: { _i: "24-" + $31 } },
{ attrs: { _i: "25-" + $31 } },
[
_c(
"span",
{
staticClass: _vm._$g(
"25-" + $31,
"sc"
),
attrs: { _i: "25-" + $31 },
},
[
_vm._v(
_vm._$g("25-" + $31, "t0-0")
),
]
),
_c(
"span",
{
@ -10675,11 +10680,8 @@ var render = function () {
),
]
),
],
1
),
_c(
"uni-view",
"span",
{
staticClass: _vm._$g(
"27-" + $31,
@ -10687,10 +10689,16 @@ var render = function () {
),
attrs: { _i: "27-" + $31 },
},
[_vm._v(_vm._$g("27-" + $31, "t0-0"))]
[
_vm._v(
_vm._$g("27-" + $31, "t0-0")
),
_vm._$g("28-" + $31, "i")
? _c(
]
),
],
1
),
_c(
"uni-view",
{
staticClass: _vm._$g(
@ -10704,6 +10712,22 @@ var render = function () {
_vm._$g("28-" + $31, "t0-0")
),
]
),
_vm._$g("29-" + $31, "i")
? _c(
"uni-view",
{
staticClass: _vm._$g(
"29-" + $31,
"sc"
),
attrs: { _i: "29-" + $31 },
},
[
_vm._v(
_vm._$g("29-" + $31, "t0-0")
),
]
)
: _vm._e(),
],
@ -10719,13 +10743,16 @@ var render = function () {
),
_c(
"uni-view",
{ staticClass: _vm._$g(29, "sc"), attrs: { _i: 29 } },
{
staticClass: _vm._$g(30, "sc"),
attrs: { _i: 30 },
},
[
_c(
"uni-view",
{
staticClass: _vm._$g(30, "sc"),
attrs: { _i: 30 },
staticClass: _vm._$g(31, "sc"),
attrs: { _i: 31 },
},
[
_c(
@ -10735,15 +10762,15 @@ var render = function () {
"margin-top": "10rpx",
"margin-right": "10rpx",
},
attrs: { _i: 31 },
attrs: { _i: 32 },
},
[
_c("v-uni-image", {
staticStyle: { width: "40rpx" },
attrs: {
src: _vm._$g(32, "a-src"),
src: _vm._$g(33, "a-src"),
mode: "widthFix",
_i: 32,
_i: 33,
},
}),
],
@ -10753,7 +10780,7 @@ var render = function () {
"uni-view",
{
staticStyle: { color: "red" },
attrs: { _i: 33 },
attrs: { _i: 34 },
},
[_vm._v("心率变异性")]
),
@ -10762,27 +10789,30 @@ var render = function () {
),
_c(
"uni-view",
{ attrs: { _i: 34 } },
{ attrs: { _i: 35 } },
[
_c("xdt", { attrs: { _i: 35 } }),
_c("xdt", { attrs: { _i: 36 } }),
_c("xdt", { attrs: { _i: 37 } }),
_c("xdt", { attrs: { _i: 38 } }),
],
1
),
],
1
),
_c(
"uni-view",
{ staticClass: _vm._$g(38, "sc"), attrs: { _i: 38 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(39, "sc"),
attrs: { _i: 39 },
},
[
_c(
"uni-view",
{
staticClass: _vm._$g(40, "sc"),
attrs: { _i: 40 },
},
[
_c(
"uni-view",
@ -10791,15 +10821,15 @@ var render = function () {
"margin-top": "10rpx",
"margin-right": "10rpx",
},
attrs: { _i: 40 },
attrs: { _i: 41 },
},
[
_c("v-uni-image", {
staticStyle: { width: "40rpx" },
attrs: {
src: _vm._$g(41, "a-src"),
src: _vm._$g(42, "a-src"),
mode: "widthFix",
_i: 41,
_i: 42,
},
}),
],
@ -10809,7 +10839,7 @@ var render = function () {
"uni-view",
{
staticStyle: { color: "red" },
attrs: { _i: 42 },
attrs: { _i: 43 },
},
[_vm._v("心电图")]
),
@ -10818,14 +10848,14 @@ var render = function () {
),
_c(
"uni-view",
{ attrs: { _i: 43 } },
{ attrs: { _i: 44 } },
[
_c("xdt", { attrs: { _i: 44 } }),
_c("xdt", { attrs: { _i: 45 } }),
_c("xdt", { attrs: { _i: 46 } }),
_c("xdt", { attrs: { _i: 47 } }),
_c("xdt", { attrs: { _i: 48 } }),
_c("xdt", { attrs: { _i: 49 } }),
_c("xdt", { attrs: { _i: 50 } }),
],
1
),
@ -10834,7 +10864,7 @@ var render = function () {
),
_c("uni-view", {
staticStyle: { height: "20rpx" },
attrs: { _i: 50 },
attrs: { _i: 51 },
}),
],
1
@ -10843,20 +10873,20 @@ var render = function () {
1
)
: _vm._e(),
_vm._$g(51, "i")
_vm._$g(52, "i")
? _c(
"uni-view",
{ staticClass: _vm._$g(51, "sc"), attrs: { _i: 51 } },
{ staticClass: _vm._$g(52, "sc"), attrs: { _i: 52 } },
[
_c(
"uni-view",
{ attrs: { _i: 52 } },
{ staticClass: _vm._$g(53, "sc"), attrs: { _i: 53 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(53, "sc"),
attrs: { _i: 53 },
staticClass: _vm._$g(54, "sc"),
attrs: { _i: 54 },
on: {
click: function ($event) {
return _vm.$handleViewEvent($event)
@ -10867,37 +10897,37 @@ var render = function () {
),
_c(
"uni-view",
{ attrs: { _i: 54 } },
{ attrs: { _i: 55 } },
[
_c(
"uni-view",
{
staticClass: _vm._$g(55, "sc"),
staticClass: _vm._$g(56, "sc"),
staticStyle: {
"background-color": "#fff",
padding: "30rpx 0 0 30rpx",
},
attrs: { _i: 55 },
attrs: { _i: 56 },
},
[
_c(
"uni-view",
{ attrs: { _i: 56 } },
{ attrs: { _i: 57 } },
[
_c("v-uni-text", {
staticClass: _vm._$g(57, "sc"),
style: _vm._$g(57, "s"),
attrs: { _i: 57 },
staticClass: _vm._$g(58, "sc"),
style: _vm._$g(58, "s"),
attrs: { _i: 58 },
}),
],
1
),
_c(
"uni-view",
{ attrs: { _i: 58 } },
{ attrs: { _i: 59 } },
[
_c("v-uni-text", { attrs: { _i: 59 } }, [
_vm._v(_vm._$g(59, "t0-0")),
_c("v-uni-text", { attrs: { _i: 60 } }, [
_vm._v(_vm._$g(60, "t0-0")),
]),
],
1
@ -10909,24 +10939,17 @@ var render = function () {
"uni-view",
{
staticStyle: { position: "relative" },
attrs: { _i: 60 },
attrs: { _i: 61 },
},
[
_c("v-uni-image", {
staticStyle: { width: "100%" },
attrs: {
src: _vm._$g(61, "a-src"),
src: _vm._$g(62, "a-src"),
mode: "widthFix",
_i: 61,
_i: 62,
},
}),
_c(
"uni-view",
{
staticClass: _vm._$g(62, "sc"),
attrs: { _i: 62 },
},
[
_c(
"uni-view",
{
@ -10947,26 +10970,28 @@ var render = function () {
staticClass: _vm._$g(65, "sc"),
attrs: { _i: 65 },
},
[_vm._v(_vm._$g(65, "t0-0"))]
),
[
_c(
"uni-view",
{
staticClass: _vm._$g(66, "sc"),
staticClass: _vm._$g(
66,
"sc"
),
attrs: { _i: 66 },
},
[_vm._v("千卡")]
),
],
1
[_vm._v(_vm._$g(66, "t0-0"))]
),
_c(
"uni-view",
{
staticClass: _vm._$g(67, "sc"),
staticClass: _vm._$g(
67,
"sc"
),
attrs: { _i: 67 },
},
[_vm._v("基础代谢")]
[_vm._v("千卡")]
),
],
1
@ -10977,7 +11002,11 @@ var render = function () {
staticClass: _vm._$g(68, "sc"),
attrs: { _i: 68 },
},
[
[_vm._v("基础代谢")]
),
],
1
),
_c(
"uni-view",
{
@ -10991,26 +11020,28 @@ var render = function () {
staticClass: _vm._$g(70, "sc"),
attrs: { _i: 70 },
},
[_vm._v(_vm._$g(70, "t0-0"))]
),
[
_c(
"uni-view",
{
staticClass: _vm._$g(71, "sc"),
staticClass: _vm._$g(
71,
"sc"
),
attrs: { _i: 71 },
},
[_vm._v("千克")]
),
],
1
[_vm._v(_vm._$g(71, "t0-0"))]
),
_c(
"uni-view",
{
staticClass: _vm._$g(72, "sc"),
staticClass: _vm._$g(
72,
"sc"
),
attrs: { _i: 72 },
},
[_vm._v("骨重")]
[_vm._v("千克")]
),
],
1
@ -11021,7 +11052,11 @@ var render = function () {
staticClass: _vm._$g(73, "sc"),
attrs: { _i: 73 },
},
[
[_vm._v("骨重")]
),
],
1
),
_c(
"uni-view",
{
@ -11035,29 +11070,28 @@ var render = function () {
staticClass: _vm._$g(75, "sc"),
attrs: { _i: 75 },
},
[_vm._v(_vm._$g(75, "t0-0"))]
),
[
_c(
"uni-view",
{
staticClass: _vm._$g(76, "sc"),
staticClass: _vm._$g(
76,
"sc"
),
attrs: { _i: 76 },
},
[_vm._v("千克")]
),
],
1
[_vm._v(_vm._$g(76, "t0-0"))]
),
_c(
"uni-view",
{
staticClass: _vm._$g(77, "sc"),
staticClass: _vm._$g(
77,
"sc"
),
attrs: { _i: 77 },
},
[_vm._v("水分")]
),
],
1
[_vm._v("千克")]
),
],
1
@ -11068,7 +11102,14 @@ var render = function () {
staticClass: _vm._$g(78, "sc"),
attrs: { _i: 78 },
},
[
[_vm._v("水分")]
),
],
1
),
],
1
),
_c(
"uni-view",
{
@ -11089,13 +11130,26 @@ var render = function () {
staticClass: _vm._$g(81, "sc"),
attrs: { _i: 81 },
},
[_vm._v(_vm._$g(81, "t0-0"))]
[
_c(
"uni-view",
{
staticClass: _vm._$g(
82,
"sc"
),
attrs: { _i: 82 },
},
[_vm._v(_vm._$g(82, "t0-0"))]
),
_c(
"uni-view",
{
staticClass: _vm._$g(82, "sc"),
attrs: { _i: 82 },
staticClass: _vm._$g(
83,
"sc"
),
attrs: { _i: 83 },
},
[_vm._v("千克")]
),
@ -11105,8 +11159,8 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(83, "sc"),
attrs: { _i: 83 },
staticClass: _vm._$g(84, "sc"),
attrs: { _i: 84 },
},
[_vm._v("脂肪")]
),
@ -11116,18 +11170,11 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(84, "sc"),
staticClass: _vm._$g(85, "sc"),
staticStyle: {
"margin-bottom": "0",
"margin-top": "174rpx",
},
attrs: { _i: 84 },
},
[
_c(
"uni-view",
{
staticClass: _vm._$g(85, "sc"),
attrs: { _i: 85 },
},
[
@ -11137,13 +11184,26 @@ var render = function () {
staticClass: _vm._$g(86, "sc"),
attrs: { _i: 86 },
},
[_vm._v(_vm._$g(86, "t0-0"))]
[
_c(
"uni-view",
{
staticClass: _vm._$g(
87,
"sc"
),
attrs: { _i: 87 },
},
[_vm._v(_vm._$g(87, "t0-0"))]
),
_c(
"uni-view",
{
staticClass: _vm._$g(87, "sc"),
attrs: { _i: 87 },
staticClass: _vm._$g(
88,
"sc"
),
attrs: { _i: 88 },
},
[_vm._v("千克")]
),
@ -11153,8 +11213,8 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(88, "sc"),
attrs: { _i: 88 },
staticClass: _vm._$g(89, "sc"),
attrs: { _i: 89 },
},
[_vm._v("蛋白质")]
),
@ -11167,14 +11227,14 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(89, "sc"),
attrs: { _i: 89 },
staticClass: _vm._$g(90, "sc"),
attrs: { _i: 90 },
},
[
_vm._v(
_vm._$g(89, "t0-0") +
_vm._$g(90, "t0-0") +
"性," +
_vm._$g(89, "t0-1") +
_vm._$g(90, "t0-1") +
"千克"
),
]
@ -11182,10 +11242,10 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(90, "sc"),
attrs: { _i: 90 },
staticClass: _vm._$g(91, "sc"),
attrs: { _i: 91 },
},
[_vm._v(_vm._$g(90, "t0-0") + "厘米")]
[_vm._v(_vm._$g(91, "t0-0") + "厘米")]
),
],
1
@ -11193,34 +11253,40 @@ var render = function () {
_c(
"uni-view",
{
staticClass: _vm._$g(91, "sc"),
staticStyle: { padding: "0", margin: "30rpx" },
attrs: { _i: 91 },
staticClass: _vm._$g(92, "sc"),
staticStyle: {
padding: "0",
margin: "30rpx",
},
_vm._l(_vm._$g(92, "f"), function (v, i, $22, $32) {
attrs: { _i: 92 },
},
_vm._l(
_vm._$g(93, "f"),
function (v, i, $22, $32) {
return _c(
"uni-view",
{ key: v, attrs: { _i: "92-" + $32 } },
{ key: v, attrs: { _i: "93-" + $32 } },
[
_c("body_info_components", {
attrs: { _i: "93-" + $32 },
attrs: { _i: "94-" + $32 },
}),
],
1
)
}),
}
),
1
),
_c("uni-view", {
staticStyle: { height: "40rpx" },
attrs: { _i: 94 },
attrs: { _i: 95 },
}),
],
1
),
_c("uni-view", {
staticStyle: { height: "20rpx" },
attrs: { _i: 95 },
attrs: { _i: 96 },
}),
],
1
@ -11234,6 +11300,9 @@ var render = function () {
),
],
1
),
],
1
)
}
var recyclableRender = false
@ -12391,7 +12460,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 13);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.end[data-v-0b42eb78] {\n text-align: center;\n margin-top: 50rpx;\n margin-bottom: 100rpx;\n opacity: .5;\n}\n.pop-close[data-v-0b42eb78] {\n display: flex;\n flex-direction: row-reverse;\n font-size: 100rpx;\n padding-right: 50rpx;\n}\n.pop-main[data-v-0b42eb78] {\n width: 100%;\n height: 100vh;\n background-color: #fff;\n overflow-y: scroll;\n}\n.box1[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.box2[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.myScoll[data-v-0b42eb78] {\n width: 100%;\n height: 396rpx;\n white-space: nowrap;\n position: relative;\n}\n.list[data-v-0b42eb78] {\n background-color: #fff;\n overflow: hidden;\n padding: 30rpx;\n margin: 30rpx 30rpx;\n border-radius: 30rpx;\n}\n.dxxl[data-v-0b42eb78] {\n background-color: #fff;\n padding: 20rpx;\n padding-top: 40rpx;\n}\n.sl_box[data-v-0b42eb78] {\n text-align: center;\n}\n.sl_box .all[data-v-0b42eb78] {\n width: calc(100% / 3);\n margin-top: 40rpx;\n}\n.sl_box .sl_box_cankao[data-v-0b42eb78],\n.sl_box .sl_box_desc[data-v-0b42eb78] {\n font-size: 24rpx;\n color: #999;\n}\n.sl_box .sl_box_unit[data-v-0b42eb78] {\n font-size: 26rpx;\n}\n.sl_box .sl_box_wz[data-v-0b42eb78] {\n margin-right: 10rpx;\n font-size: 30rpx;\n font-weight: bold;\n}\n", ""]);
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.end[data-v-0b42eb78] {\n text-align: center;\n margin-top: 50rpx;\n margin-bottom: 100rpx;\n opacity: .5;\n}\n.pop-close[data-v-0b42eb78] {\n display: flex;\n flex-direction: row-reverse;\n font-size: 100rpx;\n padding-right: 50rpx;\n}\n.pop-main[data-v-0b42eb78] {\n width: 100%;\n height: 100vh;\n background-color: #fff;\n overflow-y: scroll;\n padding: 50rpx;\n}\n.pops[data-v-0b42eb78] {\n border: 1rpx solid gray;\n border-radius: 20rpx;\n margin: 50rpx;\n margin-top: 100rpx;\n}\n.box1[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.box2[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.myScoll[data-v-0b42eb78] {\n width: 100%;\n height: 396rpx;\n white-space: nowrap;\n position: relative;\n}\n.list[data-v-0b42eb78] {\n background-color: #fff;\n overflow: hidden;\n padding: 30rpx;\n margin: 30rpx 30rpx;\n border-radius: 30rpx;\n}\n.dxxl[data-v-0b42eb78] {\n background-color: #fff;\n padding: 20rpx;\n padding-top: 40rpx;\n}\n.sl_box[data-v-0b42eb78] {\n text-align: center;\n}\n.sl_box .all[data-v-0b42eb78] {\n width: calc(100% / 3);\n margin-top: 40rpx;\n}\n.sl_box .sl_box_cankao[data-v-0b42eb78],\n.sl_box .sl_box_desc[data-v-0b42eb78] {\n font-size: 24rpx;\n color: #999;\n}\n.sl_box .sl_box_unit[data-v-0b42eb78] {\n font-size: 26rpx;\n}\n.sl_box .sl_box_wz[data-v-0b42eb78] {\n margin-right: 10rpx;\n font-size: 30rpx;\n font-weight: bold;\n}\n", ""]);
// Exports
module.exports = exports;
@ -12444,7 +12513,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 13);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.end[data-v-0b42eb78] {\n text-align: center;\n margin-top: 50rpx;\n margin-bottom: 100rpx;\n opacity: .5;\n}\n.pop-close[data-v-0b42eb78] {\n display: flex;\n flex-direction: row-reverse;\n font-size: 100rpx;\n padding-right: 50rpx;\n}\n.pop-main[data-v-0b42eb78] {\n width: 60%;\n height: 100vh;\n background-color: #fff;\n overflow-y: scroll;\n}\n.box1[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.box2[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.myScoll[data-v-0b42eb78] {\n width: 100%;\n height: 396rpx;\n white-space: nowrap;\n position: relative;\n}\n.list[data-v-0b42eb78] {\n background-color: #fff;\n overflow: hidden;\n padding: 30rpx;\n margin: 30rpx 30rpx;\n border-radius: 30rpx;\n}\n.dxxl[data-v-0b42eb78] {\n background-color: #fff;\n padding: 20rpx;\n padding-top: 40rpx;\n}\n.sl_box[data-v-0b42eb78] {\n text-align: center;\n}\n.sl_box .all[data-v-0b42eb78] {\n width: calc(100% / 3);\n margin-top: 40rpx;\n}\n.sl_box .sl_box_cankao[data-v-0b42eb78],\n.sl_box .sl_box_desc[data-v-0b42eb78] {\n font-size: 24rpx;\n color: #999;\n}\n.sl_box .sl_box_unit[data-v-0b42eb78] {\n font-size: 26rpx;\n}\n.sl_box .sl_box_wz[data-v-0b42eb78] {\n margin-right: 10rpx;\n font-size: 30rpx;\n font-weight: bold;\n}\n", ""]);
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.end[data-v-0b42eb78] {\n text-align: center;\n margin-top: 50rpx;\n margin-bottom: 100rpx;\n opacity: .5;\n}\n.pop-close[data-v-0b42eb78] {\n display: flex;\n flex-direction: row-reverse;\n font-size: 100rpx;\n padding-right: 50rpx;\n margin-top: 50rpx;\n}\n.pop-main[data-v-0b42eb78] {\n width: 60%;\n height: 100vh;\n background-color: #fff;\n overflow-y: scroll;\n}\n.box1[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.box2[data-v-0b42eb78] {\n position: absolute;\n left: 0px;\n width: 3000rpx;\n}\n.myScoll[data-v-0b42eb78] {\n width: 100%;\n height: 396rpx;\n white-space: nowrap;\n position: relative;\n}\n.list[data-v-0b42eb78] {\n background-color: #fff;\n overflow: hidden;\n padding: 30rpx;\n margin: 30rpx 30rpx;\n border-radius: 30rpx;\n}\n.dxxl[data-v-0b42eb78] {\n background-color: #fff;\n padding: 20rpx;\n padding-top: 40rpx;\n}\n.sl_box[data-v-0b42eb78] {\n text-align: center;\n}\n.sl_box .all[data-v-0b42eb78] {\n width: calc(100% / 3);\n margin-top: 40rpx;\n}\n.sl_box .sl_box_cankao[data-v-0b42eb78],\n.sl_box .sl_box_desc[data-v-0b42eb78] {\n font-size: 24rpx;\n color: #999;\n}\n.sl_box .sl_box_unit[data-v-0b42eb78] {\n font-size: 26rpx;\n}\n.sl_box .sl_box_wz[data-v-0b42eb78] {\n margin-right: 10rpx;\n font-size: 30rpx;\n font-weight: bold;\n}\n", ""]);
// Exports
module.exports = exports;
@ -12591,7 +12660,7 @@ if(false) {}
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/runtime/api.js */ 13);
exports = ___CSS_LOADER_API_IMPORT___(false);
// Module
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.end[data-v-88422a78] {\n text-align: center;\n margin-top: 50rpx;\n margin-bottom: 100rpx;\n opacity: .5;\n}\n.bloodl_box[data-v-88422a78] {\n margin-top: 30rpx;\n padding: 0 40rpx;\n}\n.bloodl_box .name[data-v-88422a78] {\n font-size: 24rpx;\n color: #999;\n}\n.bloodl_box .yuan[data-v-88422a78] {\n width: 14rpx;\n height: 14rpx;\n border-radius: 50%;\n margin-right: 10rpx;\n}\n.content[data-v-88422a78] {\n margin: 0rpx 100rpx;\n}\n.content .over[data-v-88422a78] {\n margin: 0rpx 30rpx;\n background-color: #fff;\n padding: 30rpx;\n border-radius: 20rpx;\n font-weight: 800;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 20rpx;\n}\n.content .time[data-v-88422a78] {\n width: 100%;\n margin-bottom: 100rpx;\n}\n.content .list[data-v-88422a78] {\n background-color: #fff;\n overflow: hidden;\n padding: 30rpx;\n margin: 30rpx 30rpx;\n border-radius: 30rpx;\n}\n.content .list .row[data-v-88422a78] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.content .list .data[data-v-88422a78] {\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: 36rpx;\n width: 900rpx;\n}\n.content .list .data uni-image[data-v-88422a78] {\n width: 50rpx;\n}\n.content .list .time[data-v-88422a78] {\n font-weight: 300;\n font-size: 24rpx;\n}\n", ""]);
exports.push([module.i, "@charset \"UTF-8\";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n.end[data-v-88422a78] {\n text-align: center;\n margin-top: 50rpx;\n margin-bottom: 100rpx;\n opacity: .5;\n}\n.bloodl_box[data-v-88422a78] {\n margin-top: 50rpx;\n padding: 0 40rpx;\n}\n.bloodl_box .name[data-v-88422a78] {\n font-size: 24rpx;\n color: #999;\n}\n.bloodl_box .yuan[data-v-88422a78] {\n width: 14rpx;\n height: 14rpx;\n border-radius: 50%;\n margin-right: 10rpx;\n}\n.content[data-v-88422a78] {\n margin: 0rpx 100rpx;\n}\n.content .over[data-v-88422a78] {\n margin: 0rpx 30rpx;\n background-color: #fff;\n padding: 30rpx;\n border-radius: 20rpx;\n font-weight: 800;\n display: flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 20rpx;\n}\n.content .time[data-v-88422a78] {\n width: 100%;\n}\n.content .list[data-v-88422a78] {\n background-color: #fff;\n overflow: hidden;\n padding: 30rpx;\n margin: 30rpx 30rpx;\n border-radius: 30rpx;\n}\n.content .list .row[data-v-88422a78] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.content .list .data[data-v-88422a78] {\n display: flex;\n align-items: center;\n font-weight: 500;\n font-size: 36rpx;\n width: 900rpx;\n}\n.content .list .data uni-image[data-v-88422a78] {\n width: 50rpx;\n}\n.content .list .time[data-v-88422a78] {\n font-weight: 300;\n font-size: 24rpx;\n}\n", ""]);
// Exports
module.exports = exports;

View File

@ -46,22 +46,37 @@
<!-- 录制 -->
<div class="buttons startRec">点击说话</div>
<!-- 录制中 -->
<!-- <div class="buttons runRec">暂停</div> -->
<!-- 停止 -->
<div class="buttons endRec">停止</div>
</div>
<!-- 讯飞测试 -->
<div class="voice">
<div class="voice-box scroll-text">
<input class="voice-input" type="search" name="voice" id="voice-txt" style="pointer-events: none" value="我是您的健康助手, 请问您有什么帮助吗?"/>
<div id="marquee">
<span id="voice-txt">我是您的健康助手, 请问您有什么帮助吗?</span>
</div>
</div>
</div>
</div>
<script type="text/javascript">
marquee("marquee", "voice-txt");
function marquee(p, s) {
var scrollWidth = document.getElementById(p).offsetWidth;
var textWidth = document.getElementById(s).offsetWidth;
var i = scrollWidth;
console.log(scrollWidth, textWidth);
function change() {
i--;
if (i < -textWidth) {
i = scrollWidth;
}
document.getElementById(s).style.left = i + "px";
window.requestAnimationFrame(change);
}
window.requestAnimationFrame(change);
}
</script>
<script>
var Items = ['血糖', '睡眠', '血氧', '血压', '尿酸', '梅拖', '心率', '体温', '心电图', '身体成份', '运动', '血脂'];
var Question = '';
@ -147,11 +162,6 @@
const speakingTimeInSeconds = speakingTime * 60;
return speakingTimeInSeconds;
}
// 映射的字段
function Reflection(str) {
}
</script>
<!-- 讯飞语音识别 -->
@ -281,7 +291,9 @@
onTextChange: function (text) {
// 监听识别结果的变化
voiceTxt.value = text;
voiceTxt.innerText = text;
marquee("marquee", "voice-txt");
statusTxt.value = '正在听…';
// 3秒钟内没有说话就自动关闭
@ -308,6 +320,8 @@
var QSindex = containsKeywordRegex(params.msg);
Question = `请模仿全科医生的口吻与我: ${user}对话,我最近测量的${result.dataKey}数据为${JSON.stringify(TargetData)},data_msg为值hour_minute为检测时间 #限制回复用户的内容中不要出现Null。#限制:回复不要带英文,要都转化成汉语。#限制监测结果为Null的数据不做分析回复。`
console.log('指定问题', Question)
/*
* 调用接口 传递关键信息 文字转语音
*/
@ -358,6 +372,10 @@
startRec.style.display = "none";
endRec.style.display = "block";
// 字幕文字
voiceTxt.innerText = filterString(str.output.text, ['*', ' ']);
marquee("marquee", "voice-txt");
// 设置音频源
audioElement.src = blobUrl;
@ -442,7 +460,8 @@
endRec.style.display = "block";
// 字幕文字
voiceTxt.value = filterString(str.output.text, ['*', ' ']);
voiceTxt.innerText = filterString(str.output.text, ['*', ' ']);
marquee("marquee", "voice-txt");
// 设置音频源
audioElement.src = blobUrl;
@ -454,7 +473,7 @@
replayVideoSegment(60, 120);
// 计算所需时间
const speakingTime = calculateSpeakingTime(voiceTxt.value);
const speakingTime = calculateSpeakingTime(voiceTxt.innerText);
// 开始倒计时
var totalTime = speakingTime;
@ -507,7 +526,7 @@
// 开始识别
startRec.addEventListener("click", function() {
/**开始识别**/
voiceTxt.value = '';
voiceTxt.innerText = '';
voice.start();
isCallbackExecuted = false;
@ -526,7 +545,7 @@
// 关闭识别
endRec.addEventListener("click", function() {
/**关闭识别**/
voiceTxt.value = '';
voiceTxt.innerText = '';
statusTxt.value = '';
voice.stop();
@ -615,7 +634,7 @@
const blobUrl = URL.createObjectURL(blob);
// 字幕文字
voiceTxt.value = str;
voiceTxt.innerText = str;
// 设置音频源
audioElement.src = blobUrl;
@ -963,20 +982,27 @@
width: 100%;
/* background-color: #000; */
}
.voice-box {
#marquee {
display: block;
width: 100%;
animation: textRoll linear 10s infinite; // 文字滚动动画
white-space: nowrap; // 文字不换行
height: 60px;
margin: 0 auto;
position: relative;
overflow: hidden;
}
@keyframes textRoll {
0% {
transform: translateX(100%);
}
100% {
transform: translateX(-100%);
}
#voice-txt {
position: absolute;
top: 0;
left: 100%;
line-height: 60px;
font-size:29px;
color: #fff;
display: block;
word-break: keep-all;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>