智慧保安互联网APP
shuishen
2021-11-24 09f1cc2f3892012c85381cc87240a039267fc1e0
语音发送修改
3 files modified
105 ■■■■ changed files
components/submit/submit.vue 2 ●●●●● patch | view | raw | blame | history
pages/groupChat/chating.vue 33 ●●●● patch | view | raw | blame | history
pages/groupChat/chatingQZ.vue 70 ●●●● patch | view | raw | blame | history
components/submit/submit.vue
@@ -235,7 +235,6 @@
                clearInterval(this.timer)
                recorderManager.stop()
                recorderManager.onStop((res) => {
                    console.log(res, 4589)
                    let data = {
                        voice: res.tempFilePath,
                        time: this.vlength
@@ -262,7 +261,6 @@
                            latitude: res.latitude,
                            longitude: res.longitude
                        }
                        this.send(data, 3)
                        console.log('位置名称' + res.name)
                        console.log('详细地址' + res.address)
                        console.log('维度' + res.latitude)
pages/groupChat/chating.vue
@@ -3,12 +3,12 @@
        <!-- 头部 -->
        <u-navbar style="position: relative;" :is-fixed="false" :border-bottom="true" :is-back="true" :title="recName"
            back-icon-color="#fff" :background="{ background: '#0BB9C8' }" title-color="#fff">
            back-icon-color="#fff" :background="{ background: '#0BB9C8' }" :placeholder="true" title-color="#fff">
            <view slot='right'>
            <!--     <view slot='right'>
                <u-icon @click="chatMessageDetail" class="set-icon" name="more-dot-fill" color="#fff" size="28">
                </u-icon>
            </view>
            </view> -->
        </u-navbar>
@@ -36,7 +36,7 @@
                        </view>
                        <!-- voice -->
                        <view class="message" v-if="item.messageType == 2">
                            <view class="msg-text voice" :style="{width:item.postMessage.time * 4 + 50 + 'px'}"
                            <view class="msg-text voice" :style="{width:item.postMessage.time * 4 + 60 + 'px'}"
                                @tap="playVoice(item.postMessage)">
                                <image src="../../static/images/chatroom/sound.png" mode="" class="voice-img" />
@@ -66,7 +66,7 @@
                        </view>
                        <!-- voice -->
                        <view class="message" v-if="item.messageType == 2">
                            <view class="msg-text voice" :style="{width:item.postMessage.time * 4 + 50 + 'px'}"
                            <view class="msg-text voice" :style="{width:item.postMessage.time * 4 + 60 + 'px'}"
                                @tap="playVoice(item.postMessage)">
                                {{ item.postMessage.time }}"
                                <image src="@/static/images/chatroom/sound.png" mode="" class="voice-img" />
@@ -140,12 +140,10 @@
            if (this.isJSON(option.data) == true) {
                data = JSON.parse(option.data)
            }
            console.log(data, 55555555555555555555555)
            this.name = ['wo', option.chatID];
            // console.log(data)
            if (typeof data.recipientName == "undefined") {
                this.callName = data.realName;
            } else {
@@ -158,7 +156,6 @@
            let that = this;
            uni.getSystemInfo({
                success(e) {
                    // console.log(e);
                    let {
                        windowWidth,
                        windowHeight,
@@ -175,6 +172,12 @@
                        .exec();
                }
            });
        },
        onUnload() {
            var innerAudioContext = this.innerAudioContext = uni.createInnerAudioContext()
            innerAudioContext.destroy()
        },
        methods: {
@@ -247,6 +250,7 @@
                                that.recAvatar = resdata[i].avatar;
                                that.recName = resdata[i].realName;
                            }
                        }
                        let msg = res.data.data.chatRecordsIPage
                        that.getData = msg;
@@ -282,6 +286,7 @@
                            }
                            that.msgs.unshift(msg[i])
                        }
                        that.$nextTick(() => {
@@ -346,7 +351,6 @@
            },
            // 音频播放
            playVoice(e) {
                console.log(e, 'ok')
                var innerAudioContext = this.innerAudioContext = uni.createInnerAudioContext()
                // innerAudioContext.autoplay = false
@@ -360,9 +364,6 @@
            },
            // 接收输入内容
            inputs(e) {
                console.log(e, 999)
                var that = this;
                this.isanimation = true
                let len = this.msgs.length - 1
@@ -390,7 +391,6 @@
                    mesagess = e.message
                }
                uni.request({
                    url: this.$store.state.piAPI + "/chat-records/insertSingleChat",
                    method: "post",
@@ -404,12 +404,14 @@
                    },
                    success: (res) => {
                        console.log(res, 89898)
                    }
                });
                this.msgs.push(sendMsg)
                console.log(this.msgs, 789)
                this.$nextTick(() => {
                    this.scrollToView = 'msg' + len
                })
