✌️
This commit is contained in:
		
							parent
							
								
									8e9d5e8e2a
								
							
						
					
					
						commit
						56a1deb9d5
					
				
					 2 changed files with 20 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -22,6 +22,7 @@ export default class Connection extends EventEmitter {
 | 
			
		|||
		data: string
 | 
			
		||||
	}> = [];
 | 
			
		||||
	public id: string;
 | 
			
		||||
	public isSuspended = false;
 | 
			
		||||
	private os: MiOS;
 | 
			
		||||
 | 
			
		||||
	constructor(os: MiOS, endpoint, params?) {
 | 
			
		||||
| 
						 | 
				
			
			@ -91,6 +92,8 @@ export default class Connection extends EventEmitter {
 | 
			
		|||
	 * Callback of when received a message from connection
 | 
			
		||||
	 */
 | 
			
		||||
	private onMessage(message) {
 | 
			
		||||
		if (this.isSuspended) return;
 | 
			
		||||
 | 
			
		||||
		if (this.os.debug) {
 | 
			
		||||
			this.in++;
 | 
			
		||||
			this.inout.push({ type: 'in', at: new Date(), data: message.data });
 | 
			
		||||
| 
						 | 
				
			
			@ -108,6 +111,8 @@ export default class Connection extends EventEmitter {
 | 
			
		|||
	 * Send a message to connection
 | 
			
		||||
	 */
 | 
			
		||||
	public send(data) {
 | 
			
		||||
		if (this.isSuspended) return;
 | 
			
		||||
 | 
			
		||||
		// まだ接続が確立されていなかったらバッファリングして次に接続した時に送信する
 | 
			
		||||
		if (this.state != 'connected') {
 | 
			
		||||
			this.buffer.push(data);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -94,6 +94,13 @@
 | 
			
		|||
		<el-tab-pane label="Streams (Inspect)">
 | 
			
		||||
			<el-tabs type="card" style="height:50%">
 | 
			
		||||
				<el-tab-pane v-for="c in os.connections" :label="c.name == '' ? '[Home]' : c.name" :key="c.id" :name="c.id" ref="connectionsTab">
 | 
			
		||||
					<div style="padding: 12px 0 0 12px">
 | 
			
		||||
					<el-button size="mini" @click="send(c)">Send</el-button>
 | 
			
		||||
					<el-button size="mini" type="warning" @click="c.isSuspended = true" v-if="!c.isSuspended">Suspend</el-button>
 | 
			
		||||
					<el-button size="mini" type="success" @click="c.isSuspended = false" v-else>Resume</el-button>
 | 
			
		||||
					<el-button size="mini" type="danger" @click="c.close">Disconnect</el-button>
 | 
			
		||||
				</div>
 | 
			
		||||
 | 
			
		||||
					<el-table
 | 
			
		||||
						:data="c.inout"
 | 
			
		||||
						style="width: 100%"
 | 
			
		||||
| 
						 | 
				
			
			@ -177,6 +184,14 @@ export default Vue.extend({
 | 
			
		|||
		},
 | 
			
		||||
		onWindowsChanged() {
 | 
			
		||||
			this.$forceUpdate();
 | 
			
		||||
		},
 | 
			
		||||
		send(c) {
 | 
			
		||||
			(this as any).apis.input({
 | 
			
		||||
				title: 'Send a JSON message',
 | 
			
		||||
				allowEmpty: false
 | 
			
		||||
			}).then(json => {
 | 
			
		||||
				c.send(JSON.parse(json));
 | 
			
		||||
			});
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
});
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue