Files
school2/public/assets/profile-DNgTuhJ8.js
2026-07-13 15:23:29 +08:00

1 line
6.6 KiB
JavaScript

import{Or as e,Tr as t,t as n}from"./jsx-runtime-NwRKtVrk.js";import{t as r}from"./button-CM-rzMOH.js";import{t as i}from"./space-Dvitgohy.js";import{n as a,t as o}from"./card-D7XvzVif.js";import{I as s,N as c,Q as l,Y as u,et as d,m as f,o as p,s as m}from"./es-Do50EHua.js";import{t as h}from"./list-69SP5aW7.js";import{t as g}from"./radio-CkoyL693.js";import{t as _}from"./tag-C0Yg14A-.js";import{t as v}from"./upload-CV7KMHYr.js";import{C as y,D as b,S as x,Y as S,b as C,c as w,h as T,m as E,o as D,p as O,s as k,u as A}from"./index-B7MUL4ct.js";var j=e(t(),1),M=e(b(),1),N=n(),{Text:P}=T,F=()=>{let e=w(e=>e.userinfo),t=w(e=>e.info),[n]=y.useForm(),[i,a]=(0,j.useState)(!1),{t:o}=k();return(0,N.jsxs)(`div`,{className:`w-full px-6 py-4`,children:[(0,N.jsxs)(`div`,{className:`flex flex-col items-center mb-3`,children:[(0,N.jsx)(S,{size:120,src:e?.avatar_url,className:`mb-4 border-2 border-gray-200`}),(0,N.jsx)(v,{name:`file`,action:`/index.php/system/uploadAvatar`,headers:{Authorization:`Bearer ${localStorage.getItem(`token`)}`},showUploadList:!1,onChange:async e=>{e.file.status===`done`&&(C.success(o(`user.profile.baseInfo.avatarSuccess`)),await t())},children:(0,N.jsx)(r,{icon:(0,N.jsx)(m,{}),children:o(`user.profile.baseInfo.updateAvatar`)})}),(0,N.jsx)(`p`,{className:`text-gray-500 text-sm mt-2`,children:o(`user.profile.baseInfo.updateAvatarDesc`)})]}),(0,N.jsxs)(y,{form:n,layout:`vertical`,onFinish:async e=>{try{a(!0),await O(e),await t(),C.success(o(`user.profile.baseInfo.success`))}finally{a(!1)}},initialValues:{bio:e?.bio,email:e?.email,mobile:e?.mobile,nickname:e?.nickname,sex:e?.sex,username:e?.username},children:[(0,N.jsx)(y.Item,{label:o(`user.profile.baseInfo.username`),name:`username`,rules:[{required:!0,message:o(`user.profile.baseInfo.username.message`)}],children:(0,N.jsx)(x,{disabled:!0})}),(0,N.jsx)(y.Item,{label:o(`user.profile.baseInfo.nickname`),name:`nickname`,rules:[{required:!0,message:o(`user.profile.baseInfo.nickname.message`)}],children:(0,N.jsx)(x,{})}),(0,N.jsx)(y.Item,{label:o(`user.profile.baseInfo.sex`),name:`sex`,children:(0,N.jsx)(g.Group,{options:[{value:0,label:o(`user.profile.baseInfo.sex.0`)},{value:1,label:o(`user.profile.baseInfo.sex.1`)}]})}),(0,N.jsx)(y.Item,{label:o(`user.profile.baseInfo.bio`),name:`bio`,children:(0,N.jsx)(x.TextArea,{rows:4})}),(0,N.jsx)(y.Item,{label:o(`user.profile.baseInfo.email`),name:`email`,rules:[{type:`email`,message:o(`user.profile.baseInfo.email.typeMessage`)},{required:!0,message:o(`user.profile.baseInfo.email.requiredMessage`)}],children:(0,N.jsx)(x,{})}),(0,N.jsx)(y.Item,{label:o(`user.profile.baseInfo.mobile`),name:`mobile`,rules:[{required:!0,message:o(`user.profile.baseInfo.mobile.message`)}],children:(0,N.jsx)(x,{})}),(0,N.jsx)(y.Item,{children:(0,N.jsx)(r,{type:`primary`,htmlType:`submit`,size:`large`,loading:i,block:!0,children:o(`user.profile.baseInfo.submit`)})})]})]})},I=()=>{let[e]=y.useForm(),[t,n]=(0,j.useState)(!1),{t:i}=k();return(0,N.jsxs)(y,{form:e,layout:`vertical`,onFinish:async t=>{try{n(!0),await E(t),e.resetFields(),C.success(i(`user.profile.changePassword.success`))}finally{n(!1)}},className:`w-full px-6 py-4`,children:[(0,N.jsx)(y.Item,{label:i(`user.profile.changePassword.oldPassword`),name:`oldPassword`,rules:[{required:!0,message:i(`user.profile.changePassword.oldPassword.message`)}],children:(0,N.jsx)(x.Password,{})}),(0,N.jsx)(y.Item,{label:i(`user.profile.changePassword.newPassword`),name:`newPassword`,rules:[{required:!0,message:i(`user.profile.changePassword.requiredMessage`)},{min:8,message:i(`user.profile.changePassword.minMessage`)}],children:(0,N.jsx)(x.Password,{})}),(0,N.jsx)(y.Item,{label:i(`user.profile.changePassword.rePassword`),name:`rePassword`,dependencies:[`newPassword`],rules:[{required:!0,message:i(`user.profile.changePassword.requiredMessage`)},({getFieldValue:e})=>({validator(t,n){return!n||e(`newPassword`)===n?Promise.resolve():Promise.reject(Error(i(`user.profile.changePassword.rePassword.message`)))}})],children:(0,N.jsx)(x.Password,{})}),(0,N.jsx)(r,{type:`primary`,block:!0,htmlType:`submit`,size:`large`,loading:t,children:i(`user.profile.changePassword.submit`)})]})},L=()=>{let[e,t]=(0,j.useState)([]),{t:n}=k();(0,j.useEffect)(()=>{A().then(e=>t(e.data.data||[]))},[]);let r=({browser:e})=>{let t={Chrome:`🚀`,Firefox:`🦊`,Safari:`🍎`,Edge:`🌊`},n=Object.keys(t).find(t=>e?.includes(t));return(0,N.jsx)(`span`,{children:n?t[n]:`💻`})};return(0,N.jsx)(h,{dataSource:e,className:`w-full px-6 py-4 overflow-auto`,locale:{emptyText:n(`user.profile.loginLog.empty`)},renderItem:e=>(0,N.jsxs)(h.Item,{style:{minWidth:600},children:[(0,N.jsx)(S,{size:`large`,icon:(0,N.jsx)(p,{}),style:{backgroundColor:e.status===`0`?`#87d068`:`#f56a00`,marginRight:16}}),(0,N.jsxs)(`div`,{className:`flex-1`,children:[(0,N.jsxs)(`div`,{className:`flex items-center mb-2`,children:[(0,N.jsx)(P,{strong:!0,className:`mr-3 text-base`,children:e.username}),e.status===`0`?(0,N.jsx)(_,{color:`green`,icon:(0,N.jsx)(d,{}),children:n(`user.profile.loginLog.success`)}):(0,N.jsx)(_,{color:`red`,icon:(0,N.jsx)(l,{}),children:n(`user.profile.loginLog.error`)}),(0,N.jsx)(P,{type:`secondary`,className:`ml-auto`,children:(0,M.default)(e.login_time).format(`YYYY-MM-DD HH:mm:ss`)})]}),(0,N.jsxs)(i,{size:`large`,wrap:!0,children:[(0,N.jsxs)(`div`,{className:`flex items-center`,children:[(0,N.jsx)(s,{className:`mr-1 text-blue-500`}),(0,N.jsx)(P,{type:`secondary`,children:e.ipaddr})]}),(0,N.jsxs)(`div`,{className:`flex items-center`,children:[(0,N.jsx)(u,{className:`mr-1 text-green-500`}),(0,N.jsx)(P,{type:`secondary`,children:e.login_location})]}),(0,N.jsxs)(`div`,{className:`flex items-center`,children:[(0,N.jsx)(r,{browser:e.browser}),(0,N.jsx)(P,{type:`secondary`,className:`ml-1`,children:e.browser})]}),(0,N.jsxs)(P,{type:`secondary`,children:[`OS: `,e.os]})]})]})]})})},R=()=>{let[e,t]=(0,j.useState)(`info`),{t:n}=k(),r=D(),i=[{label:(0,N.jsxs)(`span`,{className:`flex items-center`,children:[(0,N.jsx)(p,{className:`mr-2`}),r?null:n(`user.profile.baseInfo`)]}),key:`info`,children:(0,N.jsx)(F,{})},{label:(0,N.jsxs)(`span`,{className:`flex items-center`,children:[(0,N.jsx)(c,{className:`mr-2`}),r?null:n(`user.profile.changePassword`)]}),key:`security`,children:(0,N.jsx)(I,{})},{label:(0,N.jsxs)(`span`,{className:`flex items-center`,children:[(0,N.jsx)(f,{className:`mr-2`}),r?null:n(`user.profile.loginLog`)]}),key:`loginlog`,children:(0,N.jsx)(L,{})}];return(0,N.jsx)(o,{title:n(`user.profile.title`),variant:`borderless`,style:{maxWidth:800,width:`100%`},styles:{body:{paddingInline:0,paddingRight:25,display:`flex`}},children:(0,N.jsx)(a,{activeKey:e,onChange:t,tabPlacement:`start`,className:`min-h-[500px] w-full`,items:i})})};export{R as default};