You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
3.8 KiB
51 lines
3.8 KiB
import { defineComponent, reactive, ref, mergeProps, useSSRContext } from 'vue';
|
|
import { ssrRenderAttrs, ssrRenderStyle, ssrInterpolate, ssrRenderAttr, ssrRenderClass } from 'vue/server-renderer';
|
|
import { _ as _export_sfc, a as useAuthStore, b as useRouter } from './server.mjs';
|
|
import '../nitro/nitro.mjs';
|
|
import 'node:http';
|
|
import 'node:https';
|
|
import 'node:events';
|
|
import 'node:buffer';
|
|
import 'node:fs';
|
|
import 'node:path';
|
|
import 'node:crypto';
|
|
import 'node:url';
|
|
import '../routes/renderer.mjs';
|
|
import 'vue-bundle-renderer/runtime';
|
|
import 'unhead/server';
|
|
import 'devalue';
|
|
import 'unhead/utils';
|
|
import 'pinia';
|
|
import 'perfect-debounce';
|
|
|
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
__name: "index",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
useAuthStore();
|
|
useRouter();
|
|
const form = reactive({ account: "", password: "" });
|
|
const loading = ref(false);
|
|
const error = ref("");
|
|
const siteTitle = ref("Admin");
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "login-bg flex items-center justify-center px-4" }, _attrs))} data-v-4f88fb34><div class="login-card" data-v-4f88fb34><div class="text-center" data-v-4f88fb34><div class="logo-icon" data-v-4f88fb34><svg class="h-7 w-7 text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor" data-v-4f88fb34><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" data-v-4f88fb34></path></svg></div><h1 style="${ssrRenderStyle({ "font-size": "22px", "font-weight": "700", "color": "#0F172A", "margin": "0 0 4px" })}" data-v-4f88fb34>${ssrInterpolate(siteTitle.value)}</h1><p style="${ssrRenderStyle({ "font-size": "13px", "color": "#94A3B8", "margin": "0 0 32px" })}" data-v-4f88fb34>管理控制台</p></div>`);
|
|
if (error.value) {
|
|
_push(`<div class="login-error show" data-v-4f88fb34><svg style="${ssrRenderStyle({ "width": "16px", "height": "16px", "flex-shrink": "0" })}" fill="none" viewBox="0 0 24 24" stroke="currentColor" data-v-4f88fb34><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" data-v-4f88fb34></path></svg><span data-v-4f88fb34>${ssrInterpolate(error.value)}</span></div>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
_push(`<form data-v-4f88fb34><div style="${ssrRenderStyle({ "margin-bottom": "16px" })}" data-v-4f88fb34><label class="login-label" data-v-4f88fb34>账号</label><input${ssrRenderAttr("value", form.account)} type="text" class="login-input" placeholder="请输入管理员账号" autocomplete="username" required data-v-4f88fb34></div><div style="${ssrRenderStyle({ "margin-bottom": "24px" })}" data-v-4f88fb34><label class="login-label" data-v-4f88fb34>密码</label><input${ssrRenderAttr("value", form.password)} type="password" class="login-input" placeholder="请输入密码" autocomplete="current-password" required data-v-4f88fb34></div><button type="submit" class="${ssrRenderClass([{ loading: loading.value }, "login-btn"])}" data-v-4f88fb34>${ssrInterpolate(loading.value ? "登录中..." : "登 录")}</button></form><p style="${ssrRenderStyle({ "text-align": "center", "font-size": "11px", "color": "#94A3B8", "margin-top": "24px" })}" data-v-4f88fb34> © 2025 Admin Console · v1.0.1 </p></div></div>`);
|
|
};
|
|
}
|
|
});
|
|
const _sfc_setup = _sfc_main.setup;
|
|
_sfc_main.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4f88fb34"]]);
|
|
|
|
export { index as default };
|
|
//# sourceMappingURL=index-rLRSPmKW.mjs.map
|
|
|