Vueでnovncを使用して仮想化デスクトップを構築


novncのインストール
yarn add @novnc/novncnpm i @novnc/novnc
具体的な使い方は公式文書を参照してくださいhttps://github.com/novnc/noVN...
vueで使用
  • template
  • script
  • import RFB from '@novnc/novnc/core/rfb';
    export default {
        name: 'novnc',
        data () {
            rfb:null,
            url: undefined, //   url
            IsClean: false, //            
            connectNum:0 //    
        },
        methods: {
            // vnc         
            disconnectedFromServer (msg) {
                if(msg.detail.clean){
                    //         msg.detail.clean            
                    this.contentVnc()
                } else {
                    //              
                }
            },
            //          
            connectedToServer() {
                console.log('success')
            },
            
            //  vnc   
            
            connectVnc () {
                const PASSWORD = '';
                let rfb = new RFB(document.getElementById('screen'), this.url, {
                //  vnc        ,            
                    credentials: {password: password}
                });
                rfb.addEventListener('connect', this.connectedToServer);
                rfb.addEventListener('disconnect', this.disconnectedFromServer);
                rfb.scaleViewport = true;  //scaleViewport                      。   ,           ,     ,    clipViewport        。       。
                rfb.resizeSession = true; //   boolean                          。       
                this.rfb = rfb;
                
            }
            
        },
         mounted      vnc
        mounted () {
        //         dom  
            this.connectVnc()
        }
        
    }