Files
Migu2.0/MiGu.Server/wwwroot/assets/LoginView-Clx-477K.js
T
zhaowei.huangandCursor be0503c535 chore(web): 重新构建前端静态资源
同步 simple-platform-vue 构建产物与 index.html 入口哈希。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-31 00:16:56 +08:00

2 lines
8.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{aG as N,bu as q,bv as F,bt as B,bw as H,b7 as C,aC as M,aD as P,az as a,ah as O,bh as G,b2 as Y,br as r,bo as y,aF as s,bH as o,O as j,R as Q,Q as X,bx as J,aY as K,b1 as c,bm as Z,a_ as ee,af as ae,bd as se,aE as p,ay as oe,aw as te,u as le,T as ne,x as de,y as re,S as ie,r as ue,N as pe,bf as h,be as x,av as me,X as f,aj as ce}from"./index-D5OuyicD.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";const fe={class:"login-page"},ve={class:"bg-stars","aria-hidden":"true"},be={class:"login-card mg-glass-lg"},ge={class:"hero"},_e={class:"hero-footnote"},we={class:"panel"},Ve={class:"scope-wrap"},ye={class:"launch-mode-head"},he={class:"scope-wrap launch-wrap"},ke={class:"row row-between"},Ee={class:"adv-grid"},Ce={class:"footer-stamp"},Me=N({__name:"LoginView",setup(Pe){const R=q(),S=F(),k=B(),E=H(),v=h(),b=h(!1),m=h([]),l=x({username:"admin",password:"admin",scope:"Platform",launchMode:"DesktopAndWeb",remember:!0}),i=x({host:"0.0.0.0",apiPort:7001,platformPort:8080,vrPort:8223}),W={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}],scope:[{required:!0,message:"请选择 scope",trigger:"change"}],launchMode:[{required:!0,message:"请选择启动模式",trigger:"change"}]},T=me(()=>new Date().getFullYear()),I=Array.from({length:18},(g,e)=>{const n=Math.random()*100,u=Math.random()*100,d=2+Math.random()*3,_=-Math.random()*6,w=.35+Math.random()*.45;return{top:`${n}%`,left:`${u}%`,width:`${d}px`,height:`${d}px`,opacity:`${w}`,animationDelay:`${_}s`}});async function $(){v.value&&await v.value.validate(async g=>{if(g){b.value=!0;try{const e=await k.login({username:l.username,password:l.password,scope:l.scope,launchMode:l.launchMode});f.success(`欢迎,${k.user?.displayName??l.username}`),e.launchWarning?f({message:e.launchWarning,type:"warning",duration:6e3,showClose:!0}):e.runMode==="Detached"&&f({message:"SimpleLite 未启动(Platform.Server 单独运行),/api/sl/* 相关功能将不可用。",type:"warning",duration:6e3,showClose:!0});const n=R.query.redirect??(l.scope==="Platform"?"/admin/dashboard":"/monitor/map");S.push(n)}catch(e){const n=e instanceof Error?e.message:String(e);f.error(`登录失败:${n}`)}finally{b.value=!1}}})}return(g,e)=>{const n=X,u=Q,d=j,_=ae,w=le,z=ne,V=ie,L=re,U=de,A=ue,D=pe;return C(),M("div",fe,[e[27]||(e[27]=P('<div class="bg-image" data-v-a5f3efd2></div><div class="bg-overlay" data-v-a5f3efd2></div><div class="bg-orb bg-orb-a" data-v-a5f3efd2></div><div class="bg-orb bg-orb-b" data-v-a5f3efd2></div><div class="bg-orb bg-orb-c" data-v-a5f3efd2></div>',5)),a("div",ve,[(C(),M(O,null,G(18,t=>a("span",{key:t,style:Y(r(I)[t-1])},null,4)),64))]),a("div",be,[a("div",ge,[e[14]||(e[14]=P('<div class="hero-brand" data-v-a5f3efd2><div class="hero-mark" data-v-a5f3efd2>迷</div><div class="hero-name" data-v-a5f3efd2>迷毂</div></div><div class="hero-tagline" data-v-a5f3efd2>智 能 调 度 平 台</div><div class="hero-tagline-en" data-v-a5f3efd2>INTELLIGENT · DISPATCH · PLATFORM</div><div class="hero-divider" data-v-a5f3efd2></div><ul class="hero-points" data-v-a5f3efd2><li data-v-a5f3efd2><span class="dot" data-v-a5f3efd2></span> 复刻 ARCHITECTURE.md §3.2 启动登录窗</li><li data-v-a5f3efd2><span class="dot" data-v-a5f3efd2></span> Web-Enabled · 管理员 / 运营 双视图</li><li data-v-a5f3efd2><span class="dot" data-v-a5f3efd2></span> 嵌入 webVRender 真实 3D 场景</li></ul>',5)),a("div",_e,[e[13]||(e[13]=a("span",{class:"badge"},"v1.7",-1)),a("span",null,y(r(E).activeTheme.name)+" · "+y(r(E).activeTheme.preview),1)])]),a("div",we,[e[26]||(e[26]=a("div",{class:"panel-head"},[a("div",{class:"panel-title"},"登 录"),a("div",{class:"panel-sub"},"访问 SimpleLite 的 Vue 外壳")],-1)),s(D,{ref_key:"formRef",ref:v,model:l,rules:W,class:"glass-form","hide-required-asterisk":""},{default:o(()=>[s(d,{prop:"username"},{default:o(()=>[s(u,{modelValue:l.username,"onUpdate:modelValue":e[0]||(e[0]=t=>l.username=t),size:"large",placeholder:"用户名",autocomplete:"username",clearable:""},{prefix:o(()=>[s(n,null,{default:o(()=>[s(r(J))]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(d,{prop:"password"},{default:o(()=>[s(u,{modelValue:l.password,"onUpdate:modelValue":e[1]||(e[1]=t=>l.password=t),type:"password",size:"large","show-password":"",placeholder:"密码(Mock,任意非空)",autocomplete:"current-password"},{prefix:o(()=>[s(n,null,{default:o(()=>[s(r(K))]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(d,{prop:"scope",class:"scope-item"},{default:o(()=>[a("div",Ve,[a("button",{type:"button",class:c(["scope-tab",{active:l.scope==="Platform"}]),onClick:e[2]||(e[2]=t=>l.scope="Platform")},[s(n,null,{default:o(()=>[s(r(Z))]),_:1}),e[15]||(e[15]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"管理员"),a("div",{class:"scope-desc"},"platform-vue · 全功能")],-1))],2),a("button",{type:"button",class:c(["scope-tab",{active:l.scope==="RCSMonitor"}]),onClick:e[3]||(e[3]=t=>l.scope="RCSMonitor")},[s(n,null,{default:o(()=>[s(r(ee))]),_:1}),e[16]||(e[16]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"运营"),a("div",{class:"scope-desc"},"rcsmonitor-vue · 受限")],-1))],2)])]),_:1}),s(d,{prop:"launchMode",class:"scope-item launch-mode-item"},{default:o(()=>[a("div",ye,[e[18]||(e[18]=a("span",{class:"launch-mode-title"},"SimpleLite 启动模式",-1)),s(_,{placement:"top"},{content:o(()=>[...e[17]||(e[17]=[a("div",{class:"launch-tip"},[a("div",null,[a("b",null,"本地+Web"),p(":登录后由 Platform 后端拉起 SimpleLite,同时打开桌面端 ImGui 窗口与浏览器端 webVRender。")]),a("div",null,[a("b",null,"仅 Web"),p(":只起 WebTerminal,不弹本地桌面窗口,适合远程办公 / 服务器部署。")])],-1)])]),default:o(()=>[s(n,{class:"launch-mode-help"},{default:o(()=>[s(r(se))]),_:1})]),_:1})]),a("div",he,[a("button",{type:"button",class:c(["scope-tab",{active:l.launchMode==="DesktopAndWeb"}]),onClick:e[4]||(e[4]=t=>l.launchMode="DesktopAndWeb")},[s(n,null,{default:o(()=>[s(r(oe))]),_:1}),e[19]||(e[19]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"本地 + Web"),a("div",{class:"scope-desc"},"桌面窗口 & 浏览器同时启动")],-1))],2),a("button",{type:"button",class:c(["scope-tab",{active:l.launchMode==="WebOnly"}]),onClick:e[5]||(e[5]=t=>l.launchMode="WebOnly")},[s(n,null,{default:o(()=>[s(r(te))]),_:1}),e[20]||(e[20]=a("div",{class:"scope-meta"},[a("div",{class:"scope-name"},"仅 Web"),a("div",{class:"scope-desc"},"不启桌面窗口 · 浏览器使用")],-1))],2)])]),_:1}),a("div",ke,[s(w,{modelValue:l.remember,"onUpdate:modelValue":e[6]||(e[6]=t=>l.remember=t),size:"default",class:"remember"},{default:o(()=>[...e[21]||(e[21]=[p("下次自动按当前 scope 进入",-1)])]),_:1},8,["modelValue"]),s(z,{underline:"never",class:"adv-link",onClick:e[7]||(e[7]=t=>m.value=m.value.length?[]:["adv"])},{default:o(()=>[...e[22]||(e[22]=[p("高级 ",-1)])]),_:1})]),s(U,{modelValue:m.value,"onUpdate:modelValue":e[12]||(e[12]=t=>m.value=t),class:"adv-collapse"},{default:o(()=>[s(L,{name:"adv"},{title:o(()=>[...e[23]||(e[23]=[a("span",{class:"adv-title"},"Web-Enabled · 端口与监听",-1)])]),default:o(()=>[a("div",Ee,[s(d,{label:"监听地址"},{default:o(()=>[s(u,{modelValue:i.host,"onUpdate:modelValue":e[8]||(e[8]=t=>i.host=t),size:"default"},null,8,["modelValue"])]),_:1}),s(d,{label:"WebAPI"},{default:o(()=>[s(V,{modelValue:i.apiPort,"onUpdate:modelValue":e[9]||(e[9]=t=>i.apiPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1}),s(d,{label:"Platform"},{default:o(()=>[s(V,{modelValue:i.platformPort,"onUpdate:modelValue":e[10]||(e[10]=t=>i.platformPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1}),s(d,{label:"webVRender"},{default:o(()=>[s(V,{modelValue:i.vrPort,"onUpdate:modelValue":e[11]||(e[11]=t=>i.vrPort=t),min:1,max:65535,size:"default","controls-position":"right"},null,8,["modelValue"])]),_:1})])]),_:1})]),_:1},8,["modelValue"]),s(A,{type:"primary",loading:b.value,class:"btn-login",size:"large",onClick:$},{default:o(()=>[...e[24]||(e[24]=[p(" 登 录 ",-1)])]),_:1},8,["loading"]),e[25]||(e[25]=a("div",{class:"bottom-note"}," 任意非空用户名 + 任意密码即可登录;scope 决定进入 admin / monitor 视图;权限按 Mock 表生成。 ",-1))]),_:1},8,["model"])])]),a("div",Ce," 迷毂 · "+y(T.value)+" · ARCHITECTURE v1.6 · powered by webVRender ",1)])}}}),De=ce(Me,[["__scopeId","data-v-a5f3efd2"]]);export{De as default};