jyt 2 years ago
parent
commit
a10765feac
9 changed files with 111 additions and 63 deletions
  1. +1
    -0
      components/uniapp-zaudio/zaudio.vue
  2. +2
    -2
      manifest.json
  3. +5
    -5
      pages/center/Piabodata/Customerportrait/Receivedetailabout.vue
  4. +1
    -1
      pages/center/consumer/consumerDetail.vue
  5. +3
    -3
      pages/learning/Equinoctial/index.vue
  6. +30
    -27
      pages/learning/Thefulltext/index2.vue
  7. +18
    -7
      pages/mine/ScoringPlaylist.vue
  8. +49
    -16
      pages/mine/details2.vue
  9. +2
    -2
      utils/domain.js

+ 1
- 0
components/uniapp-zaudio/zaudio.vue View File

@@ -197,6 +197,7 @@
this.renderIsPlay = renderIsPlay;
this.audio = renderinfo;
this.loading = loading;
console.log(this.playinfo)
});
this.$zaudio.syncRender()
});


+ 2
- 2
manifest.json View File

@@ -1,5 +1,5 @@
{
"name" : "AI销",
"name" : "AI销讲助手",
"appid" : "__UNI__D88F14A",
"description" : "AI销讲助手",
"versionName" : "1.1.0",
@@ -91,7 +91,7 @@
},
"quickapp" : {},
"mp-weixin" : {
"appid" : "wxd6dd7eae72606ca2",
"appid" : "wx83fec12ec03d9349",
"setting" : {
"urlCheck" : false,
"es6" : true,


+ 5
- 5
pages/center/Piabodata/Customerportrait/Receivedetailabout.vue View File

@@ -38,7 +38,7 @@
<view class="dialog-block" 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: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0, isGreen: item.isShow == 0 }"
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0 }"
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker">
<view class="avatar">
<view :style="[SPEAKERSTYLE(item.speaker)]">
@@ -530,12 +530,11 @@
methods: {
// 跳转详情
argece(item) {
console.log(item)
if (item.selected == 0) {
console.log(item)
this.Pinspeak = false
uni.navigateTo({
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item
.keywordsId + "&type=" + 1
.keywordsId + "&type=" + 1 + '&UpDateEvent=Receivedetailabout'
})
}
},
@@ -1267,9 +1266,10 @@
//评分点击
clickaudeopal(item) {
if (item.selected == 0) {
this.Pinspeak = false
uni.navigateTo({
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item
.marketingId
.marketingId + '&type=0' + '&UpDateEvent=Receivedetailabout'
})
}
},


+ 1
- 1
pages/center/consumer/consumerDetail.vue View File

@@ -415,7 +415,7 @@
if (item.selected == 0) {
uni.navigateTo({
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item
.marketingId + "&type=0"
.marketingId + "&type=0" + '&from=consumerDetail'
})
}
},


+ 3
- 3
pages/learning/Equinoctial/index.vue View File

@@ -15,7 +15,6 @@
</view>
</view>
</view>

