项目1.3版本遇到的关于通知的一些问题

公司的项目是仿微信端的项目,具体实现是当我@某人的时候,会拼接成一个格式

// @消息格式

{

"extra": "",  -- 扩展字段

"members": [{  -- @成员

"name": "李小四", -- 人员名称

"id": 111873 -- 人员userId

}],

"message": "@李小四" -- 消息内容

}

其中extra是我发送方的Id,members是我@的成员的数组,每@一个成员就是一个字典,message是我的文本内容

就是当我两个用户同时在线通讯的时候,如果某一个人@了我,会socket ack解析并发送一个通知,将我的信息发送过去同时并刷新界面,这个通知是一对多的关系,因为涉及到刷新最近会话信息的内容,但是我把最近会话信息的通知传过来的对象的改变了,因为通知传值其实访问的是同一个堆的内容,当我改变堆里面的原始值的时候,伴随着我的通知的内容也发生变化,因此导致我的聊天界面解析错误,出现一个空文本,后面的策略就是所有的信息都是在根据type类型在显示界面去判断做处理,这样不会导致数据在传输过程中,中途被修改掉,导致数据发生错误。




最后说到了type类型,一般我们使用的是枚举,在项目中属性传值虽然不是主流,但是有的时候也是经常用到的,譬如说:当我从不同的源头push到相同界面的时候会判断让显示的内容不一致,这个时候我一般会在创建并push的时候会穿一个bool值给下一个界面,根据bool值来显示不同界面我应该执行的操作,其实bool值或者int值这样直接写是有点low的,其实我完全可以使用枚举去代替,并且使用定义语义,这样看起来不仅通俗易懂而且逼格立马也升了一个台阶...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值