feat(M5): 前端完善 + 部署 — Vue3 全量页面、仪表盘统计与我的审计接口、systemd/sudoers/迁移脚本、部署文档

This commit is contained in:
2026-08-30 10:50:46 +08:00
parent c0e2ff975a
commit b305d7b371
67 changed files with 3209 additions and 171 deletions
+1
View File
@@ -0,0 +1 @@
function a(e){if(!e)return"-";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("zh-CN",{hour12:!1})}function n(e){if(!e)return null;const t=new Date(e).getTime()-Date.now();return Math.ceil(t/864e5)}const u={active:"正常",disabled:"已禁用",expired:"已过期"},s={pending:"待审批",approved:"已通过",rejected:"已拒绝"},r={"auth.admin_login":"管理员登录","auth.otp_send":"发送 OTP","auth.otp_login":"OTP 登录","auth.logout":"登出","user.create":"创建用户","user.update":"更新用户","user.disable":"禁用用户","user.enable":"启用用户","user.extend":"延期用户","user.delete":"删除用户","key.create":"上传密钥","key.rename":"重命名密钥","key.revoke":"吊销密钥","approval.submit":"提交申请","approval.review":"审批申请","lifecycle.expire":"到期锁定","lifecycle.recycle":"回收删除"};function i(e){return r[e]||e}function o(e){try{return JSON.stringify(JSON.parse(e))}catch{return e}}export{i as a,s as b,n as d,a as f,o as p,u};