diff --git a/pages/im/components/sentText.vue b/pages/im/components/sentText.vue
index 79c8a1b..723ae3e 100644
--- a/pages/im/components/sentText.vue
+++ b/pages/im/components/sentText.vue
@@ -1,7 +1,7 @@
-
+
@@ -41,14 +41,13 @@
})
},
beforeDestroy() {
- RongIMLib.saveTextMessageDraft(this.conversationType, this.targetId, this.inputTxt, (res) => {
- console.log('销毁组件之前,保存草稿信息,但是没有执行', res);
- })
- },
- data() {
- return {
- focusState: false,
- }
+ // 保存草稿
+ RongIMLib.saveTextMessageDraft(this.conversationType, this.targetId, this.inputTxt)
+ },
+ data() {
+ return {
+ focusState: false,
+ }
},
methods: {
// 发送文本消息
@@ -60,16 +59,16 @@
this.inputTxt = ''
})
}
- },
- demo(){
- console.log(this.focusState)
-
- this.focusState = !this.focusState
},
- focus() {
- this.$emit('focus')
+ demo() {
+ console.log(this.focusState)
+
+ this.focusState = !this.focusState
},
- blur() {
+ focus() {
+ this.$emit('focus')
+ },
+ blur() {
uni.hideKeyboard()
this.$emit('blur')
}
diff --git a/pages/im/components/showImage.vue b/pages/im/components/showImage.vue
index ccd89e6..7654eb6 100644
--- a/pages/im/components/showImage.vue
+++ b/pages/im/components/showImage.vue
@@ -1,72 +1,110 @@
-
-
- {{ name }}
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/showText.vue b/pages/im/components/showText.vue
index 2f32ebe..ffa4d01 100644
--- a/pages/im/components/showText.vue
+++ b/pages/im/components/showText.vue
@@ -1,8 +1,8 @@
-
- {{ name }}
+
+ {{ contact(message.senderUserId).name }}
- {{ msg.content }}
+ {{ content }}
@@ -11,21 +11,30 @@
export default {
name: 'showText',
props: {
- msg: {
+ message: {
type: Object,
default: () => {
return {}
}
},
- name: {
- type: String,
- default: ''
- },
- guest: {
+ isGroup: {
type: Boolean,
- default: true
+ default: false
}
- }
+ },
+ computed: {
+ isRemote() {
+ return this.message.messageDirection == 2
+ },
+ content() {
+ return this.message.content.content
+ },
+ contact() {
+ return function(targetId) {
+ return this.$store.getters.contactInfo(targetId)
+ }
+ }
+ },
}
diff --git a/pages/im/components/showVoice.vue b/pages/im/components/showVoice.vue
index f081dd7..91b7b3e 100644
--- a/pages/im/components/showVoice.vue
+++ b/pages/im/components/showVoice.vue
@@ -1,12 +1,14 @@
-
-
- {{ contact(message.senderUserId).name }}
-
-
- {{ duration }}"
-
-
-
+
+
+ {{ contact(message.senderUserId).name }}
+
+
+
+ {{ duration }}"
+
+
+
+
@@ -31,9 +33,8 @@
duration() {
return this.message.content.duration
},
- guest() {
- return this.message.messageDirection == 2
-
+ isRemote() {
+ return this.message.messageDirection == 2
},
contact() {
return function(targetId) {
@@ -61,10 +62,12 @@
}
},
playMsg(path) {
+ uni.$emit('onVideoMessagePlay')
const innerAudioContext = uni.createInnerAudioContext()
innerAudioContext.src = path
innerAudioContext.autoplay = true
innerAudioContext.onStop(resStop => {
+ uni.$emit('onVideoMessageStop')
innerAudioContext.destroy()
})
innerAudioContext.onError(err => {
@@ -83,36 +86,45 @@
.msg--voice {
display: flex;
- flex-direction: row;
- justify-content: space-between;
align-items: center;
- height: 79rpx;
- width: 170rpx;
- padding: 0 20rpx;
- box-sizing: border-box;
- .icon {
- width: 38rpx;
- height: 38rpx;
+ .u-badge {
+ margin-left: 20rpx;
}
- &.left {
- border-radius: 0 20rpx 20rpx 20rpx;
- background: white;
+ .voice {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ height: 79rpx;
+ width: 170rpx;
+ padding: 0 20rpx;
+ box-sizing: border-box;
- .duration {
- color: #333;
- font-size: 30rpx;
+ .icon {
+ width: 38rpx;
+ height: 38rpx;
}
- }
- &.right {
- border-radius: 20rpx 0 20rpx 20rpx;
- background: $main-color;
+ &.left {
+ border-radius: 0 20rpx 20rpx 20rpx;
+ background: white;
- .duration {
- color: white;
- font-size: 30rpx;
+ .duration {
+ color: #333;
+ font-size: 30rpx;
+ }
+ }
+
+ &.right {
+ border-radius: 20rpx 0 20rpx 20rpx;
+ background: $main-color;
+
+ .duration {
+ color: white;
+ font-size: 30rpx;
+ }
}
}
}
diff --git a/pages/im/group/chat.vue b/pages/im/group/chat.vue
index efdb6f0..ab2a2d1 100644
--- a/pages/im/group/chat.vue
+++ b/pages/im/group/chat.vue
@@ -11,10 +11,8 @@
:src="contact(item.senderUserId).portraitUrl" />
-
-
+
+
diff --git a/pages/im/private/chat.vue b/pages/im/private/chat.vue
index aa954fa..ff3b355 100644
--- a/pages/im/private/chat.vue
+++ b/pages/im/private/chat.vue
@@ -12,16 +12,9 @@
:src="contact(item.senderUserId).portraitUrl" />
-
-
-
-
- {{ item.sentStatus == 50 ? '已读': '未读'}}
-
+
+
+
@@ -36,9 +29,9 @@
import showImage from '../components/showImage'
import showText from '../components/showText'
import showCall from '../components/showCall'
- import sentMessageBar from '../components/sentMessageBar'
- import utils from '@/utils/index.js'
-
+ import sentMessageBar from '../components/sentMessageBar'
+ import utils from '@/utils/index.js'
+
export default {
components: {
sentMessageBar,
@@ -48,7 +41,7 @@
showCall
},
data() {
- return {
+ return {
avatarRpx: 84,
targetId: '',
messages: [],
@@ -60,9 +53,9 @@
}
}
},
- computed: {
- avatarSize() {
- return utils.rpx2px(this.avatarRpx)
+ computed: {
+ avatarSize() {
+ return utils.rpx2px(this.avatarRpx)
},
latestMessage() {
if (this.messages.length) {
@@ -100,7 +93,7 @@
}
})
// 监听收到新消息,判断是否是当前会话,更新会话内容
- uni.$on('onReceiveMessage', (msg) => {
+ uni.$on('onReceiveMessage', (msg) => {
if (msg.targetId == this.targetId) {
this.getNewMessage()
}
@@ -184,7 +177,7 @@
.time {
text-align: center;
font-size: 24rpx;
- color: #666;
+ color: #666;
margin-bottom: 10rpx;
}
@@ -207,20 +200,19 @@
.msg {
margin: 0 20rpx;
+ // .state {
+ // padding-top: 10rpx;
- .state {
- padding-top: 10rpx;
+ // .state-text {
+ // font-size: $title-size-m - 2;
+ // color: rgba($color: $main-color, $alpha: 0.3)
+ // }
- .state-text {
- font-size: $title-size-m - 2;
- color: rgba($color: $main-color, $alpha: 0.3)
- }
-
- .state-text-active {
- font-size: $title-size-m - 2;
- color: #cecece;
- }
- }
+ // .state-text-active {
+ // font-size: $title-size-m - 2;
+ // color: #cecece;
+ // }
+ // }
}
}