2 lines
4.3 KiB
JavaScript
2 lines
4.3 KiB
JavaScript
import{u as v,r,f as S,s as x,j as e,T as k,R as C,a as T,b as P,B as f,c as R,g as B,d as E,l as z,e as L}from"./index-BGI3tmtB.js";import{F as l}from"./index-BuOmEnKg.js";import{I as m}from"./index-FqFqpoYX.js";import{C as U}from"./index-DJxTfCUX.js";import"./useForm-BpWJqkw6.js";import"./row-C3H8lbGw.js";import"./index-DUXqiKOh.js";const{Text:q}=k;function D(){const{t:a}=v(),[i,j]=r.useState(null),[o,g]=r.useState(!0),[u,h]=r.useState(!1),[t,b]=r.useState(null),[y]=l.useForm(),N="汇智CRM管理后台",c=r.useCallback(async()=>{if(!o)return;const s=await S();j(s)},[o]);r.useEffect(()=>{(async()=>{try{const[n,d]=await Promise.all([B("security.captcha.enabled","true"),E()]);b(d);const p=n!=="false";g(p),p&&await c()}catch{g(!0),await c()}})()},[c]),r.useEffect(()=>{new URLSearchParams(window.location.search).get("timeout")==="1"&&(x.warning(a("login.loginTimeout")),window.history.replaceState({},document.title,window.location.pathname))},[a]);const w=async s=>{h(!0);try{const n=await z({username:s.username,password:s.password,tenantCode:s.tenantCode,captchaId:o?i==null?void 0:i.captchaId:void 0,captchaCode:o?s.captchaCode:void 0});if(localStorage.setItem("accessToken",n.accessToken),localStorage.setItem("refreshToken",n.refreshToken),localStorage.setItem("username",s.username),n.availableTenants){localStorage.setItem("availableTenants",JSON.stringify(n.availableTenants));const d=JSON.parse(atob(n.accessToken.split(".")[1]));localStorage.setItem("activeTenantId",String(d.tenantId))}try{const d=await L();sessionStorage.setItem("userProfile",JSON.stringify(d))}catch{sessionStorage.removeItem("userProfile")}x.success(a("common.success")),window.location.href="/"}catch{o&&await c()}finally{h(!1)}},I=t!=null&&t.loginBgUrl?{backgroundImage:`url(${t.loginBgUrl})`,backgroundSize:"cover",backgroundPosition:"center",position:"relative"}:{};return e.jsxs("div",{className:"login-page",style:I,children:[e.jsx("div",{className:"login-page-backdrop"}),e.jsx("div",{className:"login-page-grid",children:e.jsx("section",{className:"login-panel",children:e.jsx("div",{className:"login-panel-card",children:e.jsxs("div",{className:"login-panel-layout",children:[e.jsx("div",{className:"login-left",children:e.jsxs("div",{className:"login-brand",children:[e.jsx("div",{className:"brand-logo-wrap",children:e.jsx("img",{src:(t==null?void 0:t.logoUrl)||"/logo.svg",alt:"Logo",className:"brand-logo-img"})}),e.jsxs("div",{className:"brand-copy",children:[e.jsx("p",{className:"brand-kicker",children:"智慧销售协同平台"}),e.jsx("span",{className:"brand-name",children:N})]})]})}),e.jsx("div",{className:"login-right",children:e.jsxs("div",{className:"login-container",children:[e.jsxs("div",{className:"login-header",children:[e.jsx("p",{className:"login-panel-eyebrow",children:a("login.welcome")}),e.jsx(q,{type:"secondary",children:a("login.subtitle")})]}),e.jsxs(l,{form:y,layout:"vertical",onFinish:w,className:"login-form",requiredMark:!1,autoComplete:"off",children:[e.jsx(l.Item,{name:"username",rules:[{required:!0,message:a("login.username")}],children:e.jsx(m,{size:"large",prefix:e.jsx(C,{className:"text-gray-400","aria-hidden":"true"}),placeholder:a("login.username"),autoComplete:"username",spellCheck:!1,"aria-label":a("login.username")})}),e.jsx(l.Item,{name:"password",rules:[{required:!0,message:a("login.password")}],children:e.jsx(m.Password,{size:"large",prefix:e.jsx(T,{className:"text-gray-400","aria-hidden":"true"}),placeholder:a("login.password"),autoComplete:"current-password","aria-label":a("login.password")})}),o?e.jsx(l.Item,{name:"captchaCode",rules:[{required:!0,message:a("login.captcha")}],children:e.jsxs("div",{className:"captcha-wrapper",children:[e.jsx(m,{size:"large",prefix:e.jsx(P,{className:"text-gray-400","aria-hidden":"true"}),placeholder:a("login.captcha"),maxLength:6,"aria-label":a("login.captcha")}),e.jsx(f,{className:"captcha-image-btn",onClick:()=>void c(),icon:i?null:e.jsx(R,{spin:!0}),"aria-label":"刷新验证码",children:i?e.jsx("img",{src:i.imageBase64,alt:"验证码"}):null})]})}):null,e.jsx("div",{className:"login-extra",children:e.jsx(l.Item,{name:"remember",valuePropName:"checked",noStyle:!0,children:e.jsx(U,{children:a("login.rememberMe")})})}),e.jsx(l.Item,{children:e.jsx(f,{type:"primary",htmlType:"submit",loading:u,block:!0,size:"large",className:"login-submit-btn",children:a(u?"login.loggingIn":"login.submit")})})]})]})})]})})})})]})}export{D as default};
|