<zaudio :duration="duration" theme="theme4"></zaudio>
</view>
<scroll-view :scroll-top="scrollTop" lower-threshold='20px' @scrolltolower="ltolower()"
@@ -26,7 +25,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'+item.bg"
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0}"
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow}"
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>
@@ -239,7 +238,8 @@
this.TimeUpdate(this.TIMEEVENT(obj.current))
})
this.$zaudio.on('ended', this.ACTION, e => {
this.qeihuanwenjian()
// this.qeihuanwenjian()
this.$zaudio.operate();
})
},
onShow() {


+ 30
- 27
pages/learning/Thefulltext/index2.vue View File

@@ -15,7 +15,7 @@
</view>
<view class="call_record_time_one">接待时长 {{alltimeStr}}</view>

<!-- <yz-audio class="audio-container" ref="zyAudio" @timeUpdate="TimeUpdate"
<!-- <yz-audio class="audio-container" ref="zyAudio" @timeUpdate="TimeUpdate"
@sliderChangeComplate="sliderChangeComplate"></yz-audio> -->
<zaudio theme="theme4"></zaudio>
</view>
@@ -29,7 +29,7 @@
<view :id="'dialog'+i" class="fileName">录音文件</view>

<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg"
:class="{active: Math.floor(item.bg/1000) < playNow && Math.floor(item.ed/1000) > playNow && i== 0, isGreen: item.isShow == 0}"
:class="{active: Math.floor(item.bg/1000) < playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}"
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker">
<view class="avatar">
<view class="avatar">
@@ -178,7 +178,9 @@

import zaudio from '@/components/uniapp-zaudio/zaudio';
export default {
components: { zaudio },
components: {
zaudio
},
data() {
return {
Aimg: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAACqVBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/f3////9/f39/f3////////9/f3////////////9/f3////9/f39/f3////9/f3////////9/f3////9/f3////////////////9/f39/f3////////9/f39/f3////9/f39/f3////////9/f39/f3////////9/f39/f39/f3////////////////+/v7+/v7////+/v7////+/v7////+/v7+/v7////////+/v7+/v7////+/v7////+/v7////////////////////////////+/v7////+/v7////+/v7+/v7////////////+/v7////+/v7////+/v7+/v7////////+/v7////+/v7////////+/v7////////+/v7////+/v7+/v7+/v7////////+/v7+/v7////+/v7+/v7////+/v7////+/v7////+/v7////+/v7+/v7////+/v7+/v7////+/v7////+/v7////+/v7+/v7////+/v5jdC9iAAAA4nRSTlMAAQIDBAUGBwgLDA0ODxARExQVFhgbHB4fICEiIyQmJygpKy4wMTIzNDY3ODk6Oz0+P0BBQkRGR0lKTE5PUFFTVFVXWFlcXV9gYWJjZWZnaGlqa2xtbm9wcXJzdHV2d3h6e319foGBgoODh4mKiouMjI2QkZKSk5OUlpeYmZmam5ycnZ+foKGio6SmqKmpq6yur7CwsbGytba5uru8wMDBwcLCw8XGx8jJysrLzM7P0dLT1dXW1tfY2drc3N7f4OHh5Obm5+jp6uvs7vDx8vLz8/T09fX29/f4+fn6+vz8/f7+RVDt+wAAA55JREFUGBntwf9/1HMAB/DX7XYbuXWV1cyMoixfugrRGNXytW33pbVdJ83XkiMLSb4LJd/zZUi0SKT5FmGS77HUVaixnHP2+kt8vt3Zbp/3+7P3XR5+8XziP1E4uiYcrh1bjMNi6NzXumnoeX3eSOSrpHUv+zi0ogJ5qd3JLN1XuJGzwqW0sW4oclT0Im19XIqcuNdQ4D0vcnEDhdYgB2f+SbFZUHbEdkrsLYeqFko9CEVH7qJUohxqLqODO6BmLR18XwAVRQfpZDxUnExHjVBRR0eroGIZHX0AFe10tA8qdtNZIRR00VEPVLxLRzuh4jk62gIVy+joSaiI0tECqPDT0blQ4f6RDpI+KHmYDjZBzWQ6aIaibZSK+6BoOqViUOXqoER8BJSdlqJYFDm4h0LveJAD7+cUiFciJ1U/01aiGjk65zfaSF6EnE3azQEO1iAPFZuZZes45MUT3cM+emLFyNfwK3fQ8k1sFA6L0cElTzx9d1OVC/8bNG/gzY+GQaKk461gCQZr8iMHSNZD4nySv6wYj0EYFv2UhqcgcTsN70ePhtzER3+lJe6BxXP9jTctvrl1yS1jkLaNlkTbBR6IlF3dyT78sHh+oqkSlrJe/uOH1jGw4apem2I/1yLtGRo6kRZiP73t57mQxb+Z2dqRdikNtyLtBWb78Cz05bomyQH+KIGljIYaWNxxDtC72ouMgsdpZzosHhqqYDmFdraOQNpttHUfLKU0TITlKtra6IZpCu3tgMVPQx0sG2ivDqaVFDgOppk0LIbJm6C9DTB1UCAMU4SGZ2GqocAumL6jQBtMMRq2wLScAik3dMV/UWB/EQwrafgSpk6KlEJ3LIXOgGE9DQdgqKDQSdBNoNAiGL6i6SjowhSaAt1UCm2CzpOk6QTonqfQJdBdSKGkD5pKWqZCU7iHQtdB10KxWmjOpqUJmtMp9gB091LsIWiCtCyFZiHFXoZuHcW+hiZGy0vQvE2xT6DbTolKAI/R8hmA4SmKdUG3jxIhAG/QkigAZlAi6QJQTJk2AF1MGwXcRRkfgJGU2V8EHzP8wBeUqQQwllKTcCozpuFESk0AMJNSC3AxM8KYT6lpAFootRGLmLEQ6ynVCCBAqcSQ1cy4f8ghSs0HcMzvlKp+lRmvVFMqNQ6aaIoyd3Yy49vllOmuh+H4WZFIpFnTpJmjadTM1oQ1oVAgFNQENA0N9f01BIKh8OzGOU3NkbmXzwuV41/wNztgHKhu7WKTAAAAAElFTkSuQmCC",
@@ -220,11 +222,11 @@
toptextindex: 0, //上拉 转写文件下标
timer: null,
watchAllCommit: false, // 查看全部评论
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法
isPageHide: false, // 是否息屏
duration: '',
};
},
onLoad(options) {
@@ -241,8 +243,8 @@
this.timer = setTimeout(function() {
that.addHot()
}, 30000)
//注意: 不同的回调方法, 相同的业务函数方法名, 不会相互影响;
this.$zaudio.on('stop', this.ACTION, () => {
console.log('我是强制暂停或关闭小程序音频浮窗触发的')
@@ -254,11 +256,11 @@
this.duration = obj.duration
this.TimeUpdate(this.TIMEEVENT(obj.current))
})
uni.$on('THEFULLTEXT2', info => {
this.getluyinList(info)
})
},
onShow() {
//实时渲染当前的播放状态
@@ -267,15 +269,15 @@
if (this.stateisshow == 2) {
var info = this.itemobj;
}
!this.isPageHide && this.getluyinList(info);
},
onHide() {
this.isPageHide = true
},
onUnload() {
uni.$off('THEFULLTEXT2')
//卸载不需要的业务和获取播放状态的业务,提高页面性能
@@ -283,7 +285,7 @@
this.$zaudio.off('stop', this.ACTION);
this.$zaudio.off('playing', this.ACTION);
},

methods: {
toKeywordsearch() {
@@ -317,11 +319,13 @@
const message = this.dialogList[0].message;
if (!message) return
for (let i = 0; i < message.length; i++) {
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / 1000))) {
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)) {
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;
}
@@ -667,22 +671,20 @@
this.answerUserId = null;
this.textareaFocus = false;
},
//录音实例
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)
},

