- Spring Boot 后端服务 (hss-home-service) - delivery-miniapp 配送小程序 - website 官网 (Nuxt) - docs 架构设计文档 - Docker 容器化部署配置 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
37 lines
3.1 KiB
JavaScript
37 lines
3.1 KiB
JavaScript
import { defineComponent, ref, mergeProps, unref, useSSRContext } from 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue/index.mjs';
|
|
import { ssrRenderAttrs, ssrRenderList, ssrRenderClass, ssrInterpolate, ssrIncludeBooleanAttr } from 'file:///home/akoo/%E5%B1%85%E5%AE%B6%E6%9C%8D%E5%8A%A1/hss-home-service/website/node_modules/vue/server-renderer/index.mjs';
|
|
import { u as usePlatformAuth } from './usePlatformAuth-DS6-BJES.mjs';
|
|
|
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
__name: "login",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
const { PRESET_USERS } = usePlatformAuth();
|
|
const selected = ref("admin");
|
|
const loading = ref(false);
|
|
const error = ref("");
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "min-h-screen bg-surface flex items-center justify-center p-4" }, _attrs))}><div class="w-full max-w-md"><div class="text-center mb-8"><div class="w-16 h-16 mx-auto mb-4 rounded-2xl bg-gradient-to-br from-primary to-accent flex items-center justify-center"><span class="text-white font-bold text-2xl font-mono">H</span></div><h1 class="text-2xl font-bold">\u667A\u6167\u533B\u517B\u5C45\u5BB6\u4E0A\u95E8\u670D\u52A1\u5E73\u53F0</h1><p class="text-text-secondary text-sm mt-2">\u6F14\u793A\u73AF\u5883 \u2014 \u9009\u62E9\u89D2\u8272\u5373\u53EF\u767B\u5F55</p></div><div class="bg-white rounded-2xl shadow-sm border p-6 space-y-4"><label class="block text-sm font-medium text-text-secondary">\u9009\u62E9\u767B\u5F55\u89D2\u8272</label><div class="grid grid-cols-2 gap-2"><!--[-->`);
|
|
ssrRenderList(unref(PRESET_USERS), (u, k) => {
|
|
_push(`<button class="${ssrRenderClass([selected.value === k ? "border-primary bg-primary-50 text-primary" : "border-gray-100 hover:border-gray-200", "text-left px-4 py-3 rounded-xl border-2 transition-all text-sm"])}"><div class="font-medium">${ssrInterpolate(u.userName)}</div><div class="text-xs text-text-secondary">${ssrInterpolate(u.userRole)}</div></button>`);
|
|
});
|
|
_push(`<!--]--></div>`);
|
|
if (error.value) {
|
|
_push(`<p class="text-red-500 text-sm text-center">${ssrInterpolate(error.value)}</p>`);
|
|
} else {
|
|
_push(`<!---->`);
|
|
}
|
|
_push(`<button${ssrIncludeBooleanAttr(loading.value) ? " disabled" : ""} class="w-full py-3 bg-primary text-white rounded-xl font-semibold hover:bg-primary-700 transition-colors disabled:opacity-50">${ssrInterpolate(loading.value ? "\u767B\u5F55\u4E2D..." : "\u8FDB\u5165\u5E73\u53F0")}</button><p class="text-xs text-text-secondary text-center"> \u6F14\u793A\u73AF\u5883\u4F7F\u7528 Header \u8BA4\u8BC1\uFF0C\u65E0\u9700\u5BC6\u7801\u3002\u9009\u62E9\u89D2\u8272\u540E\u76F4\u63A5\u8FDB\u5165\u5BF9\u5E94\u5DE5\u4F5C\u53F0\u3002 </p></div></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/platform/login.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
|
|
export { _sfc_main as default };
|
|
//# sourceMappingURL=login-Bp9OHacV.mjs.map
|