ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言
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聊天室(零) 前言的更多相关文章
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列
ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言 http://www.cnblogs.com/panzi/p/5742089.html ASP.NET S ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(十二) 代码重构使用反射工厂解耦(一)缓存切换
前言 上一篇中,我们用了反射工厂来解除BLL和UI层耦合的问题.当然那是最简单的解决方法,再复杂一点的程序可能思路相同,但是在编程细节中需要考虑的就更多了,比如今天我在重构过程中遇到的问题.也是接下来 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取)
大家好,本篇是接上一篇 ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(零) 前言 ASP.NET SignalR WebIM系列第二篇.本篇会带领大家将 LayIM ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(二) 之 ChatServer搭建,连接服务器,以及注意事项。
上篇:ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(一) 之 基层数据搭建,让数据活起来(数据获取) 上一篇我们已经完成了初步界面的搭建工作,本篇将介绍IM的核心内容 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(三) 之 实现单聊,群聊,发送图片,文件。
上篇讲解了如何搭建聊天服务器,以及客户端js怎么和layui的语法配合.服务器已经连接上了,那么聊天还会远吗? 进入正题,正如上一篇提到的我们用 Client.Group(groupId)的方法向客户 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(四) 之 用户搜索(Elasticsearch),加好友流程(1)。
前面几篇基本已经实现了大部分即时通讯功能:聊天,群聊,发送文件,图片,消息.不过这些业务都是比较粗犷的.下面我们就把业务细化,之前用的是死数据,那我们就从加好友开始吧.加好友,首先你得知道你要加谁.L ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(五) 之 加好友,加群流程,消息管理和即时消息提示的实现
前言 前前一篇留了个小问题,在上一篇中忘了写了,就是关于LayIM已经封装好的上传文件或者图片的问题.对接好接口之后,如果上传速度慢,界面就会出现假死情况,虽然文件正在上传.于是我就简单做了个图标替代 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(六) 之 Layim源码改造右键菜单--好友、组管理功能的实现。
前言 上一篇中讲解了加好友的流程,本篇将介绍好友管理,群组管理的右键菜单功能.当然由于菜单项目太多,都实现也得花费时间.只讲解一下我是如何从不知道怎么实现右键菜单到会自定义菜单的一个过程.另外呢,针对 ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(七) 之 历史记录查询(时间,关键字,图片,文件),关键字高亮显示。
前言 上一篇讲解了如何自定义右键菜单,都是前端的内容,本篇内容就一个:查询.聊天历史纪录查询,在之前介绍查找好友的那篇博客里已经提到过 Elasticsearch,今天它又要上场了.对于Elastic ...
随机推荐
- java之BASE64加解密
1.简介 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,采用Base64编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到. 注:位于jdk的java.util包中. 2. ...
- PowerDesigner的使用(一)
一. PowerDesigner 功能 1. 需求管理:记录需求,分析设计模型 2. 生成文档:生成HTML格式文档,方便沟通. 3. 影响度分析:模型之间连接起来,同步修改功能. 4. 数据映射:提 ...
- MongoDB的学习和使用(查询find)
语法 MongoDB 查询数据的语法格式如下: >db.COLLECTION_NAME.find() find() 方法以非结构化的方式来显示所有文档. 如果你需要以易读的方式来读取数据,可以使 ...
- NOSQL的学习
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",指的是非关系型的数据库.NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的 ...
- BZOJ2466——[中山市选]树
1.题目大意:给你一棵树,树的每个节点都有一个权值,是0或1,最开始都是0,你可以做一种修改操作,就是把一个节点和它相邻的 节点的权值取反,问最少几次修改能把所有节点的权值变得都是1,最多100个节点 ...
- Spring结合Quartz实现多任务定时调用(转载)
Quartz框架提供了丰富的任务调度支持,比如,在 何时执行何种任务,它是一个开源的由OpenSymphony维护的项目,开发者能够在Java EE,或单独的Java SE应用中使用它.无论是简单的任 ...
- sublime配置markdown
1.安装sublime 2.安装package control 3.ctrl+shift+P输入install进入Install Packages 4.安装markdown preview 5.配置删 ...
- CentOS6.5安装Tab增强版:bash-completion
CentOS6.5安装Tab增强版:bash-completion,可补全命令参数: 因为CentOS官方源并不带有bash-completion的包,所以,为了可用yum安装,增加epel的源, 首 ...
- Routing in ASP.NET Web API和配置文件的设定读取
Routing Tables In ASP.NET Web API, a controller is a class that handles HTTP requests. The public me ...
- Calendar类测试
public static void main(String[] args) throws ParseException { // 字符串转换日期格式 // DateFormat fmtDateTim ...