// 跳转指定位置播放
stepPlay(t) {
@@ -1209,6 +1211,7 @@
border-radius: 15rpx;
}
}

.scroll-Y .isGreen .contentInfo .contentMain .content {
background: #2BC805 !important;
color: #FFFFFF;
@@ -1340,7 +1343,7 @@
min-height: 90upx;
background: #F0F2F5;
width: 100vw;
display: flex;
display: flex;
align-items: center;
border-top: 1upx solid rgba(151, 151, 151, 0.25);



+ 18
- 7
pages/mine/ScoringPlaylist.vue View File

@@ -26,6 +26,7 @@
id:'',
type:'',
tipsFncName: '', // 提醒页面变更的值
from: '', // 标记需要刷新的来源
};
},
onLoad(options) {
@@ -33,6 +34,7 @@
this.id=options.id;
this.type=options.type;
if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent
if (options.from) this.from = options.from
this.searchinfo()
},
methods: {
@@ -86,13 +88,22 @@
uni.setStorageSync("entrance", 2); //写入缓存
uni.setStorageSync("searchobj", d[0]); //写入缓存
if(res[0].merge==0){
if (this.tipsFncName) uni.$emit(this.tipsFncName, d[0])
uni.$emit('newobjStatus', newobj.status)
uni.navigateBack()
// let newobj = res[0];
// uni.navigateTo({
// url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}`
// })
let newobj = res[0];
if (this.tipsFncName) {
uni.$emit(this.tipsFncName, d[0])
uni.$emit('newobjStatus', newobj.status)
uni.navigateBack()
return
}
if (this.from == 'consumerDetail') {
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}&refresh=true`
})
}
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}`
})
}else{
let newobj = res[0];
uni.navigateTo({


+ 49
- 16
pages/mine/details2.vue View File

@@ -34,7 +34,7 @@
<view :id="'dialog'+i" class="fileName">录音文件</view>
<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, isGreen: item.isShow == 0}"
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}"
:data-speaker="item.speaker" :id="'dialog'+csdFileindex+'text'+item.bg">
<view class="avatar">
<view :style="[SPEAKERSTYLE(item.speaker)]">
@@ -525,6 +525,7 @@
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法
isPageHide: false, // 是否息屏
duration: '', // 总时长
refresh: false, // 默认false
};
},
computed: {
@@ -541,25 +542,29 @@
this.itemobj = uni.getStorageSync('searchobj');
this.stateisshow = options.stateisshow;
this.$zaudio.autoPlay = true
//注意: 不同的回调方法, 相同的业务函数方法名, 不会相互影响;
this.$zaudio.on('stop', this.ACTION, () => {
console.log('我是强制暂停或关闭小程序音频浮窗触发的')
})
if (options.refresh) this.refresh = options.refresh
this.$zaudio.on('seek', this.ACTION, (time) => {
this.sliderChangeComplate(this.TIMEEVENT(time))
})
this.$zaudio.on('playing', this.ACTION, (obj) => {
//实时渲染当前的播放状态
this.$zaudio.syncRender()
this.duration = obj.duration
this.TimeUpdate(this.TIMEEVENT(obj.current))
})
this.$zaudio.on('error', this.ACTION, e => {
console.log(e, '加载失败')
})
this.$zaudio.on('ended', this.ACTION, e => {
console.log('音频播放结束')
this.$zaudio.stop()
this.init({bg: 0, customerId: this.customerId})
this.$nextTick(() => {
console.log(this.$zaudio,'音频播放结束')
this.init(this.itemobj)
})
})
uni.$on('DETAILS2INIT', (info) => {
this.itemobj = info
this.init(info)
});
@@ -603,14 +608,14 @@
onUnload() {
uni.$off('DETAILS2INIT')
uni.$off('newobjStatus')
// uni.$off('consumerDetail')
//卸载不需要的业务和获取播放状态的业务,提高页面性能
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: {

// 关闭弹窗
close() {
this.dialogList.forEach(res => {
@@ -707,7 +712,7 @@
this.Pinspeak = false
uni.navigateTo({
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item
.marketingId + "&type=" + 0
.marketingId + "&type=" + 0 + '&UpDateEvent=DETAILS2INIT'
})
}
},
@@ -1094,6 +1099,8 @@
this.getCorpusAnalysis(info);
this.zyAudio()
}
if (this.refresh) this.zyAudio()
}
})
},
@@ -1117,9 +1124,32 @@
})
}
},
//下一页
ltolower() {
var lengthcz = this.newluyinList.length - 1;
if (this.textindex >= lengthcz) {
uni.showToast({
title: '到底了',
duration: 2000
});
return
} else {
this.textindex = this.textindex + 1;
this.newluyinList[this.textindex].message.forEach(item => {
this.dialogList[0].message.push(item)
})
}
console.log("下一页", this.textindex)
},
//上一页
rolltoupper() {
if (this.toptextindex == 0) {
// uni.showToast({
// title: '到头了',
// duration: 2000
// });
return
} else {
if (this.dialogList[0] == undefined) {
@@ -1133,7 +1163,9 @@
})
}
}
console.log("上一页", this.toptextindex)
},
// 取消全部加精
notappick() {
var that = this;
@@ -1613,10 +1645,11 @@
this.$zaudio.setAudio(data)
//渲染第一首音频
this.$zaudio.setRender(0)

setTimeout(() => {
this.$zaudio.operate()
}, 150)
if (!this.refresh) {
setTimeout(() => {
this.$zaudio.operate()
}, 150)
}
},

// 跳转指定位置播放


+ 2
- 2
utils/domain.js View File

@@ -3,8 +3,8 @@
// const base = 'http://192.168.31.134:9999' ;// 佳豪
// const base = 'http://192.168.31.86:9999' ;// 胜浩
// const base = 'http://192.168.31.167:9999' // 长龙
const base = 'https://zanyong.hfju.com';// 正式 AI销管
// const base = 'https://hxz.quhouse.com';// 正式 AI销讲助手
// const base = 'https://zanyong.hfju.com';// 正式 AI销管
const base = 'https://hxz.quhouse.com';// 正式 AI销讲助手

// http.js使用
const baseUrl = `${base}/autoSR/api`;


Loading…
Cancel
Save