前后端交互3 发送消息1

1 当我们点击好友时,即可进入与好友的聊天界面,并将当前好友信息传递到聊天界面。在当前会话页面中,可获取上个页面传过来的好友信息。

 通过JSON.parse()将传递过来的字符串转换成对象

 之后,在页面刚加载时,就创建聊天对象,other的值为从上个页面传递过来的值

 

onLoad(e) {

		this.other = JSON.parse(e.data);
		// 创建聊天对象
         // this.chat为vuex中state中的chat对象 this.chat.createChatObject(this.other) },

 

2.    当点击发送按钮,触发send事件

  send事件中,首先需要组织发送数据的格式(调用Chat类中的formatSendData方法)

  之后将数据渲染到页面

  最后,调用Chat类的send方法发送消息

		send(type, data='', options = {}) {
			// 组织数据格式
			let message = this.chat.formatSendData({
				type: 'text',
				data: this.text,
				options,
			})
			
			
			// 渲染到页面
			// 拿到数组的长度
			let index = this.chatList.length
			this.chatList.push(message)
		
			this.chat.send(message)
			.then(res => {
				console.log(res)
				
				// 发送成功
				this.chatList[index].id = res.id
				this.chatList[index].sendStatus = 'success'
			}).catch(err => {
				console.log(err)
				// 发送失败
				this.chatList[index].sendStatus = 'fail'
			})
		}

 

3. Chat.js

posted @ 2020-04-05 15:28  改变就是好事哈  阅读(229)  评论(0编辑  收藏  举报