前端jquery封装socket,低代码调用

文章目录

插件js文件封装

文件名称:socketTool.js

//# sourceURL=socketTool.js
//socket工具类,封装为简单通用工具
jQuery.extend
({
	isSocket : function isSocket()
	{
		return !((WebSocket) == "undefined");
	},
	/**
	 * socket连接,功能初始化
	 */
	socketInitial : function socketInitial(params)
	{
		params=params?params:new Object();
		params.url=params.url?params.url:"";
		if(params.url=="")
		{
			alter("socket连接失败!服务地址缺失。");
		}
		if (!$.isSocket()) 
		{
			return false;
        }
        //指定服务器url
		var socket = new WebSocket(params.url);//webSocket对象
		var headFlag=true;//连接状态
		var openConnection=function()
		{
			//打开连接
	        socket.onopen = function () 
			{
				if(headFlag)
				{
					unConnectTime=new Date().getTime();//断开连接时的时间
					params.onopen();
				}
	        };
		};
		openConnection();
		//收到消息事件
        socket.onmessage = function (msg) 
		{
			params.onmessage(msg);
		};
		//连接关闭事件
        socket.onclose = function () 
		{
			params.onclose();
        };
        //发生了错误事件
        socket.onerror = function () 
		{
            socket.close();
        };
        //窗口关闭时,关闭连接
        window.unload = function () 
		{
            socket.close();
        };
		return socket;
	}
});

代码使用案例如下

var socket=$.socketInitial({
	//socket地址
	"url" : "http://localhost:1001/ws",
	//打开连接
	onopen : function()
	{
		//登录
		var user=new Object();
		user.jobnumber=jobnumber;//公共常量,登录用户的工号
		user.registerType=1;//注册方式:1.登录
		//发送消息
		socket.send(JSON.stringify(user));
	},
	//收到消息
	onmessage : function(msg)
	{
		//转为JSON格式
		var dataJson=JSON.parse(msg.data);
		//后台主动推送消息
		if(dataJson.msgtype==1)
		{
			var data=JSON.parse(dataJson.msg);
			var button=$(".custom-upload-to-els-7004");
			var processNode=$(".progress-line-status-div");
			//初始化进度条【自定义插件封装】
			$.initialProcess(data,socket,processNode);
		}
	},
	//关闭
	onclose : function()
	{
	}
});

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TorZhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值