Browse Source

优化ipu-stomp.js

wangkang3 5 years ago
parent
commit
2df8174e2f

+ 1 - 1
2020/stomp/js/biz/canvas-login.js

@ -37,7 +37,7 @@ require(["jquery", "ipu-stomp"], function($, IpuStomp,) {
37 37
            alert("请填写用户名")
38 38
            return;
39 39
          }
40
          client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
40
          client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
41 41
          client.setTopicPath("topic");
42 42
          
43 43
        } else {

+ 1 - 1
2020/stomp/js/biz/canvas-show.js

@ -38,7 +38,7 @@ require(["jquery", "ipu-stomp"], function($, IpuStomp) {
38 38
            alert("请填写用户名")
39 39
            return;
40 40
          }
41
          client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
41
          client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
42 42
          client.setTopicPath("topic");
43 43
          
44 44
        } else {

+ 1 - 1
2020/stomp/js/biz/im-sockjs.js

@ -28,7 +28,7 @@ require([ "jquery", "ipu-stomp" ], function($, IpuStomp) {
28 28
					alert("请填写用户名")
29 29
					return;
30 30
				}
31
				client = IpuStomp.connect(baseUrl, callbacks);
31
				client = IpuStomp.connect({url:baseUrl}, callbacks);
32 32
				client.setTopicPath("topic");
33 33
				$("#connBtn").val("断开连接");
34 34
				$("#connBtn").attr("id", "disconnBtn");

+ 1 - 1
2020/stomp/js/biz/im-stomp.js

@ -37,7 +37,7 @@ require([ "jquery", "ipu-stomp" ], function($, IpuStomp) {
37 37
					alert("请填写用户名")
38 38
					return;
39 39
				}
40
				client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
40
				client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
41 41
				client.setTopicPath("topic");
42 42
				
43 43
			} else {

+ 1 - 1
2020/stomp/js/biz/map-login.js

@ -37,7 +37,7 @@ require(["jquery", "ipu-stomp"], function($, IpuStomp,) {
37 37
            alert("请填写用户名")
38 38
            return;
39 39
          }
40
          client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
40
          client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
41 41
          client.setTopicPath("topic");
42 42
          
43 43
        } else {

+ 1 - 1
2020/stomp/js/biz/map-show.js

@ -38,7 +38,7 @@ require(["jquery", "ipu-stomp"], function($, IpuStomp) {
38 38
            alert("请填写用户名")
39 39
            return;
40 40
          }
41
          client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
41
          client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
42 42
          client.setTopicPath("topic");
43 43
          
44 44
        } else {

+ 1 - 1
2020/stomp/js/biz/md-login.js

@ -50,7 +50,7 @@ require(deps, function($, IpuStomp, editormd) {
50 50
            alert("请填写用户名")
51 51
            return;
52 52
          }
53
          client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
53
          client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
54 54
          client.setTopicPath("topic");
55 55
          
56 56
        } else {

+ 1 - 1
2020/stomp/js/biz/md.js

@ -50,7 +50,7 @@ require(deps, function($, IpuStomp, editormd) {
50 50
            alert("请填写用户名")
51 51
            return;
52 52
          }
53
          client = IpuStomp.connect(baseUrl, login, passcode, callbacks, host);
53
          client = IpuStomp.connect({url:baseUrl,name:login,passcode:passcode,host:host}, callbacks);
54 54
          client.setTopicPath("topic");
55 55
          
56 56
        } else {

+ 56 - 33
2020/stomp/js/lib/ipu-stomp.js

@ -1,48 +1,71 @@
1 1
define(["sockjs", "stomp", "uuid"],function(SockJS, Stomp, UUID) {
2 2
    var IpuStomp = {};
3 3
4
    IpuStomp.connect = function(url, login, passcode, callbacks, host){
5
    	if(url.startsWith("http")||url.startsWith("https")){
6
    		return connectWithSockJS(url, login, passcode, callbacks, host); //SockJS支持http和https前缀
7
    	}else {
8
    		return connectWithStomp(url, login, passcode, callbacks, host); //SockJS支持ws前缀
9
    	}
10
    }
11
    
12
    function connectWithStomp(url, login, passcode, callbacks, host){
13
    	var onConnected, onFailure;
4
    IpuStomp.connect = function(params,callbacks){
5
        var onConnected, onFailure;
14 6
        if(callbacks){
15
        	/*供stomp.js中做判断:args[1] instanceof Function*/
16
        	onConnected = callbacks.onConnected?callbacks.onConnected:new Function();
7
            /*供stomp.js中做判断:args[1] instanceof Function*/
8
            onConnected = callbacks.onConnected?callbacks.onConnected:new Function();
17 9
            onFailure = callbacks.onFailure?callbacks.onFailure:new Function();
18 10
        }else{
19
        	onConnected = new Function();
20
        	onFailure = new Function();
11
            onConnected = new Function();
12
            onFailure = new Function();
21 13
        }
22
        var client = Stomp.client(url);
23
        var headers = {"login":login,"passcode":passcode,"host":host,"uuid":UUID};
24
        client.connect(headers, onConnected, onFailure);
25
        return new StompClient(client);
26
    }
27
    
28
    function connectWithSockJS(url, login, passcode, callbacks, host){
29
    	var onConnected, onFailure;
30
        if(callbacks){
31
        	/*供stomp.js中做判断:args[1] instanceof Function*/
32
        	onConnected = callbacks.onConnected?callbacks.onConnected:new Function();
33
            onFailure = callbacks.onFailure?callbacks.onFailure:new Function();
34
        }else{
35
        	onConnected = new Function();
36
        	onFailure = new Function();
14
        var client;
15
        if(params.url.startsWith("http")||params.url.startsWith("https")){//SockJS支持http和https前缀
16
            var socket = new SockJS(params.url);
17
            client = Stomp.over(socket);
18
        } else {                                                            //SockJS支持ws前缀
19
            client = Stomp.client(params.url);
37 20
        }
38
    	
39
    	var socket = new SockJS(url);
40
        var client = Stomp.over(socket);
41
        var headers = {"login":login,"passcode":passcode,"host":host,"uuid":UUID};
21
        var headers = {"name":params.name,"passcode":params.passcode,"host":params.host,"uuid":(params.UUID?params.UUID:UUID)};
42 22
        client.connect(headers, onConnected, onFailure);
43 23
        return new StompClient(client);
44 24
    }
45 25
26
27
    // IpuStomp.connect = function(url, login, passcode, callbacks, host){
28
    // 	if(url.startsWith("http")||url.startsWith("https")){
29
    // 		return connectWithSockJS(url, login, passcode, callbacks, host); //SockJS支持http和https前缀
30
    // 	}else {
31
    // 		return connectWithStomp(url, login, passcode, callbacks, host); //SockJS支持ws前缀
32
    // 	}
33
    // }
34
    //
35
    // function connectWithStomp(url, login, passcode, callbacks, host){
36
    // 	var onConnected, onFailure;
37
    //     if(callbacks){
38
    //     	/*供stomp.js中做判断:args[1] instanceof Function*/
39
    //     	onConnected = callbacks.onConnected?callbacks.onConnected:new Function();
40
    //         onFailure = callbacks.onFailure?callbacks.onFailure:new Function();
41
    //     }else{
42
    //     	onConnected = new Function();
43
    //     	onFailure = new Function();
44
    //     }
45
    //     var client = Stomp.client(url);
46
    //     var headers = {"login":login,"passcode":passcode,"host":host,"uuid":UUID};
47
    //     client.connect(headers, onConnected, onFailure);
48
    //     return new StompClient(client);
49
    // }
50
    //
51
    // function connectWithSockJS(url, login, passcode, callbacks, host){
52
    // 	var onConnected, onFailure;
53
    //     if(callbacks){
54
    //     	/*供stomp.js中做判断:args[1] instanceof Function*/
55
    //     	onConnected = callbacks.onConnected?callbacks.onConnected:new Function();
56
    //         onFailure = callbacks.onFailure?callbacks.onFailure:new Function();
57
    //     }else{
58
    //     	onConnected = new Function();
59
    //     	onFailure = new Function();
60
    //     }
61
    //
62
    // 	var socket = new SockJS(url);
63
    //     var client = Stomp.over(socket);
64
    //     var headers = {"login":login,"passcode":passcode,"host":host,"uuid":UUID};
65
    //     client.connect(headers, onConnected, onFailure);
66
    //     return new StompClient(client);
67
    // }
68
46 69
    function StompClient(client){
47 70
        this.client = client;
48 71
    }

+ 3 - 3
2020/stomp/js/lib/stomp.js

@ -219,14 +219,14 @@ define(function(){
219 219
                    if (args[1] instanceof Function) {
220 220
                        headers = args[0], connectCallback = args[1], errorCallback = args[2];
221 221
                    } else {
222
                        headers.login = args[0], headers.passcode = args[1], connectCallback = args[2];
222
                        headers.name = args[0], headers.passcode = args[1], connectCallback = args[2];
223 223
                    }
224 224
                    break;
225 225
                case 4:
226
                    headers.login = args[0], headers.passcode = args[1], connectCallback = args[2], errorCallback = args[3];
226
                    headers.name = args[0], headers.passcode = args[1], connectCallback = args[2], errorCallback = args[3];
227 227
                    break;
228 228
                default:
229
                    headers.login = args[0], headers.passcode = args[1], connectCallback = args[2], errorCallback = args[3], headers.host = args[4];
229
                    headers.name = args[0], headers.passcode = args[1], connectCallback = args[2], errorCallback = args[3], headers.host = args[4];
230 230
            }
231 231
            return [headers, connectCallback, errorCallback];
232 232
        };