瓢泼大雨

瓢泼大雨

100飞吻 2016-6-27 加入 来自中国 某城

(这个人懒得留下签名)

瓢泼大雨 最近的提问

瓢泼大雨 最近的回答

  • 2016-6-29 22:39:8说一点我关于layim的想法中回答:

    @贤心 我就是看了文档才这样说的,我知道有一部分跟我说的是一样的,但是看了文档,我觉得另外还有的东西耦合略紧。可能我表达的不是很清楚,我再举例详细说说。
    拿获取分组和好友信息来说,按文档说应该是调用layim.config
      layim.config({
    //获取主面板列表信息
    init: {
    url: '' //接口地址(返回的数据格式见下文)
    ,type: 'get' //默认get,一般可不填
    ,data: {} //额外参数
    }

    // 其他配置
    });
    虽然我没有源码,不清楚具体是如何实现的。但是我改过原来的layim,我猜, 你应该还是原来的思路:在主面板初始化完成后,根据配置的url,通过ajax去获取json数据,解析后渲染到面板上。

    这样,就意味着我必须在页面端写一套逻辑,返回文档指定格式的json才可以。但是,在旧系统改造时,有时这是不可能的。

    拿我们的例子来说,我们是两台服务器,一台web端,是c#写的办公系统;一台是xmpp服务器,跑聊天服务,用的openfire;所有的好友列表,群组关系等都在上边,如果我要用,我就必须在web端找一个库能同xmpp服务器进行通信,这样才能将xmpp服务器的消息格式转换为layim指定的消息格式。可是我找不到一个像样的对xmpp有完整支持的库。而且就算有,也意味着iis必须同xmpp保持socket连接,才能及时收到xmpp服务器的消息推送,但是iis如果过一段没人访问会自动释放所有资源(当然我知道可以配置这个),socket就会断线。而且更不用说有的系统会做负载均衡,可能你这次连的这个服务器,下次就跑到另外的服务器上去了,更找不到当时的连接了。

    可是,openfire本身是支持BOSH的,也有js库strophe.js可以直接同openfire保持连接,这样不管web服务器到底做不做负载均衡,到底能不能保持同xmpp服务器的长链接都没问题,web服务器只用起个引导作用,告诉哪里可以找到xmpp服务器,你在xmpp服务器上的身份信息是什么,就可以引导浏览器连接到xmpp服务器上去了。可layim强制约定只能通过ajax从web端获取好友数据的方式,导致了layim无法同strophe.js 集成。因为没有一个中间缓冲层供我将xmpp的xml格式的消息转换成layim需要的格式。

    所以我当时改的时候就在想,如果这个能写个适配层,将适配层和layim通过事件的形式绑定起来就好了。这样不管是什么样的IM后端,我都可以通过适配层来将layim和IM后端联系起来,而不用再修改layim的源码(更何况现在标准版的童鞋没有源码[嘻嘻] )。而且,layim要商业化,必然是要支持各种各样的场景的,不然就限制了客户群体,也是不利的。

    PS: 真的是很喜欢这套ui,包括layer也是很早就开始用了,希望layim能做成明星产品。

    以上。(不知表达清楚了没,如果你还没看懂,你过来打我啊[阴险]
  • 2016-6-27 11:58:18【已结束】LayIM开放20个无偿下载通道中回答:

    已获得通过,感谢贤心[挤眼]
  • 2016-6-27 10:57:38【已结束】LayIM开放20个无偿下载通道中回答:

    我也支持下[嘻嘻]
    原来用过老的layim结合openfire做过一个webIM系统,其实我还是觉得webIM的话能提供前后端一体化解决方案比较好,这样开箱即用,减少了好多麻烦。而且IM后端写起来也是坑居多无比, 自己写的话够喝一壶的。