ing
This commit is contained in:
parent
18c59571bd
commit
eff89ec032
|
@ -39,6 +39,7 @@
|
|||
"d3": "^4.13.0",
|
||||
"hammerjs": "^2.0.8",
|
||||
"ng2-odometer": "^1.1.3",
|
||||
"ngx-cookie-service": "^1.0.10",
|
||||
"ngx-perfect-scrollbar": "^5.3.1",
|
||||
"rxjs": "^5.5.6",
|
||||
"zone.js": "^0.8.20",
|
||||
|
|
|
@ -5,6 +5,8 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|||
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
|
||||
import { CookieService } from 'ngx-cookie-service';
|
||||
|
||||
import { RPCClient } from 'packages/core/rpc/client/RPCClient';
|
||||
import { RPCClientCodec } from 'packages/core/rpc/protocol/RPCClientCodec';
|
||||
import { RPCClientJSONCodec } from 'packages/core/rpc/protocol/json/RPCClientJSONCodec';
|
||||
|
@ -56,6 +58,7 @@ import { RESTService } from './commons/service/rest.service';
|
|||
{
|
||||
provide: RPCClient, useClass: RPCService
|
||||
},
|
||||
CookieService,
|
||||
],
|
||||
declarations: [
|
||||
AppComponent,
|
||||
|
|
|
@ -14,6 +14,8 @@ import 'rxjs/add/operator/switchMap';
|
|||
import 'rxjs/add/operator/map';
|
||||
import 'rxjs/add/operator/take';
|
||||
|
||||
import { CookieService } from 'ngx-cookie-service';
|
||||
|
||||
import { RPCClient } from 'packages/core/rpc/client/RPCClient';
|
||||
|
||||
import {
|
||||
|
@ -29,6 +31,7 @@ export class Effects {
|
|||
constructor(
|
||||
private actions$: Actions,
|
||||
private rpcClient: RPCClient,
|
||||
private cookieService: CookieService,
|
||||
) { }
|
||||
|
||||
@Effect({ dispatch: false })
|
||||
|
@ -36,7 +39,11 @@ export class Effects {
|
|||
.ofType(ActionType.SigninSuccess)
|
||||
.do(
|
||||
() => {
|
||||
this.rpcClient.connect();
|
||||
let queryString: string;
|
||||
if (this.cookieService.check('AuthToken')) {
|
||||
queryString = `AuthToken=${this.cookieService.get('AuthToken')}`;
|
||||
}
|
||||
this.rpcClient.connect(queryString);
|
||||
}
|
||||
);
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ export class RPCClient {
|
|||
/**
|
||||
* connect
|
||||
*/
|
||||
public connect(): void {
|
||||
this._rwc.connect();
|
||||
public connect(queryString?: string): void {
|
||||
this._rwc.connect(queryString);
|
||||
this._rwc.readResponse().subscribe(
|
||||
(value: Object) => {
|
||||
this.onMessage(value);
|
||||
|
|
|
@ -3,7 +3,7 @@ import { InjectionToken } from '@angular/core';
|
|||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
export abstract class RPCClientRWC {
|
||||
public abstract connect(): void;
|
||||
public abstract connect(queryString?: string): void;
|
||||
public abstract readResponse(): Observable<Object>;
|
||||
public abstract writeRequest(data: any): void;
|
||||
public abstract disconnect(): void;
|
||||
|
|
|
@ -20,7 +20,10 @@ export class RPCClientWebsocketRWC extends RPCClientRWC {
|
|||
this._wsSocketSubject = new RxWebsocketSubject<Object>(this._config);
|
||||
}
|
||||
|
||||
public connect(): void {
|
||||
public connect(queryString?: string): void {
|
||||
if (undefined !== queryString) {
|
||||
this._wsSocketSubject.queryString = queryString;
|
||||
}
|
||||
this._wsSocketSubject.connect();
|
||||
this._wsSocketSubject.subscribe(
|
||||
(value: Object) => {
|
||||
|
|
|
@ -24,6 +24,7 @@ export class RxWebsocketSubject<T> extends Subject<T> {
|
|||
private _socket: WebSocketSubject<any>;
|
||||
private _connectionObserver: Observer<boolean>;
|
||||
private _connectionStatus: Observable<boolean>;
|
||||
private _queryString: string;
|
||||
|
||||
public constructor(private _config: RxWebsocketSubjectConfig) {
|
||||
super();
|
||||
|
@ -55,12 +56,25 @@ export class RxWebsocketSubject<T> extends Subject<T> {
|
|||
});
|
||||
}
|
||||
|
||||
public set queryString(query: string) {
|
||||
this._queryString = query;
|
||||
}
|
||||
|
||||
public get queryString(): string | undefined {
|
||||
return this._queryString;
|
||||
}
|
||||
|
||||
public get connectionStatus(): Observable<boolean> {
|
||||
return this._connectionStatus;
|
||||
}
|
||||
|
||||
public connect(): void {
|
||||
this._socket = new WebSocketSubject(this._wsSubjectConfig);
|
||||
const wsSubjectConfig = Object.assign({}, this._wsSubjectConfig);
|
||||
if (undefined !== this._queryString) {
|
||||
wsSubjectConfig.url = wsSubjectConfig.url + '?' + this._queryString;
|
||||
}
|
||||
|
||||
this._socket = new WebSocketSubject(wsSubjectConfig);
|
||||
this._socket.subscribe(
|
||||
(m) => {
|
||||
this.next(m);
|
||||
|
|
|
@ -4688,6 +4688,10 @@ ng2-odometer@^1.1.3:
|
|||
dependencies:
|
||||
odometer "^0.4.8"
|
||||
|
||||
ngx-cookie-service@^1.0.10:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/ngx-cookie-service/-/ngx-cookie-service-1.0.10.tgz#dc17ff4f1a0224cf3b0c7a7f52bff2b798396e3d"
|
||||
|
||||
ngx-perfect-scrollbar@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.yarnpkg.com/ngx-perfect-scrollbar/-/ngx-perfect-scrollbar-5.3.1.tgz#7fcfb26a93554ac60d0444bfaa4b9487f23c5cbc"
|
||||
|
|
Loading…
Reference in New Issue
Block a user