cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
49 lines (48 loc) • 1.04 kB
JavaScript
import { ref, onBeforeUnmount } from "vue";
import { createBell, VuenseeRFB } from "../utils/novnc.mjs";
/*
* vuensee
* @author Anders Evenrud <andersevenrud@gmail.com>
* @link https://github.com/andersevenrud/vuensee
* @license MIT
*/
const useRFB = ({
root,
bellSound
}) => {
const bell = createBell(bellSound);
const rfb = ref({});
const reconnectTimeout = ref(null);
onBeforeUnmount(() => {
try {
if (rfb.value.disconnect) {
rfb.value.disconnect();
}
} catch (e) {
console.warn(e);
}
clearTimeout(reconnectTimeout.value);
});
const connect = (options, bindings) => {
rfb.value = VuenseeRFB.connect({
root: root.value,
options,
bindings
});
};
const reconnect = (delay, cb) => {
reconnectTimeout.value = setTimeout(cb, delay);
};
const disconnect = () => {
clearTimeout(reconnectTimeout.value);
rfb.value.disconnect();
};
return {
rfb,
bell,
connect,
reconnect,
disconnect
};
};
export { useRFB };