diff --git a/pages.json b/pages.json index 61a9c6a..cf49ac9 100644 --- a/pages.json +++ b/pages.json @@ -631,6 +631,12 @@ "navigationBarBackgroundColor": "#34CE98", "navigationBarTextStyle": "white" } + }, + { + "path": "pages/im/chatDemo", + "style": { + "navigationBarTitleText": "demo" + } } ], "tabBar": { diff --git a/pages/im/chatDemo.nvue b/pages/im/chatDemo.nvue new file mode 100644 index 0000000..9ad8468 --- /dev/null +++ b/pages/im/chatDemo.nvue @@ -0,0 +1,28 @@ + + + + + diff --git a/pages/im/components/sentMessageBar.nvue b/pages/im/components/sentMessageBar.nvue index b09be2e..0a0f785 100644 --- a/pages/im/components/sentMessageBar.nvue +++ b/pages/im/components/sentMessageBar.nvue @@ -11,8 +11,8 @@ - + @success="onSuccess" @focus="onHidePopus" /> + @@ -56,7 +56,13 @@ }, onSuccess() { this.$emit('onSuccess') - } + }, + // 处理弹出层 + onHidePopus(){ + if(this.showPopups){ + this.showPopups = false + } + } } } diff --git a/pages/im/components/sentPopups.nvue b/pages/im/components/sentPopups.nvue index 6772875..84d5f50 100644 --- a/pages/im/components/sentPopups.nvue +++ b/pages/im/components/sentPopups.nvue @@ -110,14 +110,14 @@ this.callShow = true break; case 'location': - uni.showToast({ - icon: 'none', - title: '功能正在开发中' - }) + // uni.showToast({ + // icon: 'none', + // title: '功能正在开发中' + // }) // uni.chooseLocation({ // success: res => { // console.log(res); - // this.success() + // // this.success() // } // }) break; diff --git a/pages/im/components/sentText.nvue b/pages/im/components/sentText.nvue index ee7ef6b..90e006e 100644 --- a/pages/im/components/sentText.nvue +++ b/pages/im/components/sentText.nvue @@ -1,8 +1,8 @@ @@ -44,6 +44,11 @@ RongIMLib.saveTextMessageDraft(this.conversationType, this.targetId, this.inputTxt, (res) => { console.log('销毁组件之前,保存草稿信息,但是没有执行', res); }) + }, + data() { + return { + focusState: false, + } }, methods: { // 发送文本消息 @@ -55,11 +60,17 @@ this.inputTxt = '' }) } + }, + demo(){ + console.log(this.focusState) + + this.focusState = !this.focusState }, - focus() { - this.$emit('focus') + focus() { + this.$emit('focus') }, - blur() { + blur() { + uni.hideKeyboard() this.$emit('blur') } } diff --git a/pages/im/group/chat.nvue b/pages/im/group/chat.nvue index f2522e6..f83d190 100644 --- a/pages/im/group/chat.nvue +++ b/pages/im/group/chat.nvue @@ -1,6 +1,6 @@ @@ -53,7 +53,13 @@ }, computed: { latestMessage() { - return this.messages[this.messages.length - 1] + if (this.messages.length > 1) { + return this.messages[this.messages.length - 1] + } else { + return { + sentTime: 0 + } + } } }, onLoad(e) { @@ -75,7 +81,10 @@ url: '/pages/im/group/info?targetId=' + this.targetId }) }, - methods: { + methods: { + onScroll(e){ + this.$refs.messageBar.onHidePopus() + }, toUser(item) { if (item.senderUserId == '__system__') { return diff --git a/pages/im/index.vue b/pages/im/index.vue index 5cb1a75..c16cbb1 100644 --- a/pages/im/index.vue +++ b/pages/im/index.vue @@ -20,7 +20,8 @@ - + + 临时测试用 @@ -71,7 +72,13 @@ onHide() { uni.$off('onReceiveMessage') }, - methods: { + methods: { + onDemo(){ + console.log('1111') + uni.navigateTo({ + url: '/pages/im/chatDemo' + }) + }, checkNewFriendPending() { im.getPendingList((pendings) => { this.hasNewFriends = pendings.length diff --git a/pages/im/private/chat.nvue b/pages/im/private/chat.nvue index 1fb5400..02dfc0f 100644 --- a/pages/im/private/chat.nvue +++ b/pages/im/private/chat.nvue @@ -61,8 +61,14 @@ } }, computed: { - latestMessage() { - return this.messages[this.messages.length - 1] + latestMessage() { + if (this.messages.length > 1) { + return this.messages[this.messages.length - 1] + } else { + return { + sentTime: 0 + } + } } }, onLoad(e) { @@ -103,7 +109,7 @@ im.getMessageList( this.conversationType, this.targetId, - this.latestMessage.sentTime, + this.latestMessage.sentTime || 0, 1, false, (messages) => { diff --git a/router/index.js b/router/index.js index c9daf3f..f9e2b07 100644 --- a/router/index.js +++ b/router/index.js @@ -13,6 +13,8 @@ const ROUTES = [{ "path": "/pages/im/private/chat" }, { "path": "/pages/im/group/chat" +}, { + "path": "/pages/im/chatDemo" }]; // #endif