2018-09-19 更新 :现在已经更新ASP.NET Core Middleware版本。对.NET Core SignalR感兴趣的朋友移步:https://github.com/fanpan26/LayIM.AspNetCore

 前端时间听一个技术朋友说 LayIM 2.0 发布了,听到这个消息抓紧去官网看了一下。(http://layim.layui.com/)哎呀呀,还要购买授权【大家支持一下哦】,果断买了企业版,喜欢钻研的我没有源码怎么行,说来也惭愧,发布好久了我才知道。之前写过一系列的博客,当时是ASP.NET SignalR 结合 LayIM 1.0 的一个小程序。看了一下最新版本的LayIM,太赞了。我电脑里的VS已经蠢蠢欲动了。话不多说,先预览一下效果。

  主聊天界面:

  好友列表界面:

      

  以及自定义好友,群,聊天历史记录页面等。总而言之呢,确实比LayIM提高了若干个档次。想看更多文档或者效果的话,去官网吧。

  好了,进入正题,LayIM 只有界面还是不太饱满的,为此,我将继续开发将它完善,最终效果肯定要比第一版的功能丰富强大的。至于代码上,由于技术有限,肯定会有或多或少的问题,欢迎各位高手指正。本篇博客呢是一篇预告,有兴趣的朋友可以跟着我一起做开发,目前已经进展了一段了,我先把准备工作介绍一下。

===========================================华丽的分割线===========================================

  首先呢,要开发Layim当然少不了它这一套框架,layui是完全免费的,layim是分标准版和企业版,是需要收费的,具体呢,去官网了解一下即可,我再此不多做赘述。准备工作如下:

  • layim框架
  • 开发环境:VS2015 + SQL 2014【08,12也可】 备选:(rabbitmq环境,elasticsearch环境)对后边这两个环境不感兴趣的可不用做配置了。本系列博客将会在最后简单介绍一下。
  • 框架架构,简单三层+MVC ,SQL语句加存储过程开发方式。没有用ORM,喜欢用ORM的朋友,可以在建完表之后自行使用ORM实现相关部分业务即可

  下面我们先将官网的DEMO跑起来:

  项目结构:(代码在博客最终章会开源,博客会跟项目一起走

  BLL,DAL,Model我就不介绍了。Utils有一些帮助方法,ChatServer是signalR核心代码类库(Hub代码),至于Queue,ElasticSearch 先放一边,不要管,建好空项目就好。

  我们先来到UI界面,将layim框架放到项目里面,layim当中js都是以这种形式引用和执行的。

layui.use(['layim', 'hub'], function (layim, hub) {})

  那么我们也入乡随俗,至于怎么修改js,下一章我会详细介绍,在此,我们先让layim在项目中跑起来。DEBUG-调试,走起~~ 检查一下console有没有js错误,看看界面有没有出来.如我们所愿,开局还算顺利,不过后边的路还长,加油。周末来了,代码撸起来。

  

  下篇预告【初级】ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)

  想要学习的小伙伴,可以关注我的博客哦,我的QQ:645857874,Email:fanpan26@126.com

ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言的更多相关文章

  1. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列

    ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言  http://www.cnblogs.com/panzi/p/5742089.html ASP.NET S ...

  2. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换

    前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来 ...

  3. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)

    大家好,本篇是接上一篇 ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言  ASP.NET SignalR WebIM系列第二篇.本篇会带领大家将 LayIM ...

  4. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。

    上篇:ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取) 上一篇我们已经完成了初步界面的搭建工作,本篇将介绍IM的核心内容 ...

  5. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(三) 之 实现单聊,群聊,发送图片,文件。

    上篇讲解了如何搭建聊天服务器,以及客户端js怎么和layui的语法配合.服务器已经连接上了,那么聊天还会远吗? 进入正题,正如上一篇提到的我们用 Client.Group(groupId)的方法向客户 ...

  6. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(四) 之 用户搜索(Elasticsearch),加好友流程(1)。

    前面几篇基本已经实现了大部分即时通讯功能:聊天,群聊,发送文件,图片,消息.不过这些业务都是比较粗犷的.下面我们就把业务细化,之前用的是死数据,那我们就从加好友开始吧.加好友,首先你得知道你要加谁.L ...

  7. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现

    前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于LayIM已经封装好的上传文件或者图片的问题.对接好接口之后,如果上传速度慢,界面就会出现假死情况,虽然文件正在上传.于是我就简单做了个图标替代 ...

  8. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(六) 之 Layim源码改造右键菜单--好友、组管理功能的实现。

    前言 上一篇中讲解了加好友的流程,本篇将介绍好友管理,群组管理的右键菜单功能.当然由于菜单项目太多,都实现也得花费时间.只讲解一下我是如何从不知道怎么实现右键菜单到会自定义菜单的一个过程.另外呢,针对 ...

  9. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。

    前言 上一篇讲解了如何自定义右键菜单,都是前端的内容,本篇内容就一个:查询.聊天历史纪录查询,在之前介绍查找好友的那篇博客里已经提到过 Elasticsearch,今天它又要上场了.对于Elastic ...

随机推荐

  1. 在使用开源library的PullToRefreshView中

    下拉刷新几乎是每个应用都会有的功能,且大部分用的都是开源项目,下载地址:下拉刷新.如何在页面刚打开的时候自动触发下拉刷新的呢? 只需要一句代码,在PullToRefreshAdapterView Ba ...

  2. Javascript高级程序设计——引用类型

    对象在javascript中被称为引用类型的值,而且有一些内置的引用类型可以创建特定的对象: 引用类型与传统面向对象中的程序设计的类相似,但实现不同: Object是一个基础类型,其他所有类型都从Ob ...

  3. ii7安装php

    http://www.jb51.net/article/22372.htm 我们知道php配置有几种: 1.CGI方式加载PHP环境,通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使 ...

  4. mybaitis uuid插入和定义返回类型

  5. python 中的unicode详解

    通过例子来看问题是比较容易懂的. 首先来看,下面这个是我新建的一个txt文件,名字叫做ivan_utf8.txt,然后里面随便编辑了一些东西. 然后来用控制台打开这个文件,同样也是截图: 这里就是简单 ...

  6. SSH-Struts第三弹:传智播客视频教程第一天上午的笔记

    一. 框架概述1.三大框架 : 是企业主流 JavaEE 开发的一套架构 Struts2 + Spring + Hibernate 2. 什么是框架?为什么要学框架 ?框架 是 实现部分功能的代码 ( ...

  7. 跟着百度学PHP[4]OOP面对对象编程-12-抽象类

    什么是抽象方法?我们在类里面定义的没有方法体的方法就是抽象方法.所谓的没有方法体指的是,在方法声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个 ...

  8. javascript,检测对象中是否存在某个属性

    检测对象中属性的存在与否可以通过几种方法来判断. 1.使用in关键字. 该方法可以判断对象的自有属性和继承来的属性是否存在. var o={x:1}; "x" in o; //tr ...

  9. git cherry-pick简介

    本文编辑整理自: http://sg552.iteye.com/blog/1300713 http://web.mit.edu/bitbucket/git-doc/git-cherry-pick.tx ...

  10. Majority Number I & || && |||

    Majority Number Given an array of integers, the majority number is the number that occurs more than ...