@@ -1,74 +1,73 @@ | |||
"use strict"; | |||
Object.defineProperty(exports, "__esModule", { value: true }); | |||
Object.defineProperty(exports, "__esModule", { | |||
value: true | |||
}); | |||
exports.EventBus = exports.throttle = exports.formatSeconds = void 0; | |||
function formatSeconds(seconds) { | |||
var result = typeof seconds === "string" ? parseFloat(seconds) : seconds; | |||
if (isNaN(result)) | |||
return ""; | |||
let h = Math.floor(result / 3600) < 10 | |||
? "0" + Math.floor(result / 3600) | |||
: Math.floor(result / 3600); | |||
let m = Math.floor((result / 60) % 60) < 10 | |||
? "0" + Math.floor((result / 60) % 60) | |||
: Math.floor((result / 60) % 60) + h * 60; | |||
let s = Math.floor(result % 60) < 10 | |||
? "0" + Math.floor(result % 60) | |||
: Math.floor(result % 60); | |||
return `${m}:${s}`; | |||
var result = typeof seconds === "string" ? parseFloat(seconds) : seconds; | |||
if (isNaN(result)) return ""; | |||
let h = Math.floor(result / 3600) < 10 ? "0" + Math.floor(result / 3600) : Math.floor(result / 3600); | |||
let m = Math.floor((result / 60) % 60) < 10 ? "0" + Math.floor((result / 60) % 60) : Math.floor((result / 60) % 60); | |||
let s = Math.floor(result % 60) < 10 ? "0" + Math.floor(result % 60) : Math.floor(result % 60); | |||
return `${h}:${m}:${s}`; | |||
//time为毫秒数 | |||
} | |||
exports.formatSeconds = formatSeconds; | |||
function throttle(fn, wait) { | |||
let previous = 0; | |||
return function (...arg) { | |||
let context = this; | |||
let now = Date.now(); | |||
//每隔一段时间执行一次; | |||
if (now - previous > wait) { | |||
fn.apply(context, arg); | |||
previous = now; | |||
} | |||
}; | |||
let previous = 0; | |||
return function(...arg) { | |||
let context = this; | |||
let now = Date.now(); | |||
//每隔一段时间执行一次; | |||
if (now - previous > wait) { | |||
fn.apply(context, arg); | |||
previous = now; | |||
} | |||
}; | |||
} | |||
exports.throttle = throttle; | |||
class EventBus { | |||
constructor() { | |||
this._events = new Map(); | |||
} | |||
on(event, action, fn) { | |||
let arr = this._events.get(event); | |||
let hasAction = arr | |||
? arr.findIndex((i) => i.action == action) | |||
: -1; | |||
if (hasAction > -1) { | |||
return; | |||
} | |||
this._events.set(event, [ | |||
...(this._events.get(event) || []), | |||
{ | |||
action, | |||
fn, | |||
}, | |||
]); | |||
} | |||
has(event) { | |||
return this._events.has(event); | |||
} | |||
emit(event, data) { | |||
if (!this.has(event)) { | |||
return; | |||
} | |||
let arr = this._events.get(event); | |||
arr.forEach((i) => { | |||
i.fn(data); | |||
}); | |||
} | |||
off(event, action) { | |||
if (!this.has(event)) { | |||
return; | |||
} | |||
let arr = this._events.get(event); | |||
let newdata = arr.filter((i) => i.action !== action); | |||
this._events.set(event, [...newdata]); | |||
} | |||
constructor() { | |||
this._events = new Map(); | |||
} | |||
on(event, action, fn) { | |||
let arr = this._events.get(event); | |||
let hasAction = arr ? | |||
arr.findIndex((i) => i.action == action) : | |||
-1; | |||
if (hasAction > -1) { | |||
return; | |||
} | |||
this._events.set(event, [ | |||
...(this._events.get(event) || []), | |||
{ | |||
action, | |||
fn, | |||
}, | |||
]); | |||
} | |||
has(event) { | |||
return this._events.has(event); | |||
} | |||
emit(event, data) { | |||
if (!this.has(event)) { | |||
return; | |||
} | |||
let arr = this._events.get(event); | |||
arr.forEach((i) => { | |||
i.fn(data); | |||
}); | |||
} | |||
off(event, action) { | |||
if (!this.has(event)) { | |||
return; | |||
} | |||
let arr = this._events.get(event); | |||
let newdata = arr.filter((i) => i.action !== action); | |||
this._events.set(event, [...newdata]); | |||
} | |||
} | |||
exports.EventBus = EventBus; |
@@ -89,8 +89,8 @@ class ZAudio extends util_1.EventBus { | |||
this.renderIndex = 0; | |||
this.audiolist = []; | |||
this.renderinfo = { | |||
current: "00:00", | |||
duration: "00:00", | |||
current: "00:00:00", | |||
duration: "00:00:00", | |||
duration_value: 0, | |||
current_value: 0, | |||
src: "", | |||
@@ -99,8 +99,8 @@ class ZAudio extends util_1.EventBus { | |||
coverImgUrl: "", | |||
}; | |||
this.playinfo = { | |||
current: "00:00", | |||
duration: "00:00", | |||
current: "00:00:00", | |||
duration: "00:00:00", | |||
duration_value: 0, | |||
current_value: 0, | |||
src: "", | |||
@@ -251,7 +251,7 @@ class ZAudio extends util_1.EventBus { | |||
this.commit("setPause", true); | |||
this.audioCtx.startTime = 0; | |||
this.commit("setPlayinfo", { | |||
current: "00:00", | |||
current: "00:00:00", | |||
current_value: 0, | |||
src: "", | |||
}); | |||
@@ -296,9 +296,9 @@ class ZAudio extends util_1.EventBus { | |||
coverImgUrl: "", | |||
}); | |||
this.commit("setPlayinfo", { | |||
current: "00:00", | |||
current: "00:00:00", | |||
current_value: 0, | |||
duration: "00:00", | |||
duration: "00:00:00", | |||
duration_value: 0, | |||
title: "", | |||
src: "", | |||
@@ -548,8 +548,8 @@ class ZAudio extends util_1.EventBus { | |||
title: this.audiolist[this.renderIndex].title, | |||
singer: this.audiolist[this.renderIndex].singer, | |||
coverImgUrl: this.audiolist[this.renderIndex].coverImgUrl, | |||
current: "00:00", | |||
duration: "00:00", | |||
current: "00:00:00", | |||
duration: "00:00:00", | |||
current_value: 0, | |||
duration_value: 100, | |||
}; | |||
@@ -23,7 +23,7 @@ | |||
:value="renderData('current_value')" :max="renderData('duration_value')" @change="change" | |||
:disabled="!renderIsPlay"></slider> | |||
<text> | |||
{{renderData('duration')}} | |||
{{renderData('duration') || '00:00:00'}} | |||
</text> | |||
</view> | |||
</view> | |||
@@ -146,10 +146,6 @@ | |||
type: String, | |||
default: '#42b983' | |||
}, | |||
duration: { | |||
type: String, | |||
default: '00:00' | |||
} | |||
}, | |||
data() { | |||
return { | |||
@@ -180,12 +176,6 @@ | |||
}; | |||
} | |||
}, | |||
created() { | |||
console.log(this.$zaudio, 'this.$zaudio') | |||
console.log(this.$zaudio.setAudio, 'this.$zaudio') | |||
}, | |||
mounted() { | |||
this.$nextTick(() => { | |||
let action = this.action; | |||
@@ -229,6 +219,8 @@ | |||
} | |||
}, | |||
beforeDestroy() { | |||
this.$zaudio.playinfo.duration = '00:00:00' | |||
this.$zaudio.playinfo.duration_value = '00:00:00' | |||
//组件卸载时卸载业务逻辑 | |||
let action = this.action; | |||
this.$zaudio.syncStateOff(action) | |||
@@ -2,45 +2,51 @@ | |||
<view class="translation"> | |||
<view style="display: flex;width: 100%;height: 100rpx;border-bottom: 1px solid #E0E0E0;"> | |||
<view style="width: 50%;display: flex;align-items: center;justify-content: center;font-size: 30rpx;"> | |||
<view style="line-height: 50rpx;" :class="roleindex == 0 ? 'bosdttom' : ''" @click="tapspagek(0)">画像语义词选择</view> | |||
<view style="line-height: 50rpx;" :class="roleindex == 0 ? 'bosdttom' : ''" @click="tapspagek(0)"> | |||
画像语义词选择</view> | |||
</view> | |||
<view style="width: 50%;display: flex;align-items: center;justify-content: center;font-size: 30rpx;"> | |||
<view style="line-height: 50rpx;" :class="roleindex == 1 ? 'bosdttom' : ''" @click="tapspagek(1)">关键词输入</view> | |||
<view style="line-height: 50rpx;" :class="roleindex == 1 ? 'bosdttom' : ''" @click="tapspagek(1)">关键词输入 | |||
</view> | |||
</view> | |||
</view> | |||
<view v-if='roleindex==0' style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;"> | |||
<view v-if='roleindex==0' style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;"> | |||
<view style="display: flex;align-items: center;border-bottom: 1px solid #C9C9C9;height: 80rpx;"> | |||
<view>画像语义词:</view> | |||
<view style="width:70%" @click="oninputtap()"> | |||
<text v-if="Semanticword.length==0">请选择</text> | |||
<text v-else>{{Semanticword}}</text> | |||
</view> | |||
<view> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/qf/more.png" style="width:12rpx;height:23rpx;margin-left: 16rpx;"> | |||
<view> | |||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/qf/more.png" | |||
style="width:12rpx;height:23rpx;margin-left: 16rpx;"> | |||
</view> | |||
</view> | |||
</view> | |||
<view v-if='roleindex==1' style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;background: #F2F2F2;border-radius: 32rpx; | |||
display: flex;align-items: center;"> | |||
<view style="width: 10%;height: 64rpx;display: flex;align-items: center;"> | |||
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" mode=""></image> | |||
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" mode=""> | |||
</image> | |||
</view> | |||
<view style="width: 90%;height: 64rpx;display: flex;align-items: center;"> | |||
<input type="text" @input="searchinfo" v-model="keyword" placeholder="请输入关键字" | |||
style="width: 100%;color: #999999;font-size: 24rpx;"/> | |||
<input type="text" @input="searchinfo" v-model="keyword" placeholder="请输入关键字" | |||
style="width: 100%;color: #999999;font-size: 24rpx;" /> | |||
</view> | |||
</view> | |||
<view style="width: 690rpx;margin: 0 auto;margin-top: 10rpx;"> | |||
<view style="width: 100%;border-bottom: 1px solid #E0E0E0;display: flex;padding-bottom: 10rpx;margin-top: 40rpx;" | |||
v-for="(item,index) in listarr" :key='index' @click="toaidoinfo(item.Content,item.corpusId,item.index)"> | |||
<view | |||
style="width: 100%;border-bottom: 1px solid #E0E0E0;display: flex;padding-bottom: 10rpx;margin-top: 40rpx;" | |||
v-for="(item,index) in listarr" :key='index' @click="toaidoinfo(item.Content,item.corpusId,item.index)"> | |||
<view style="width: 26rpx;height: 36rpx;margin-top: 4rpx;"> | |||
<image style="width: 26rpx;height: 28rpx;" src="/static/images/testimg.png" mode=""></image> | |||
</view> | |||
<view v-html="item.Content.text" style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> | |||
<view v-html="item.Content.text" | |||
style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> | |||
<view style="font-size: 28rpx;width: 10%;width: 14%;text-align: right;">{{item.Content.time}}</view> | |||
</view> | |||
</view> | |||
<view v-if="Showhiddenunits"> | |||
<u-select v-model="Showhiddenunits" mode="single-column" :list="selectlist" @confirm="confirm"></u-select> | |||
@@ -54,63 +60,66 @@ | |||
export default { | |||
data() { | |||
return { | |||
customerId:'', | |||
listarr:[], | |||
keyword:'', | |||
skpl:'', | |||
roleindex:0, | |||
Showhiddenunits:false, | |||
selectlist:[], | |||
Semanticword:'', | |||
qujian:true | |||
customerId: '', | |||
listarr: [], | |||
keyword: '', | |||
skpl: '', | |||
roleindex: 0, | |||
Showhiddenunits: false, | |||
selectlist: [], | |||
Semanticword: '', | |||
qujian: true, | |||
tipFncEvent: '', // 提醒之前页面的方法更新当前页面的播放位置 | |||
}; | |||
}, | |||
onLoad: function(options) { | |||
onLoad(options) { | |||
if (options.UpDateEvent) this.tipFncEvent = options.UpDateEvent | |||
this.customerId = options.customerId; | |||
this.statistical() | |||
}, | |||
methods: { | |||
statistical(){ | |||
statistical() { | |||
this.$u.get("/matchKeywords/findCARKeywords", { | |||
customerId: this.customerId | |||
}).then(res => { | |||
res.forEach((item,index)=>{ | |||
if(item.isInterval==0){ | |||
item.label=item.name+item.unit +'-'+ item.endName+item.unit; | |||
item.value=index | |||
}else{ | |||
item.label=item.name; | |||
item.value=index | |||
res.forEach((item, index) => { | |||
if (item.isInterval == 0) { | |||
item.label = item.name + item.unit + '-' + item.endName + item.unit; | |||
item.value = index | |||
} else { | |||
item.label = item.name; | |||
item.value = index | |||
} | |||
}) | |||
this.selectlist=res; | |||
this.selectlist = res; | |||
}) | |||
}, | |||
oninputtap(){ | |||
this.Showhiddenunits=true; | |||
oninputtap() { | |||
this.Showhiddenunits = true; | |||
}, | |||
confirm(e) { | |||
let indexs=e[0].value; | |||
this.selectlist.forEach((item,index)=>{ | |||
if(indexs==item.value){ | |||
this.Semanticword=item.name; | |||
this.keyword=item.matchName; | |||
if(item.isInterval==0){ | |||
this.qujian=false; | |||
this.Semanticword=item.name+item.unit+ '-'+ item.endName+item.unit; | |||
}else{ | |||
this.qujian=true; | |||
let indexs = e[0].value; | |||
this.selectlist.forEach((item, index) => { | |||
if (indexs == item.value) { | |||
this.Semanticword = item.name; | |||
this.keyword = item.matchName; | |||
if (item.isInterval == 0) { | |||
this.qujian = false; | |||
this.Semanticword = item.name + item.unit + '-' + item.endName + item.unit; | |||
} else { | |||
this.qujian = true; | |||
} | |||
} | |||
}) | |||
this.searchinfo() | |||
}, | |||
tapspagek(i){ | |||
this.roleindex=i; | |||
this.keyword=""; | |||
this.Semanticword=''; | |||
this.qujian=true; | |||
this.listarr=[]; | |||
tapspagek(i) { | |||
this.roleindex = i; | |||
this.keyword = ""; | |||
this.Semanticword = ''; | |||
this.qujian = true; | |||
this.listarr = []; | |||
}, | |||
formatTime(num) { | |||
//格式化时间格式 | |||
@@ -121,27 +130,27 @@ | |||
if (min < 10) min = '0' + min; | |||
return min + ":" + second; | |||
}, | |||
searchinfo(){ | |||
if(this.keyword.length==0){ | |||
searchinfo() { | |||
if (this.keyword.length == 0) { | |||
return | |||
}else{ | |||
let parames={ | |||
keyword:this.keyword, | |||
customerId:this.customerId | |||
} | |||
this.$u.post("/corpus/keyWordsMatching", parames).then(res => { | |||
res.forEach(item=>{ | |||
item.Content=JSON.parse(item.transferContent) | |||
}) | |||
res.forEach(cet=>{ | |||
cet.Content.time=this.formatTime(cet.Content.bg/1000) | |||
if(this.qujian==false){ | |||
cet.Content.text=cet.Content.onebest; | |||
}else{ | |||
cet.Content.text=this.brightKeyword(cet.Content.onebest) | |||
} else { | |||
let parames = { | |||
keyword: this.keyword, | |||
customerId: this.customerId | |||
} | |||
this.$u.post("/corpus/keyWordsMatching", parames).then(res => { | |||
res.forEach(item => { | |||
item.Content = JSON.parse(item.transferContent) | |||
}) | |||
res.forEach(cet => { | |||
cet.Content.time = this.formatTime(cet.Content.bg / 1000) | |||
if (this.qujian == false) { | |||
cet.Content.text = cet.Content.onebest; | |||
} else { | |||
cet.Content.text = this.brightKeyword(cet.Content.onebest) | |||
} | |||
}) | |||
this.listarr=res; | |||
this.listarr = res; | |||
}) | |||
} | |||
}, | |||
@@ -154,26 +163,27 @@ | |||
} | |||
}, | |||
//跳转 | |||
toaidoinfo(item,id,index){ | |||
toaidoinfo(item, id, index) { | |||
uni.setStorageSync("entrance", 2); //写入缓存 | |||
item.customerId=this.customerId; | |||
item.id=id; | |||
item.index=index; | |||
let pages = getCurrentPages() //获取当前页面栈的信息 | |||
let prevPage = pages[pages.length - 2] //获取上一个页面 | |||
prevPage.setData({ //把需要回传的值保存到上一个页面 | |||
info: item | |||
item.customerId = this.customerId; | |||
item.id = id; | |||
item.index = index; | |||
let pages = getCurrentPages() //获取当前页面栈的信息 | |||
let prevPage = pages[pages.length - 2] //获取上一个页面 | |||
if (this.tipFncEvent) uni.$emit(this.tipFncEvent, item) | |||
prevPage.setData({ //把需要回传的值保存到上一个页面 | |||
info: item | |||
}); | |||
wx.navigateBack({ //然后返回上一个页面 | |||
delta: 1 | |||
wx.navigateBack({ //然后返回上一个页面 | |||
delta: 1 | |||
}) | |||
} | |||
} | |||
}, | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.bosdttom{ | |||
border-bottom: 2px solid #2671E2; | |||
} | |||
.bosdttom { | |||
border-bottom: 2px solid #2671E2; | |||
} | |||
</style> |
@@ -26,7 +26,7 @@ | |||
<view class="dialog-block" v-for="(dialog,i) in dialogList" :key="i"> | |||
<view :id="'dialog'+i" class="fileName">录音文件</view> | |||
<view class="text dingweishiy" :id="'dialog'+csdFileindex+'text'+index" | |||
:class="{active: item.bg < playNow && item.ed > playNow && i==0}" | |||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0}" | |||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker"> | |||
<view class="avatar"> | |||
<text :style="[SPEAKERSTYLE(item.speaker)]">{{ item.speaker | toCapital }}</text> | |||
@@ -184,12 +184,7 @@ | |||
startTime: "", | |||
alltimeStr: "00:00", | |||
audioPlay: false, //当前的播放状态控制 | |||
sliderValue: 0, //进度条最小值 | |||
end: false, | |||
sliderMax: 0, //进度条最大值 | |||
innerAudioContext: "", //播放实例 | |||
currentTimeStr: "00:00", //当前进度的时间 | |||
timeStr: "00:00", //总的时间 | |||
recordPath: "", | |||
csdFileindex: 0, | |||
@@ -200,12 +195,13 @@ | |||
Bnum: 0, //下拉 转写文件下标 | |||
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | |||
isPageHide: false, // 是否息屏 | |||
}; | |||
}, | |||
onLoad(options) { | |||
this.startTime = options.startTime | |||
this.customerId = options.customerId, | |||
this.biaoqian = options.biaoqian; | |||
this.biaoqian = options.biaoqian; | |||
this.startFile = options.startFile; | |||
this.getdianzan() | |||
@@ -221,7 +217,7 @@ | |||
this.sliderChangeComplate(this.TIMEEVENT(time)) | |||
}) | |||
this.$zaudio.on('playing', this.ACTION, (obj) => { | |||
this.TimeUpdate(obj.current_value) | |||
this.TimeUpdate(this.TIMEEVENT(obj.current)) | |||
}) | |||
this.$zaudio.on('ended', this.ACTION, e => { | |||
this.qeihuanwenjian() | |||
@@ -229,10 +225,14 @@ | |||
}, | |||
onShow() { | |||
this.initRecord(); | |||
this.getluyinList(); | |||
!this.isPageHide && this.getluyinList(); | |||
}, | |||
onHide() { | |||
this.isPageHide = true | |||
}, | |||
onUnload() { | |||
//卸载不需要的业务和获取播放状态的业务,提高页面性能 | |||
this.$zaudio.off('seek', this.ACTION); | |||
this.$zaudio.off('stop', this.ACTION); | |||
@@ -250,14 +250,19 @@ | |||
}) | |||
}, | |||
TimeUpdate(currentTime) { | |||
this.playNow = parseInt(currentTime * 1000) | |||
this.playNow = Number(currentTime) | |||
if (this.dialogList.length == 0) { | |||
return | |||
} else { | |||
const message = this.dialogList[0].message | |||
const message = this.dialogList[0].message; | |||
if (!message) return | |||
for (let i = 0; i < message.length; i++) { | |||
if (Number(message[i].bg) < this.playNow && Number(message[i].ed) > this.playNow) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + i; | |||
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / 1000))) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
if (i < message.length - 1 && Math.floor(message[i].ed / 1000) < this.playNow && this.playNow < Math.floor(message[i + 1].bg / 1000)) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
} | |||
@@ -373,8 +378,6 @@ | |||
} | |||
} | |||
this.$u.post("/corpus/fendianFindByPage", parames).then(res => { | |||
console.log(res, 'asdasdasdasd') | |||
console.log(this.startFile, 'asdasdasdasd') | |||
try { | |||
let alltime = 1; | |||
res.forEach(item => { | |||
@@ -522,7 +525,9 @@ | |||
this.timeStr = this.getTime(item.recordDuration); | |||
this.date = item.receptionTime; | |||
this.isshowFile = false; | |||
this.$zaudio.operate(i) | |||
setTimeout(() => { | |||
this.$zaudio.operate(i) | |||
}, 50) | |||
this.getCorpusAnalysis() | |||
}, | |||
// 自动播放下一个文件 | |||
@@ -707,10 +712,13 @@ | |||
//渲染第一首音频 | |||
this.$zaudio.setRender(0) | |||
}, | |||
// 跳转指定位置播放 | |||
stepPlay(t) { | |||
this.$zaudio.seek(parseInt(t)) | |||
this.$zaudio.seek(t) | |||
if (this.$zaudio.paused) { | |||
this.$zaudio.operate() | |||
} | |||
}, | |||
} | |||
}; | |||
@@ -1293,14 +1301,14 @@ | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
color: #38FFF1 !important; | |||
position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker="2"] .content, | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #FF7538; | |||
color: #FF7538 !important; | |||
position: relative; | |||
} | |||
@@ -1273,14 +1273,14 @@ | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
color: #38FFF1 !important; | |||
position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker="2"] .content, | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #FF7538; | |||
color: #FF7538 !important; | |||
position: relative; | |||
} | |||
@@ -44,13 +44,15 @@ | |||
listarr: [], | |||
keyword: '', | |||
skpl: '', | |||
disabled: false | |||
disabled: false, | |||
tipsFncName: '', // 通知其他页面的方法名称 | |||
}; | |||
}, | |||
onLoad: function(options) { | |||
this.customerId = options.customerId; | |||
this.keyword = options.keyword; | |||
this.skpl = options.skpl; | |||
if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent | |||
if (this.skpl == 2) { | |||
this.searchinfo() | |||
this.disabled = true; | |||
@@ -107,6 +109,7 @@ | |||
} else { | |||
let pages = getCurrentPages() //获取当前页面栈的信息 | |||
let prevPage = pages[pages.length - 2] //获取上一个页面 | |||
if (this.tipsFncName) uni.$emit(this.tipsFncName, item) | |||
prevPage.setData({ //把需要回传的值保存到上一个页面 | |||
info: item | |||
}); | |||
@@ -1367,14 +1367,14 @@ | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
color: #38FFF1 !important; | |||
position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker="2"] .content, | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #FF7538; | |||
color: #FF7538 !important; | |||
position: relative; | |||
} | |||
@@ -222,7 +222,8 @@ | |||
watchAllCommit: false, // 查看全部评论 | |||
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | |||
current: 0, // 当前播放时间 | |||
isPageHide: false, // 是否息屏 | |||
}; | |||
}, | |||
onLoad(options) { | |||
@@ -249,40 +250,48 @@ | |||
this.sliderChangeComplate(this.TIMEEVENT(time)) | |||
}) | |||
this.$zaudio.on('playing', this.ACTION, (obj) => { | |||
this.current = obj.current_value | |||
this.TimeUpdate(obj.current_value) | |||
this.TimeUpdate(this.TIMEEVENT(obj.current)) | |||
}) | |||
}, | |||
onShow() { | |||
//实时渲染当前的播放状态 | |||
this.$zaudio.syncRender() | |||
this.initRecord(); | |||
if (this.stateisshow == 2) { | |||
var info = this.itemobj; | |||
} else { | |||
var pages = getCurrentPages(); | |||
var currPage = pages[pages.length - 1]; //当前页面 | |||
var info = currPage.data.info; | |||
// } else { | |||
// var pages = getCurrentPages(); | |||
// var currPage = pages[pages.length - 1]; //当前页面 | |||
// var info = currPage.data.info; | |||
} | |||
console.log(info, 656456546) | |||
this.getluyinList(info); | |||
uni.$on('THEFULLTEXT2', info => { | |||
this.getluyinList(info) | |||
}) | |||
!this.isPageHide && this.getluyinList(info); | |||
}, | |||
onHide() { | |||
this.isPageHide = true | |||
}, | |||
onUnload() { | |||
uni.$off('THEFULLTEXT2') | |||
//卸载不需要的业务和获取播放状态的业务,提高页面性能 | |||
this.$zaudio.off('seek', this.ACTION); | |||
this.$zaudio.off('stop', this.ACTION); | |||
this.$zaudio.off('playing', this.ACTION); | |||
}, | |||
methods: { | |||
toKeywordsearch() { | |||
uni.navigateTo({ | |||
url: '/pages/learning/Thefulltext/search?customerId=' + this.customerId + "&status=" + this | |||
.status + "&skpl=" + "2" | |||
.status + "&skpl=" + "2" + '&UpDateEvent=THEFULLTEXT2' | |||
}) | |||
}, | |||
getView() { | |||
@@ -303,13 +312,18 @@ | |||
}) | |||
}, | |||
TimeUpdate(currentTime) { | |||
this.playNow = parseInt(currentTime * 1000) | |||
this.playNow = Number(currentTime) | |||
if (this.dialogList.length == 0) { | |||
return | |||
} else { | |||
const message = this.dialogList[0].message; | |||
if (!message) return | |||
for (let i = 0; i < message.length; i++) { | |||
if (Number(message[i].bg) < this.playNow && Number(message[i].ed) > this.playNow) { | |||
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / 1000))) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
if (i < message.length - 1 && Math.floor(message[i].ed / 1000) < this.playNow && this.playNow < Math.floor(message[i + 1].bg / 1000)) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
@@ -393,10 +407,7 @@ | |||
this.recordPath = res[0].recordPath | |||
this.date = res[0].receptionTime; | |||
this.getCorpusAnalysis(info); | |||
console.log('再次进来的结果', parseInt(info.bg / 1000) - this.current) | |||
this.stepPlay(info.bg / 1000) | |||
this.$zaudio.operate(0) | |||
this.stepPlay(Math.floor(info.bg / 1000)) | |||
} else { | |||
this.luyinList = res; | |||
this.recordPath = res[0].recordPath | |||
@@ -441,7 +452,7 @@ | |||
}) | |||
this.newluyinList = jsonInfo; | |||
this.dialogList.push(jsonInfo[this.textindex]); | |||
this.adasdasdasd(parseInt(info.bg / 1000) - this.current) | |||
this.adasdasdasd(Math.floor(info.bg / 1000)) | |||
}) | |||
}, | |||
getTime(time) { | |||
@@ -450,7 +461,6 @@ | |||
//音频前进回退 | |||
sliderChangeComplate(currentTime) { | |||
this.$zaudio.operate(0) | |||
let platetime = currentTime * 1000; | |||
this.dialogList = [] | |||
this.$u.get(config.service.fastForward, { | |||
@@ -460,7 +470,9 @@ | |||
this.textindex = data.index; | |||
this.toptextindex = data.index; | |||
this.dialogList.push(this.newluyinList[data.index]) | |||
this.$zaudio.operate(0) | |||
if (this.$zaudio.paused) { | |||
this.$zaudio.operate() | |||
} | |||
}) | |||
}, | |||
@@ -678,7 +690,10 @@ | |||
// 跳转指定位置播放 | |||
stepPlay(t) { | |||
this.$zaudio.seek(parseInt(t)) | |||
this.$zaudio.seek(t) | |||
if (this.$zaudio.paused) { | |||
this.$zaudio.operate() | |||
} | |||
} | |||
} | |||
}; | |||
@@ -1200,14 +1215,14 @@ | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
color: #38FFF1 !important; | |||
position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker="2"] .content, | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #FF7538; | |||
color: #FF7538 !important; | |||
position: relative; | |||
} | |||
@@ -35,13 +35,15 @@ | |||
listarr:[], | |||
keyword:'', | |||
skpl:'', | |||
disabled:false | |||
disabled:false, | |||
tipsFncEvent: '', // 提醒某个页面的方法 | |||
}; | |||
}, | |||
onLoad: function(options) { | |||
onLoad(options) { | |||
this.customerId = options.customerId; | |||
this.keyword=options.keyword; | |||
this.skpl=options.skpl; | |||
if (options.UpDateEvent) this.tipsFncEvent = options.UpDateEvent | |||
}, | |||
methods: { | |||
formatTime(num) { | |||
@@ -92,6 +94,7 @@ | |||
}else{ | |||
let pages = getCurrentPages() //获取当前页面栈的信息 | |||
let prevPage = pages[pages.length - 2] //获取上一个页面 | |||
if (this.tipsFncEvent) uni.$emit(this.tipsFncEvent, item) | |||
prevPage.setData({ //把需要回传的值保存到上一个页面 | |||
info: item | |||
}); | |||
@@ -51,7 +51,7 @@ | |||
<!-- {{i+1}} --> | |||
</view> | |||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | |||
:class="{active: item.bg < playNow && item.ed > playNow && i==0}" | |||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0}" | |||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker"> | |||
<view class="avatar"> | |||
<text :style="[SPEAKERSTYLE(item.speaker)]">{{ item.speaker | toCapital }}</text> | |||
@@ -251,7 +251,8 @@ | |||
commonly4: false, | |||
}, | |||
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | |||
ACTION: Symbol('zaudios'), // 唯一值区分每个页面的方法 | |||
isPageHide: false, // 是否息屏 | |||
}; | |||
}, | |||
@@ -271,11 +272,15 @@ | |||
this.sliderChangeComplate(this.TIMEEVENT(time)) | |||
}) | |||
this.$zaudio.on('playing', this.ACTION, (obj) => { | |||
this.TimeUpdate(obj.current_value) | |||
this.TimeUpdate(this.TIMEEVENT(obj.current)) | |||
}) | |||
this.$zaudio.on('ended', this.ACTION, e => { | |||
this.qeihuanwenjian() | |||
}) | |||
this.$zaudio.on('error', this.ACTION, e => { | |||
// this.qeihuanwenjian() | |||
console.log(e, '加载失败') | |||
}) | |||
}, | |||
onShow() { | |||
//实时渲染当前的播放状态 | |||
@@ -287,23 +292,26 @@ | |||
this.buildingID = uni.getStorageSync('buildingID').id; | |||
if (this.stateisshow == 2) { | |||
var info = this.itemobj; | |||
} else { | |||
var pages = getCurrentPages(); | |||
var currPage = pages[pages.length - 1]; //当前页面 | |||
var info = currPage.data.info; | |||
} | |||
uni.$on('DETAILSINIT', info => { | |||
this.init(info) | |||
}) | |||
this.gituserlist() | |||
this.init(info) | |||
!this.isPageHide && this.init(info) | |||
}, | |||
onHide() { | |||
this.isPageHide = true | |||
}, | |||
onUnload() { | |||
//卸载不需要的业务和获取播放状态的业务,提高页面性能 | |||
this.$zaudio.off('seek', this.ACTION); | |||
this.$zaudio.off('stop', this.ACTION); | |||
this.$zaudio.off('playing', this.ACTION); | |||
this.$zaudio.off('ended', this.ACTION); | |||
}, | |||
methods: { | |||
effectiveAdd() { | |||
@@ -376,26 +384,38 @@ | |||
this.$u.get("/matchKeywords/personalReceptionRecord", { | |||
customerId: this.customerId | |||
}).then(res => { | |||
res.endTime1 = res.endTime.substring(0, 19); | |||
this.userlistobj = res; | |||
try { | |||
res.endTime1 = res.endTime.substring(0, 19); | |||
this.userlistobj = res; | |||
} catch(e) { | |||
console.log(e) | |||
} | |||
}) | |||
}, | |||
toKeywordsearch() { | |||
this.stateisshow = 1; | |||
uni.navigateTo({ | |||
url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&status=" + this.status + | |||
"&skpl=" + "1" | |||
"&skpl=" + "1" + '$UpDateEvent=DETAILSINIT' | |||
}) | |||
}, | |||
TimeUpdate(currentTime) { | |||
this.playNow = parseInt(currentTime * 1000) | |||
this.playNow = Number(currentTime) | |||
if (this.dialogList.length == 0) { | |||
return | |||
} else { | |||
const message = this.dialogList[0].message | |||
const message = this.dialogList[0].message; | |||
if (!message) return | |||
for (let i = 0; i < message.length; i++) { | |||
if (Number(message[i].bg) < this.playNow && Number(message[i].ed) > this.playNow) { | |||
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / 1000))) { | |||
console.log(message[i]) | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
if (i < message.length - 1 && Math.floor(message[i].ed / 1000) < this.playNow && this.playNow < Math.floor(message[i + 1].bg / 1000)) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
@@ -405,6 +425,7 @@ | |||
}, | |||
init(info) { | |||
const parames = { | |||
pageNum: 1, | |||
@@ -433,7 +454,7 @@ | |||
this.isshowFile = false; | |||
this.getCorpusAnalysis(info); | |||
var itc = info.bg / 1000 | |||
this.adasdasdasd(itc - this.$zaudio.playinfo.current_value) | |||
this.adasdasdasd(itc) | |||
} | |||
}) | |||
} else { | |||
@@ -789,47 +810,58 @@ | |||
customerId: this.customerId | |||
} | |||
this.$u.get(config.service.getCorpusAnalysis, obj).then(data => { | |||
const jsonInfo = JSON.parse(data.audioContent); | |||
console.log(jsonInfo) | |||
if (this.luyinList[this.csdFileindex].recordDuration > 360) { | |||
//拿到总条数 | |||
var stusnum = jsonInfo.length; | |||
this.dialogList.push({ | |||
message: jsonInfo.splice(0, 80), | |||
backindex: this.csdFileindex | |||
}); | |||
var auth_timetimer = setInterval(() => { | |||
stusnum -= 100; | |||
console.log("还剩下" + stusnum) | |||
if (stusnum <= 0) { | |||
console.log("停止") | |||
clearInterval(auth_timetimer); | |||
} else { | |||
console.log("添加") | |||
var newlistwang = []; | |||
newlistwang = jsonInfo.splice(0, 100); | |||
console.log("新数组", newlistwang) | |||
newlistwang.forEach(item => { | |||
this.dialogList[0].message.push(item) | |||
}) | |||
} | |||
}, 1000); | |||
} else { | |||
this.dialogList.push({ | |||
message: jsonInfo, | |||
backindex: this.csdFileindex | |||
}); | |||
} | |||
this.dialogList.forEach((asd, idx) => { | |||
asd.message.forEach((qwe, inde) => { | |||
qwe.isshow = false; | |||
console.log(data, 'jkdaslasaksklajdklasjdkljaskldjaskldjaslkdjsalk') | |||
try { | |||
const jsonInfo = JSON.parse(data.audioContent); | |||
console.log(jsonInfo) | |||
if (this.luyinList[this.csdFileindex].recordDuration > 360) { | |||
//拿到总条数 | |||
var stusnum = jsonInfo.length; | |||
this.dialogList.push({ | |||
message: jsonInfo.splice(0, 80), | |||
backindex: this.csdFileindex | |||
}); | |||
var auth_timetimer = setInterval(() => { | |||
stusnum -= 100; | |||
console.log("还剩下" + stusnum) | |||
if (stusnum <= 0) { | |||
console.log("停止") | |||
clearInterval(auth_timetimer); | |||
} else { | |||
console.log("添加") | |||
var newlistwang = []; | |||
newlistwang = jsonInfo.splice(0, 100); | |||
console.log("新数组", newlistwang) | |||
newlistwang.forEach(item => { | |||
this.dialogList[0].message.push(item) | |||
}) | |||
} | |||
}, 1000); | |||
} else { | |||
this.dialogList.push({ | |||
message: jsonInfo, | |||
backindex: this.csdFileindex | |||
}); | |||
} | |||
this.dialogList.forEach((asd, idx) => { | |||
asd.message.forEach((qwe, inde) => { | |||
qwe.isshow = false; | |||
}) | |||
}) | |||
}) | |||
uni.hideLoading(); | |||
} catch(e) { | |||
if (data.whetherFinishName == '转写中') { | |||
uni.showModal({ | |||
title: '提示', | |||
content: '录音正在转写中,请稍后重试!', | |||
showCancel: false | |||
}); | |||
} | |||
} | |||
}).catch(e => { | |||
uni.hideLoading(); | |||
console.log(e, '123二83二我哦晶澳科技大说快了快到加快了') | |||
// if (e.da) | |||
uni.showModal({ | |||
title: '提示', | |||
content: '请求数据失败,请重新尝试', | |||
@@ -881,9 +913,6 @@ | |||
this.$zaudio.operate(i) | |||
}, 50) | |||
this.getCorpusAnalysis() | |||
// this.$zaudio.play() | |||
console.log(this.$zaudio) | |||
this.$forceUpdate() | |||
}, | |||
// 自动播放下一个文件 | |||
qeihuanwenjian() { | |||
@@ -924,19 +953,24 @@ | |||
coverImgUrl: '' | |||
} | |||
}) | |||
console.log(this.luyinList, '123873892173812783218711111123873892173812783218711111123873892173812783218711111') | |||
console.log(data, '123873892173812783218711111') | |||
this.$zaudio.setAudio(data) | |||
//渲染第一首音频 | |||
this.$zaudio.setRender(0) | |||
setTimeout(() => { | |||
this.$zaudio.operate() | |||
}, 1500) | |||
console.log('我触发', this.$zaudio) | |||
}, 150) | |||
this.$forceUpdate() | |||
}, | |||
// 跳转指定位置播放 | |||
stepPlay(t) { | |||
this.$zaudio.seek(parseInt(t)) | |||
this.$zaudio.seek(t) | |||
if (this.$zaudio.paused) { | |||
this.$zaudio.operate() | |||
} | |||
}, | |||
} | |||
} | |||
@@ -1315,14 +1349,14 @@ | |||
} | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
color: #38FFF1 !important; | |||
position: relative; | |||
} | |||
.scroll-Y .text.active[data-speaker="2"] .content, | |||
.scroll-Y .text.active[data-speaker="4"] .content, | |||
.scroll-Y .text.active[data-speaker="6"] .content { | |||
color: #FF7538; | |||
color: #FF7538 !important; | |||
position: relative; | |||
} | |||
@@ -32,55 +32,59 @@ | |||
<!-- 聊天记录--> | |||
<view class="dialog-block" @click="close()" v-for="(dialog,i) in dialogList" :key="i"> | |||
<view :id="'dialog'+i" class="fileName">录音文件</view> | |||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | |||
:class="{active: item.bg < playNow && item.ed > playNow && i==0}" | |||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker"> | |||
<view class="avatar"> | |||
<view :style="[SPEAKERSTYLE(item.speaker)]"> | |||
<image v-if="item.isShow == 0" :src="Aimg.replace(/[\r\n]/g,'')" mode="widthFix"></image> | |||
<text v-else>{{ item.speaker | toCapital }}</text> | |||
</view> | |||
</view> | |||
<view class="contentInfo"> | |||
<view class="info"> | |||
<text class="AudioUserName">{{ item.speaker | toCapital }}</text> | |||
<text>{{conversionTiame(item.bg/1000)}}</text> | |||
<block v-for="(item,index) in dialog.message" :key="index"> | |||
<view class="text" | |||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0}" | |||
:data-speaker="item.speaker" :id="'dialog'+csdFileindex+'text'+item.bg"> | |||
<view class="avatar"> | |||
<view :style="[SPEAKERSTYLE(item.speaker)]"> | |||
<image v-if="item.isShow == 0" :src="Aimg.replace(/[\r\n]/g,'')" mode="widthFix"> | |||
</image> | |||
<text v-else>{{ item.speaker | toCapital }}</text> | |||
</view> | |||
</view> | |||
<view class="contentMain"> | |||
<view class="content"> | |||
<view @longpress.stop="changanxiaoguo(item,index,i)" v-html="item.onebest"></view> | |||
<view class="tankuangcss" :class="{bottoms:index == 0}" v-if="item.isshow"> | |||
<view @click="clickcopy()" | |||
style="width: 60rpx;font-size: 24rpx;text-align: center;margin-left: 24rpx;">复制 | |||
</view> | |||
<view @click="Oftenthewrongword()" v-if="permissions.commonly4" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;">常错词 | |||
</view> | |||
<view v-if="permissions.commonly3" @click="Addtheessence()" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;">加精华 | |||
</view> | |||
<!-- 暂时注释掉 --> | |||
<!-- <view @click="clickbofang(dialog.backindex,item)" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 14rpx;">播放 | |||
</view> --> | |||
<view @click="Modifyrole(index,item)" | |||
style="font-size: 24rpx;text-align: center;margin-left: 14rpx;">修改角色 | |||
<view class="contentInfo"> | |||
<view class="info"> | |||
<text class="AudioUserName">{{ item.speaker | toCapital }}</text> | |||
<text>{{conversionTiame(item.bg/1000)}}</text> | |||
</view> | |||
<view class="contentMain"> | |||
<view class="content"> | |||
<view @longpress.stop="changanxiaoguo(item,index,i)" v-html="item.onebest"></view> | |||
<view class="tankuangcss" :class="{bottoms:index == 0}" v-if="item.isshow"> | |||
<view @click="clickcopy()" | |||
style="width: 60rpx;font-size: 24rpx;text-align: center;margin-left: 24rpx;"> | |||
复制 | |||
</view> | |||
<view @click="Oftenthewrongword()" v-if="permissions.commonly4" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;"> | |||
常错词 | |||
</view> | |||
<view v-if="permissions.commonly3" @click="Addtheessence()" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 22rpx;"> | |||
加精华 | |||
</view> | |||
<!-- 暂时注释掉 --> | |||
<!-- <view @click="clickbofang(dialog.backindex,item)" | |||
style="width: 80rpx;font-size: 24rpx;text-align: center;margin-left: 14rpx;">播放 | |||
</view> --> | |||
<view @click="Modifyrole(index,item)" | |||
style="font-size: 24rpx;text-align: center;margin-left: 14rpx;">修改角色 | |||
</view> | |||
</view> | |||
</view> | |||
<image @click="clickbofang(dialog.backindex,item)" class="play" | |||
src="../../static/images/recordingManagement/play.png"></image> | |||
</view> | |||
<image @click="clickbofang(dialog.backindex,item)" class="play" | |||
src="../../static/images/recordingManagement/play.png"></image> | |||
</view> | |||
</view> | |||
</view> | |||
</block> | |||
</view> | |||
</scroll-view> | |||
<view class="bottombox"> | |||
<zaudio theme="theme4" :duration="recordDuration"></zaudio> | |||
<!-- 播放块 :src="recordPath" --> | |||
<!-- <yz-audio ref="zyAudio" @timeUpdate="TimeUpdate" @sliderChangeComplate="sliderChangeComplate"></yz-audio> --> | |||
<!-- --> | |||
<zaudio theme="theme4"></zaudio> | |||
<!-- 底部弹框 --> | |||
<view class="botbotmm"> | |||
<view class="tmmchen" @click="guanjiancishifo()"> | |||
@@ -416,7 +420,9 @@ | |||
var config = require("../../config"); | |||
import zaudio from '@/components/uniapp-zaudio/zaudio'; | |||
export default { | |||
components: { zaudio }, | |||
components: { | |||
zaudio | |||
}, | |||
data() { | |||
return { | |||
noClick: true, | |||
@@ -517,7 +523,7 @@ | |||
roleindexrow: 0, | |||
roletiaoshu: 0, | |||
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | |||
recordDuration: '00:00', // 当前音频文件时长 | |||
isPageHide: false, // 是否息屏 | |||
}; | |||
}, | |||
computed: { | |||
@@ -534,7 +540,6 @@ | |||
this.itemobj = uni.getStorageSync('searchobj'); | |||
this.stateisshow = options.stateisshow; | |||
this.$zaudio.autoPlay = true | |||
//注意: 不同的回调方法, 相同的业务函数方法名, 不会相互影响; | |||
this.$zaudio.on('stop', this.ACTION, () => { | |||
console.log('我是强制暂停或关闭小程序音频浮窗触发的') | |||
@@ -543,9 +548,15 @@ | |||
this.sliderChangeComplate(this.TIMEEVENT(time)) | |||
}) | |||
this.$zaudio.on('playing', this.ACTION, (obj) => { | |||
this.TimeUpdate(obj.current_value) | |||
this.TimeUpdate(this.TIMEEVENT(obj.current)) | |||
}) | |||
this.$zaudio.on('error', this.ACTION, e => { | |||
// this.qeihuanwenjian() | |||
console.log(e, '加载失败') | |||
}) | |||
}, | |||
onShow() { | |||
//实时渲染当前的播放状态 | |||
this.$zaudio.syncRender() | |||
@@ -568,20 +579,19 @@ | |||
this.roleindex = 0; | |||
if (this.stateisshow == 2) { | |||
var info = this.itemobj; | |||
} else { | |||
var pages = getCurrentPages(); | |||
var currPage = pages[pages.length - 1]; //当前页面 | |||
var info = currPage.data.info; | |||
} | |||
console.log(info) | |||
this.init(info) | |||
}, | |||
onReady() { | |||
this.zyAudio() | |||
uni.$on('DETAILS2INIT', (info) => { | |||
this.init(info) | |||
}); | |||
!this.isPageHide && this.init(info); | |||
}, | |||
onHide() { | |||
this.isPageHide = true | |||
}, | |||
onUnload() { | |||
uni.$off('DETAILS2INIT') | |||
//卸载不需要的业务和获取播放状态的业务,提高页面性能 | |||
this.$zaudio.off('seek', this.ACTION); | |||
this.$zaudio.off('stop', this.ACTION); | |||
@@ -589,6 +599,7 @@ | |||
}, | |||
methods: { | |||
// 关闭弹窗 | |||
close() { | |||
this.dialogList.forEach(res => { | |||
@@ -637,9 +648,7 @@ | |||
}) | |||
}, | |||
argece(item) { | |||
console.log(item) | |||
if (item.selected == 0) { | |||
console.log(item) | |||
uni.navigateTo({ | |||
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item | |||
.keywordsId + "&type=" + 1 | |||
@@ -651,7 +660,7 @@ | |||
//进搜索页面 | |||
uni.navigateTo({ | |||
url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&keyword=" + item + | |||
"&skpl=" + "2" | |||
"&skpl=" + "2" + '&UpDateEvent=DETAILS2INIT' | |||
}) | |||
}, | |||
recordclick(i) { | |||
@@ -659,7 +668,6 @@ | |||
if (i == 0) { | |||
this.getRatelist() | |||
} else { | |||
console.log('999') | |||
this.huoqujinji() | |||
} | |||
}, | |||
@@ -682,7 +690,6 @@ | |||
//评分点击 | |||
clickaudeopal(item) { | |||
if (item.selected == 0) { | |||
console.log(item) | |||
uni.navigateTo({ | |||
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item | |||
.marketingId + "&type=" + 0 | |||
@@ -835,7 +842,6 @@ | |||
parames.validInvalid = 0; | |||
} | |||
that.$u.post("/customer/updateValidInvalid", parames).then(res => { | |||
console.log(res) | |||
that.Thetapeidisshow = false; | |||
}) | |||
} | |||
@@ -866,7 +872,6 @@ | |||
invalidNote: this.effectiveitext | |||
} | |||
this.$u.post("/customer/updateValidInvalid", parames).then(res => { | |||
console.log(res) | |||
this.Thetapeidisshow = false; | |||
}) | |||
}, | |||
@@ -904,7 +909,7 @@ | |||
this.stateisshow = 1; | |||
uni.navigateTo({ | |||
url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&status=" + this.status + | |||
"&skpl=" + "1" | |||
"&skpl=" + "1" + '&UpDateEvent=DETAILS2INIT' | |||
}) | |||
}, | |||
//标记选择角色 | |||
@@ -944,9 +949,7 @@ | |||
let parames = { | |||
carId: this.customerId | |||
} | |||
this.$u.post("/matchKeywords/toMatchKeywords", parames).then(res => { | |||
console.log(res) | |||
}) | |||
this.$u.post("/matchKeywords/toMatchKeywords", parames).then(res => {}) | |||
}, | |||
//分角色 | |||
tapspagek(index) { | |||
@@ -956,7 +959,7 @@ | |||
}, | |||
//分角色标记刷新 | |||
fenjiaoseunfo() { | |||
var bgcd = this.sliderValue * 1000; | |||
var bgcd = this.playNow * 1000; | |||
this.newluyinList = []; | |||
this.dialogList = []; | |||
let obj = { | |||
@@ -965,7 +968,6 @@ | |||
speaker: this.roleindex | |||
} | |||
this.$u.get(config.service.getCorpusAnal, obj).then((data) => { | |||
console.log(data) | |||
this.tablist = []; | |||
let jsonInfo = JSON.parse(data.audioContent); | |||
for (var i = 0; i <= data.speakerNum; i++) { | |||
@@ -1006,7 +1008,6 @@ | |||
item.message = JSON.parse(item.onebest) | |||
item.backindex = this.csdFileindex | |||
}) | |||
console.log(jsonInfo) | |||
this.newluyinList = jsonInfo; | |||
if (this.textindex == null) { | |||
@@ -1020,19 +1021,26 @@ | |||
this.stateisshow = 1; | |||
uni.navigateTo({ | |||
url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&status=" + this.status + | |||
"&skpl=" + "1" | |||
"&skpl=" + "1" + '&UpDateEvent=DETAILS2INIT' | |||
}) | |||
}, | |||
TimeUpdate(currentTime) { | |||
this.playNow = parseInt(currentTime * 1000) | |||
this.playNow = Number(currentTime) | |||
if (this.dialogList.length == 0) { | |||
return | |||
} else { | |||
const message = this.dialogList[0].message; | |||
if (!message) return | |||
for (let i = 0; i < message.length; i++) { | |||
if (Number(message[i].bg) < this.playNow && Number(message[i].ed) > this.playNow) { | |||
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / | |||
1000))) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
if (i < message.length - 1 && Math.floor(message[i].ed / 1000) < this.playNow && this.playNow < | |||
Math.floor(message[i + 1].bg / 1000)) { | |||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | |||
break; | |||
} | |||
@@ -1041,7 +1049,6 @@ | |||
this.$forceUpdate() | |||
}, | |||
init(info) { | |||
const parames = { | |||
pageNum: 1, | |||
@@ -1054,7 +1061,6 @@ | |||
if (res && res.length) { | |||
let alltime = 1 + res[0].recordDuration; | |||
this.calibration = res[0].calibration; | |||
this.recordDuration = this.getTime(res[0].recordDuration) | |||
if (this.calibration == 0) { | |||
this.kehuyixiangcenterindex = 0; | |||
} else { | |||
@@ -1070,20 +1076,14 @@ | |||
this.recordPath = res[0].recordPath | |||
this.date = res[0].receptionTime; | |||
this.getCorpusAnalysis(info); | |||
// this.zyAudio() | |||
this.zyAudio() | |||
} | |||
} | |||
}) | |||
}, | |||
//搜索跳转 | |||
//搜索跳转 定位到选择 | |||
adasdasdasd(e) { | |||
// this.$refs.zyAudio.seek(e) | |||
this.stepPlay(e) | |||
if (uni.getStorageSync('entrance') == 1) { | |||
return | |||
} else { | |||
// this.$refs.zyAudio.play(); | |||
} | |||
}, | |||
//下一页 | |||
ltolower() { | |||
@@ -1100,7 +1100,6 @@ | |||
this.dialogList[0].message.push(item) | |||
}) | |||
} | |||
console.log("下一页", this.textindex) | |||
}, | |||
//上一页 | |||
rolltoupper() { | |||
@@ -1118,7 +1117,6 @@ | |||
}) | |||
} | |||
} | |||
console.log("上一页", this.toptextindex) | |||
}, | |||
// 取消全部加精 | |||
notappick() { | |||
@@ -1128,12 +1126,10 @@ | |||
content: '确认取消加精?', | |||
success: function(res) { | |||
if (res.confirm) { | |||
console.log('用户点击确定'); | |||
that.$u.get(config.service.delATD, { | |||
carId: that.customerId, | |||
itemId: that.buildingID | |||
}).then(data => { | |||
console.log(data) | |||
if (!data || data.code == 10000) { | |||
that.status = 1 | |||
uni.showToast({ | |||
@@ -1204,7 +1200,6 @@ | |||
}) | |||
}) | |||
that.$forceUpdate(); | |||
console.log('success'); | |||
} | |||
}); | |||
}, | |||
@@ -1310,7 +1305,6 @@ | |||
"jjTransfer": this.changanitem.onebest, //选中对话 | |||
"status": 1 | |||
} | |||
console.log(uni.getStorageSync('weapp_session_login_data').token) | |||
uni.request({ | |||
url: config.service.addATD, | |||
method: "POST", | |||
@@ -1511,7 +1505,7 @@ | |||
}) | |||
this.newluyinList = jsonInfo; | |||
this.dialogList.push(jsonInfo[this.textindex]); | |||
this.adasdasdasd((info.bg / 1000)) | |||
this.adasdasdasd(Math.floor(info.bg / 1000)) | |||
} | |||
}) | |||
}, | |||
@@ -1537,7 +1531,7 @@ | |||
} | |||
}) | |||
}, | |||
//长按点击播放 | |||
clickbofang(dialog, item) { | |||
this.dialogList.forEach(res => { | |||
@@ -1547,7 +1541,7 @@ | |||
}) | |||
this.$forceUpdate() | |||
let platetime = item.bg; | |||
let newtime = item.bg / 1000; | |||
let newtime = Math.floor(item.bg / 1000); | |||
this.dialogList = [] | |||
uni.request({ | |||
url: config.service.fastForward + '?corpusId=' + this.luyinList[this.csdFileindex].id + | |||
@@ -1558,7 +1552,6 @@ | |||
'Authorization': 'Bearer ' + uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
success: (data) => { | |||
console.log('adsadasds', data) | |||
this.textindex = data.data.data.index; | |||
this.toptextindex = data.data.data.index; | |||
this.dialogList.push(this.newluyinList[data.data.data.index]) | |||
@@ -1584,26 +1577,27 @@ | |||
//录音实例 | |||
zyAudio() { | |||
let data = [ | |||
{ | |||
src: this.recordPath, | |||
title: '录音音频', | |||
singer: '', | |||
coverImgUrl: '' | |||
} | |||
] | |||
let data = [{ | |||
src: this.recordPath, | |||
title: '录音音频', | |||
singer: '', | |||
coverImgUrl: '' | |||
}] | |||
this.$zaudio.setAudio(data) | |||
//渲染第一首音频 | |||
this.$zaudio.setRender(0) | |||
setTimeout(() => { | |||
this.$zaudio.operate() | |||
}, 1500) | |||
}, 150) | |||
}, | |||
// 跳转指定位置播放 | |||
stepPlay(t) { | |||
this.$zaudio.seek(t) | |||
if (this.$zaudio.paused) { | |||
this.$zaudio.operate() | |||
} | |||
} | |||
}, | |||
@@ -2188,15 +2182,10 @@ | |||
height: 64upx; | |||
line-height: 64upx; | |||
text-align: center; | |||
// border: 1rpx solid red; | |||
font-size: 36rpx; | |||
border-radius: 50%; | |||
background: #F2F2F2; | |||
color: #008EF2; | |||
// display: flex; | |||
// justify-content: center; | |||
// align-items: center; | |||
image { | |||
width: 40upx; | |||
} | |||
@@ -2526,7 +2515,7 @@ | |||
.scroll-Y .text.active .content { | |||
color: #38FFF1; | |||
color: #38FFF1 !important; | |||
position: relative; | |||
} | |||
@@ -199,7 +199,7 @@ | |||
that.daitiReceptionobj = res; | |||
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name + | |||
"】代接待吗?" | |||
that.confirmtext = res.replacement.name + "代接代", //确认文字 | |||
that.confirmtext = res.replacement.name + "代接待", //确认文字 | |||
that.canceltext = res.owner.name + '接待', //取消文字 | |||
that.show = true; | |||
} else { | |||
@@ -207,7 +207,7 @@ | |||
console.log(that.daitiReceptionobj) | |||
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name + | |||
"】代接待吗?" | |||
that.confirmtext = res.replacement.name + "代接代", //确认文字 | |||
that.confirmtext = res.replacement.name + "代接待", //确认文字 | |||
that.canceltext = res.assign.name + '接待', //取消文字 | |||
that.show = true; | |||
} | |||
@@ -115,14 +115,14 @@ | |||
that.daitiReceptionobj = res; | |||
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name + | |||
"】代接待吗?" | |||
that.confirmtext = res.replacement.name + "代接代", //确认文字 | |||
that.confirmtext = res.replacement.name + "代接待", //确认文字 | |||
that.canceltext = res.owner.name + '接待', //取消文字 | |||
that.show = true; | |||
} else { | |||
that.daitiReceptionobj = res; | |||
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name + | |||
"】代接待吗?" | |||
that.confirmtext = res.replacement.name + "代接代", //确认文字 | |||
that.confirmtext = res.replacement.name + "代接待", //确认文字 | |||
that.canceltext = res.assign.name + '接待', //取消文字 | |||
that.show = true; | |||
} | |||