昨天公司进行上线前集成IM聊天工具,我负责这块的调试,忙了一下午加上一晚上。实际上没有难度的,但给我带来了很多麻烦。让我一一道来吧。
调试工作主要是在js端进行的,im又只能用ie来调试,ie的debug工具我又不会用,我就是用了最原始的alert();场景是这样的,当用户已经登录网站平台的时候,如果发起聊天的
话,那就会让用户自动登录客户端,同时打开聊天窗口。 传入七个参数,分别是TypeId,loginName,paramvalue,spareField,username,password,logRole分别代表 平台代码,对方登录名,参数值,对方用户角色,发起方用户名,发起方登录密码,发起方平台角色。UML顺序图如下:
在开发过程中,发生了一系列悲催的事情:
我无意间用了两次递归调用,重启了两次机器。
接口调用参数不明确,参数传递出现混乱,调试中大多数都是在找这个原因。
在js的settimeout这个函数纠结了很多次,最后发现这是个定时执行的函数,但这个定时是指多少毫秒之后进行的操作,不是每隔多少秒进行操作。
js函数调用思路不清晰,很多都没有注解,需要猜测方法做什么的。
各种猜测之后,导致自己的思路也觉得不对。一时间陷入了无解的境地。
这个事情让我吸收了很多教训。在写js变量的时候,可以全局声明。避免参数传递造成混乱。还可以使用js对象。
调试接口的时候思路一定要非常清晰。
心态平稳,心急吃不了热豆腐。
以后自己写代码,注释一定要写清楚,一定要规范。