微信小程序对话板块的实现(二、代码改写)

需要将代码移植,实现程序内用户的聊天连接。

 我希望点击私聊的时候可以跳转到聊天室,那么我们需要什么,参考GoEasyIM通信demo里的代码段:

当我们点击头像就会进入聊天室,代码如下:

enterChat (e) {//进入私聊
		let type = e.currentTarget.dataset.type;
		let conversation = e.currentTarget.dataset.conversation;
		let path = type === wx.GoEasy.IM_SCENE.PRIVATE?
			'../chat/privateChat/privateChat?to='+conversation.uuid
            :'../chat/groupChat/groupChat?to='+ conversation.uuid;
            console.log(e.currentTarget.dataset.type)
		wx.navigateTo({
			url : path
		});
	}

 但是仅仅copy这段代码是不够的,由于本身是通讯录的结构,所以存在用户列表这个功能,所以在页面onshow的时候这些信息也要获取一遍,后面会用到。

let currentUser=wx.getStorageSync('currentUser');
    let friends = restapi.findFriends(currentUser);
	let groups = restapi.findGroups(currentUser);
    this.setData({
        currentUser:currentUser,
        friends: friends,
		groups:	groups,
    });
    let userinfo =wx.getStorageSync('userInfo');
    let username =userinfo.nickName;
    let password =wx.getStorageSync('openid');
    let user = restapi.findUser(username,password);
    if(user){
      wx.setStorageSync('currentUser', user);
      return;
    }

就是对“私聊”这个按钮的定义,我们在wxml里看一下:

<!-- 私聊开始 -->
    <button class="attention" wx:for="{{friends || []}}" wx:for-item="friend" 
bindtap="enterChat" data-type="private" data-conversation="{{friend}}" wx:key="key">私聊</button>
<!-- 私聊结束 -->

wx:for="{{friends || [] }}"应该是好友列表的列表,按顺序排列,所以这里点击“私聊”跳转的其实是好友列表里的第一个人,这里仅做连接的测试,所以先不计较,后续做修改。

 

 点击后可见成功跳转,发送消息也是正常的。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值