@@ -421,7 +423,6 @@
            heights(e) {
                this.inputh = e
                this.goBottom()
                // console.log('高度' + e)
            },
            // 滚动到底部
            goBottom() {
pages/groupChat/chatingQZ.vue
@@ -37,10 +37,12 @@
                            </view>
                            <!-- voice -->
                            <view class="message" v-if="item.message_type == 2">
                                <view class="msg-text voice" :style="{width:item.post_message.time * 4 + 'px'}"
                                    @tap="playVoice(item.post_message.voice)">
                                <view class="msg-text voice" :style="{width:item.post_message.time * 4 + 60 + 'px'}"
                                    @tap="playVoice(item.post_message)">
                                    <image src="../../static/images/chatroom/sound.png" mode="" class="voice-img" />
                                    {{ item.post_message.time }} "
                                    {{ item.post_message.time }}"
                                </view>
                            </view>
                            <!-- location -->
@@ -66,9 +68,9 @@
                        </view>
                        <!-- voice -->
                        <view class="message" v-if="item.message_type == 2">
                            <view class="msg-text voice" :style="{width:item.post_message.time * 4 + 'px'}"
                                @tap="playVoice(item.post_message.voice)">
                                {{ item.post_message.time }} "
                            <view class="msg-text voice" :style="{width:item.post_message.time * 4 + 60 + 'px'}"
                                @tap="playVoice(item.post_message)">
                                {{ item.post_message.time }}"
                                <image src="@/static/images/chatroom/sound.png" mode="" class="voice-img" />
                            </view>
                        </view>
@@ -101,7 +103,6 @@
    import filter from '@/config/filter.js'
    import submit from '@/components/submit/submit.vue'
    import WxStorage from "../../static/lib/wxStorage.js"
    const innerAudioContext = uni.createInnerAudioContext()
    export default {
        data() {
@@ -256,6 +257,12 @@
                                msg[i].message = '../../static/images/index/friend-list/' + msg[i].message
                                that.imgMsg.unshift(msg[i].message)
                            }
                            if (that.isJSON(msg[i].post_message) == true) {
                                msg[i].post_message = JSON.parse(msg[i].post_message)
                            }
                            that.msgs.unshift(msg[i])
                        }
@@ -269,11 +276,32 @@
                        this.isload = true
                        // 开启加载
                        this.begainloading = true
                        console.log(that.msgs, 456)
                    }
                })
            },
            isJSON(str) {
                if (typeof str == 'string') {
                    try {
                        var obj = JSON.parse(str);
                        if (typeof obj == 'object' && obj) {
                            return true;
                        } else {
                            return false;
                        }
                    } catch (e) {
                        return false;
                    }
                }
            },
            // 预览图片
            previewImage(e) {
@@ -299,12 +327,20 @@
            },
            // 音频播放
            playVoice(e) {
                console.log('ok')
                innerAudioContext.src = e
                var innerAudioContext = this.innerAudioContext = uni.createInnerAudioContext()
                // innerAudioContext.autoplay = false
                innerAudioContext.src = e.voice
                innerAudioContext.play()
                setTimeout(() => {
                    innerAudioContext.destroy()
                }, e.time * 1000)
            },
            // 接收输入内容
            inputs(e) {
                console.log(e, 123)
                var that = this;
                this.isanimation = true
                let len = this.msgs.length - 1
@@ -318,19 +354,27 @@
                let sendMsg = {
                    sender_id: that.senId,
                    post_message: e.message,
                    message_type: 0,
                    message_type: e.types,
                    status: 0,
                    post_time: nowTime,
                    avatar: that.senAvatar
                }
                var mesagess = null;
                if (e.message instanceof Object) {
                    mesagess = JSON.stringify(e.message)
                } else {
                    mesagess = e.message
                }
                uni.request({
                    url: this.$store.state.piAPI + "/chatgroupc/submit",
                    method: "post",
                    data: {
                        senderId: that.senId,
                        postMessage: e.message,
                        messageType: 0,
                        postMessage: mesagess,
                        messageType: e.types,
                        status: 0,
                        postTime: sentTime,
                        gid: that.recipientId