默认
发表评论 11
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求教MobileIMSDK-Web服务端的callBack_authedInfo回调函数
阅读(29342) | 评论(11 收藏 淘帖
function callBack_authedInfo(loginInfo){
    return loginInfo;这个参数是登录时用户提交的信息,返回为啥还是这个个人认证信息,创建这个函数有什么意义?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

推荐方案
评论 11

你应该理解传统的Web系统里的Session这个东西吧,就是你登陆成功一个网页系统后,你的web系统的服务端,会把你的个人信息存到session里,你下次再进行http请求的时候,服务端可以通过session判定你是否是登陆过的用户,如果是就允许你继续操作,不允许就让你重新登陆不能再继续。

如果上面的这个传统web信息系统里的session机制,你完全能理解,那么MobileIMSDK-Web框架里的这个回调实际上就是同一个东西。

因为MobileIMSDK-Web框架在你首次连接(提交登陆信息:用户名、密码)时,会在服务端检查你的登陆信息正确性(就是验证用户名、密码这个过程了,哪个系统都有这个),如果正确就这个人的额外信息也放到socket句柄里(这个socket句柄就相当于普通web信息系统里的session了),下次这个用户再进行数据发送时,服务端就能从这个socket里拿出这个人的信息,看看:是否已认证过(没认证过就不允许数据的发送等),如果认证过,就可以在你后绪的代码逻辑里随时通过socket.authedInfo属性从里面拿到刚存的个人信息,全局都可以用,方便,直到退出连接前,再也不用重复从诸如数据库这样的地方再查询一次了。

另外,你从MobileIMSDK-Web框架的源码里,也很容易理解,就这么点事情而已:
[已回复] 求教MobileIMSDK-Web服务端的callBack_authedInfo回调函数_aaa.png

以上讲的,能否理解。
这个能够理解,但是那个框架里面没有密码,只需要创建一个用户名即可,这就没有必要用到session了吧,而且这个可以做一个登录界面,然后链接数据库也可以的吗?
还有一个问题,main.js这一模块运行出问题,
$(function() {
^

ReferenceError: $ is not defined
引用:天上白玉京 发表于 2019-03-05 09:54
这个能够理解,但是那个框架里面没有密码,只需要创建一个用户名即可,这就没有必要用到session了吧,而且 ...

其实,一个正经的IM系统,这个sdk的登陆连接(准确地说是连接)服务器之前,应该是调用你用http写的普通的登陆接口(就像你的web系统一样),你的http登陆接口验证成功后,返回的用户id再传给sdk来连接im服务器,im服务器就不需要实现什么数据库查询这些了(等于你连接im服务器时,im服务器不需要再验证这个用户名和密码了,直接用你刚才的http接口验证完成后,返回的用户id就行。因为im系统里只有唯一用户id,就能保证帮你完成通信,就这么简单)。

大一点的系统里,因为登陆接口都提炼成了单点登陆接口,就很容易理解了。
引用:天上白玉京 发表于 2019-03-05 10:54
还有一个问题,main.js这一模块运行出问题,
$(function() {
^

这个$是jquery的函数,你查一下你的网页里有没有正确引用jquery库吧,这算是最基本的前端开发常识了。

最简单的作法,就是参考demo,demo里引用了什么你就引用什么,没有必要自作聪明自已又从零摸索的
就是demo里面的一直报错,,,,$这个一直提示未定义,而且jQuery引用是对的
还有就是那个登录界面是怎么隐藏起来的
加油@@
引用:天上白玉京 发表于 2019-03-20 10:36
还有就是那个登录界面是怎么隐藏起来的

$("#login_form").hide();//隐藏
$("#login_success").show();//显示

js有好几种隐藏方式,具体你可以百度,写的很明白,自己写个demo玩一下就会了
引用:NowIsGood. 发表于 2019-04-08 10:59
$("#login_form").hide();//隐藏
$("#login_success").show();//显示

正解。
前端的这些知识是确实是常识了。
demo可以添加群聊和文件传输功能吗,有这方面的知识或者demo推荐吗
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部