first commit
This commit is contained in:
commit
db5762abd4
687 files changed
+171307
No files matched your search
@@ -0,0 +1,172 @@
|
||||
<script>
|
||||
import "~/assets/styles/CloudAccessExtras.CnBJlFAZ.css";
|
||||
import { toDisplayString } from "vue";
|
||||
import { onBeforeUnmount } from "vue";
|
||||
import { watch } from "vue";
|
||||
import { createBlock } from "vue";
|
||||
import { ref } from "vue";
|
||||
import { withCtx } from "vue";
|
||||
import { createCommentVNode } from "vue";
|
||||
import { computed } from "vue";
|
||||
import { createElementBlock } from "vue";
|
||||
import { createElementVNode } from "vue";
|
||||
import { createTextVNode } from "vue";
|
||||
import { unref } from "vue";
|
||||
import { defineComponent } from "vue";
|
||||
import { createVNode } from "vue";
|
||||
import { openBlock } from "vue";
|
||||
import { useApi } from "~/lib/auth.js";
|
||||
import button from "primevue/button";
|
||||
import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js";
|
||||
import message from "primevue/message";
|
||||
var y = {
|
||||
key: 0,
|
||||
class: `cloud-extras`,
|
||||
},
|
||||
b = {
|
||||
class: `info-table`,
|
||||
},
|
||||
x = {
|
||||
key: 0,
|
||||
class: `kv`,
|
||||
},
|
||||
S = {
|
||||
class: `action-cell`,
|
||||
},
|
||||
C = Object.assign(
|
||||
_plugin_vue_export_helper_t(
|
||||
defineComponent({
|
||||
__name: `CloudAccessExtras`,
|
||||
props: {
|
||||
hostId: {},
|
||||
module: {},
|
||||
imageName: {},
|
||||
config: {},
|
||||
},
|
||||
emits: [`refresh`],
|
||||
setup(f) {
|
||||
let _ = f,
|
||||
C = useApi(),
|
||||
w = computed(() => [`mf_cloud`, `remf_cloud`].includes(_.module)),
|
||||
T = computed(() => /windows/i.test(_.imageName)),
|
||||
E = ref(!1),
|
||||
D = ref(``),
|
||||
O = 0,
|
||||
k = !1;
|
||||
async function A() {
|
||||
if (!w.value || !T.value || E.value || k) return;
|
||||
let e = O;
|
||||
((E.value = !0), (D.value = ``));
|
||||
try {
|
||||
let t = await C.get(`/${_.module}/${_.hostId}/download_rdp`);
|
||||
if (k || e !== O) return;
|
||||
if (typeof t.content != `string` || !t.content.trim())
|
||||
throw Error(`远程桌面文件内容为空`);
|
||||
let n = URL.createObjectURL(
|
||||
new Blob([t.content], {
|
||||
type: `application/x-rdp`,
|
||||
}),
|
||||
),
|
||||
r = document.createElement(`a`);
|
||||
((r.href = n),
|
||||
(r.download = String(
|
||||
t.name || `instance-${_.hostId}.rdp`,
|
||||
).replace(/[\\/\0]/g, `_`)),
|
||||
r.click(),
|
||||
setTimeout(() => URL.revokeObjectURL(n), 1e3));
|
||||
} catch (t) {
|
||||
!k &&
|
||||
e === O &&
|
||||
(D.value = t instanceof Error ? t.message : `RDP 文件下载失败`);
|
||||
} finally {
|
||||
e === O && (E.value = !1);
|
||||
}
|
||||
}
|
||||
return (
|
||||
watch([() => _.hostId, () => _.module, () => _.imageName], () => {
|
||||
(O++, (E.value = !1), (D.value = ``));
|
||||
}),
|
||||
onBeforeUnmount(() => {
|
||||
((k = !0), O++);
|
||||
}),
|
||||
(t, n) => {
|
||||
let i = button,
|
||||
s = message;
|
||||
return unref(w) && unref(T)
|
||||
? (openBlock(),
|
||||
createElementBlock(`section`, y, [
|
||||
(n[2] ||= createElementVNode(
|
||||
`h4`,
|
||||
{
|
||||
class: `block-title`,
|
||||
},
|
||||
`远程桌面连接`,
|
||||
-1,
|
||||
)),
|
||||
createElementVNode(`div`, b, [
|
||||
unref(T)
|
||||
? (openBlock(),
|
||||
createElementBlock(`div`, x, [
|
||||
(n[1] ||= createElementVNode(
|
||||
`span`,
|
||||
null,
|
||||
`远程桌面`,
|
||||
-1,
|
||||
)),
|
||||
createElementVNode(`div`, S, [
|
||||
createVNode(
|
||||
i,
|
||||
{
|
||||
label: `下载远程桌面连接文件`,
|
||||
icon: `pi pi-download`,
|
||||
loading: unref(E),
|
||||
onClick: A,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[`loading`],
|
||||
),
|
||||
(n[0] ||= createElementVNode(
|
||||
`p`,
|
||||
{
|
||||
class: `action-desc`,
|
||||
},
|
||||
`下载连接文件后,使用远程桌面客户端连接您的实例。`,
|
||||
-1,
|
||||
)),
|
||||
]),
|
||||
]))
|
||||
: createCommentVNode(``, !0),
|
||||
]),
|
||||
unref(D)
|
||||
? (openBlock(),
|
||||
createBlock(
|
||||
s,
|
||||
{
|
||||
key: 0,
|
||||
severity: `error`,
|
||||
closable: !1,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
createTextVNode(toDisplayString(unref(D)), 1),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
))
|
||||
: createCommentVNode(``, !0),
|
||||
]))
|
||||
: createCommentVNode(``, !0);
|
||||
}
|
||||
);
|
||||
},
|
||||
}),
|
||||
[[`__scopeId`, `data-v-94e7f654`]],
|
||||
),
|
||||
{
|
||||
__name: `CloudAccessExtras`,
|
||||
},
|
||||
);
|
||||
export {};
|
||||
export default C;
|
||||
</script>
|
||||
Reference in new issue
Block a user