first commit
This commit is contained in:
commit
db5762abd4
687 files changed
+171307
No files matched your search
@@ -0,0 +1,427 @@
|
||||
<script>
|
||||
import "~/assets/styles/RemoteConsole.DLmX5UZu.css";
|
||||
import "~/assets/styles/remote-console.zcxaOxxS.css";
|
||||
definePageMeta({
|
||||
layout: !1,
|
||||
});
|
||||
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 { isRef } from "vue";
|
||||
import { createElementBlock } from "vue";
|
||||
import { Fragment } 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 { withModifiers } from "vue";
|
||||
import { useRoute } from "#app";
|
||||
import { useHead } from "#app";
|
||||
import { NuxtLink } from "#components";
|
||||
import button from "primevue/button";
|
||||
import { t as _plugin_vue_export_helper_t } from "~/lib/_plugin-vue_export-helper.js";
|
||||
import inputtext from "primevue/inputtext";
|
||||
import OperatePasswordGate from "~/components/OperatePasswordGate.vue";
|
||||
import RemoteConsole from "~/components/instance/RemoteConsole.vue";
|
||||
import { logoUrl } from "~/utils/brand.js";
|
||||
import { t as composables_t } from "~/lib/composables-2.js";
|
||||
var O = {
|
||||
class: `standalone-console`,
|
||||
},
|
||||
k = {
|
||||
class: `console-page-header`,
|
||||
},
|
||||
A = {
|
||||
key: 0,
|
||||
class: `console-page-host`,
|
||||
},
|
||||
j = {
|
||||
class: `console-page-content`,
|
||||
},
|
||||
M = {
|
||||
key: 0,
|
||||
class: `console-intro`,
|
||||
"aria-labelledby": `console-invalid-title`,
|
||||
},
|
||||
N = {
|
||||
key: 1,
|
||||
class: `console-intro`,
|
||||
"aria-labelledby": `console-closed-title`,
|
||||
},
|
||||
P = _plugin_vue_export_helper_t(
|
||||
defineComponent({
|
||||
__name: `remote-console`,
|
||||
setup(m) {
|
||||
(composables_t({
|
||||
layout: !1,
|
||||
}),
|
||||
useHead({
|
||||
title: `远程控制台 - 破碎工坊云`,
|
||||
}));
|
||||
let S = useRoute(),
|
||||
P = ref(!0),
|
||||
F = ref(``),
|
||||
I = ref(!1),
|
||||
L = computed(() =>
|
||||
/^\d+$/.test(String(S.query.hostId || ``))
|
||||
? String(S.query.hostId)
|
||||
: ``,
|
||||
),
|
||||
R = new Set([
|
||||
`kky_ecs`,
|
||||
`mf_cloud`,
|
||||
`remf_cloud`,
|
||||
`mf_dcim`,
|
||||
`remf_dcim`,
|
||||
`remf_finance`,
|
||||
`remf_finance_dcim`,
|
||||
`remf_finance_common`,
|
||||
`idcsmart_common`,
|
||||
]),
|
||||
z = computed(() =>
|
||||
R.has(String(S.query.module)) ? String(S.query.module) : ``,
|
||||
),
|
||||
B = computed(() =>
|
||||
L.value
|
||||
? {
|
||||
path: `/servers/server`,
|
||||
query: {
|
||||
id: L.value,
|
||||
},
|
||||
}
|
||||
: {
|
||||
path: `/cloud-servers`,
|
||||
},
|
||||
),
|
||||
V = computed(() => z.value === `mf_dcim` && !I.value);
|
||||
function H() {
|
||||
((I.value = !0), (P.value = !0));
|
||||
}
|
||||
function U() {
|
||||
((F.value = ``), (I.value = !1), (P.value = !0));
|
||||
}
|
||||
return (
|
||||
watch(P, (e) => {
|
||||
e || ((F.value = ``), (I.value = !1));
|
||||
}),
|
||||
watch([L, z], () => {
|
||||
((F.value = ``), (I.value = !1), (P.value = !0));
|
||||
}),
|
||||
onBeforeUnmount(() => {
|
||||
F.value = ``;
|
||||
}),
|
||||
(t, n) => {
|
||||
let i = RemoteConsole,
|
||||
s = NuxtLink,
|
||||
m = button,
|
||||
v = inputtext,
|
||||
y = OperatePasswordGate;
|
||||
return (
|
||||
openBlock(),
|
||||
createElementBlock(`main`, O, [
|
||||
unref(L) && unref(z) && unref(P) && !unref(V)
|
||||
? (openBlock(),
|
||||
createBlock(
|
||||
i,
|
||||
{
|
||||
key: 0,
|
||||
visible: unref(P),
|
||||
"onUpdate:visible": (n[0] ||= (e) =>
|
||||
isRef(P) ? (P.value = e) : null),
|
||||
"host-id": unref(L),
|
||||
module: unref(z),
|
||||
"operate-password": unref(F),
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[`visible`, `host-id`, `module`, `operate-password`],
|
||||
))
|
||||
: (openBlock(),
|
||||
createElementBlock(
|
||||
Fragment,
|
||||
{
|
||||
key: 1,
|
||||
},
|
||||
[
|
||||
createElementVNode(`header`, k, [
|
||||
createVNode(
|
||||
s,
|
||||
{
|
||||
to: unref(B),
|
||||
class: `console-page-brand`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
...(n[2] ||= [
|
||||
createElementVNode(
|
||||
`img`,
|
||||
{
|
||||
src: logoUrl,
|
||||
alt: `破碎工坊云`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
[`to`],
|
||||
),
|
||||
unref(L)
|
||||
? (openBlock(),
|
||||
createElementBlock(
|
||||
`span`,
|
||||
A,
|
||||
`实例 #` + toDisplayString(unref(L)),
|
||||
1,
|
||||
))
|
||||
: createCommentVNode(``, !0),
|
||||
]),
|
||||
createElementVNode(`div`, j, [
|
||||
!unref(L) || !unref(z)
|
||||
? (openBlock(),
|
||||
createElementBlock(`section`, M, [
|
||||
(n[4] ||= createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-link intro-icon`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
)),
|
||||
(n[5] ||= createElementVNode(
|
||||
`h1`,
|
||||
{
|
||||
id: `console-invalid-title`,
|
||||
},
|
||||
`控制台链接已失效`,
|
||||
-1,
|
||||
)),
|
||||
(n[6] ||= createElementVNode(
|
||||
`p`,
|
||||
null,
|
||||
`请从实例详情页重新打开远程控制台。`,
|
||||
-1,
|
||||
)),
|
||||
createVNode(
|
||||
s,
|
||||
{
|
||||
to: `/cloud-servers`,
|
||||
class: `console-return`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
...(n[3] ||= [
|
||||
createTextVNode(`返回云服务器`, -1),
|
||||
createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-arrow-right`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
),
|
||||
]))
|
||||
: unref(P)
|
||||
? (openBlock(),
|
||||
createElementBlock(
|
||||
`form`,
|
||||
{
|
||||
key: 2,
|
||||
class: `console-intro console-operation`,
|
||||
"aria-labelledby": `console-operation-title`,
|
||||
onSubmit: withModifiers(H, [`prevent`]),
|
||||
},
|
||||
[
|
||||
(n[14] ||= createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-desktop intro-icon`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
)),
|
||||
(n[15] ||= createElementVNode(
|
||||
`h1`,
|
||||
{
|
||||
id: `console-operation-title`,
|
||||
},
|
||||
`连接远程控制台`,
|
||||
-1,
|
||||
)),
|
||||
(n[16] ||= createElementVNode(
|
||||
`p`,
|
||||
null,
|
||||
`在此标签页中查看和操作实例屏幕。`,
|
||||
-1,
|
||||
)),
|
||||
createVNode(y, null, {
|
||||
default: withCtx(() => [
|
||||
(n[11] ||= createElementVNode(
|
||||
`label`,
|
||||
{
|
||||
for: `console-operation-password`,
|
||||
},
|
||||
[
|
||||
createTextVNode(`操作密码`),
|
||||
createElementVNode(
|
||||
`span`,
|
||||
null,
|
||||
`选填`,
|
||||
),
|
||||
],
|
||||
-1,
|
||||
)),
|
||||
createVNode(
|
||||
v,
|
||||
{
|
||||
id: `console-operation-password`,
|
||||
modelValue: unref(F),
|
||||
"onUpdate:modelValue": (n[1] ||= (
|
||||
e,
|
||||
) =>
|
||||
isRef(F) ? (F.value = e) : null),
|
||||
type: `password`,
|
||||
autocomplete: `off`,
|
||||
fluid: ``,
|
||||
"aria-describedby": `console-operation-help`,
|
||||
},
|
||||
null,
|
||||
8,
|
||||
[`modelValue`],
|
||||
),
|
||||
(n[12] ||= createElementVNode(
|
||||
`p`,
|
||||
{
|
||||
id: `console-operation-help`,
|
||||
class: `operation-help`,
|
||||
},
|
||||
`若此实例开启了操作验证,请填写操作密码。`,
|
||||
-1,
|
||||
)),
|
||||
]),
|
||||
_: 1,
|
||||
}),
|
||||
createVNode(m, {
|
||||
type: `submit`,
|
||||
label: `连接控制台`,
|
||||
icon: `pi pi-arrow-right`,
|
||||
fluid: ``,
|
||||
}),
|
||||
createVNode(
|
||||
s,
|
||||
{
|
||||
to: unref(B),
|
||||
class: `console-return`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
...(n[13] ||= [
|
||||
createTextVNode(`返回实例详情`, -1),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
[`to`],
|
||||
),
|
||||
],
|
||||
32,
|
||||
))
|
||||
: (openBlock(),
|
||||
createElementBlock(`section`, N, [
|
||||
(n[8] ||= createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-desktop intro-icon`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
)),
|
||||
(n[9] ||= createElementVNode(
|
||||
`h1`,
|
||||
{
|
||||
id: `console-closed-title`,
|
||||
},
|
||||
`远程控制台已关闭`,
|
||||
-1,
|
||||
)),
|
||||
(n[10] ||= createElementVNode(
|
||||
`p`,
|
||||
null,
|
||||
`远程会话已结束,实例继续运行。您可以关闭此标签页,或重新打开控制台。`,
|
||||
-1,
|
||||
)),
|
||||
createVNode(m, {
|
||||
label: `重新打开控制台`,
|
||||
icon: `pi pi-refresh`,
|
||||
onClick: U,
|
||||
}),
|
||||
createVNode(
|
||||
s,
|
||||
{
|
||||
to: unref(B),
|
||||
class: `console-return`,
|
||||
},
|
||||
{
|
||||
default: withCtx(() => [
|
||||
...(n[7] ||= [
|
||||
createTextVNode(`返回实例详情`, -1),
|
||||
createElementVNode(
|
||||
`i`,
|
||||
{
|
||||
class: `pi pi-arrow-right`,
|
||||
"aria-hidden": `true`,
|
||||
},
|
||||
null,
|
||||
-1,
|
||||
),
|
||||
]),
|
||||
]),
|
||||
_: 1,
|
||||
},
|
||||
8,
|
||||
[`to`],
|
||||
),
|
||||
])),
|
||||
]),
|
||||
(n[17] ||= createElementVNode(
|
||||
`footer`,
|
||||
{
|
||||
class: `console-page-footer`,
|
||||
},
|
||||
`关闭控制台不会关闭实例`,
|
||||
-1,
|
||||
)),
|
||||
],
|
||||
64,
|
||||
)),
|
||||
])
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
}),
|
||||
[[`__scopeId`, `data-v-5f7e2625`]],
|
||||
);
|
||||
export {};
|
||||
export default P;
|
||||
</script>
|
||||
Reference in new issue
Block a user