Files
yunrui_asset/frontend/package.json
T
zhang1106 2826a00192 refactor(frontend): 重构状态管理使用Zustand替代Context API
feat(auth): 添加账户锁定功能及自动解锁机制
feat(user): 在用户模型中添加lockedUntil字段
feat(api): 实现账户锁定逻辑和剩余尝试次数提示

perf(3d): 优化3D场景状态管理性能
perf(floorplan): 优化平面图状态管理性能

chore(deps): 添加zustand依赖
chore(config): 更新安全配置锁定时间为3分钟

docs: 更新部分组件注释
style: 调整登录页面样式
2026-05-08 11:17:29 +08:00

61 lines
1.8 KiB
JSON

{
"name": "idc-frontend",
"version": "2.0.0",
"description": "IDC设备管理系统前端",
"scripts": {
"start": "vite",
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"lint:fix": "eslint . --ext js,jsx --fix",
"format": "prettier --write \"src/**/*.{js,jsx,css,json}\"",
"format:check": "prettier --check \"src/**/*.{js,jsx,css,json}\""
},
"dependencies": {
"@ant-design/icons": "^6.1.0",
"@react-three/drei": "^9.122.0",
"@react-three/fiber": "^8.18.0",
"@types/dagre": "^0.7.54",
"antd": "^5.8.6",
"axios": "^1.13.6",
"dagre": "^0.8.5",
"dayjs": "^1.11.19",
"framer-motion": "^12.34.0",
"html2canvas": "^1.4.1",
"papaparse": "^5.5.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.15.0",
"react-transition-group": "^4.4.5",
"react-virtualized-auto-sizer": "^2.0.3",
"react-window": "^2.2.7",
"reactflow": "^11.11.4",
"styled-components": "^6.3.9",
"swr": "^2.4.0",
"three": "^0.183.2",
"xlsx": "^0.18.5",
"zustand": "^4.5.7"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.1",
"@testing-library/user-event": "^14.6.1",
"@vitejs/plugin-react": "^4.0.3",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.5.0",
"jsdom": "^27.3.0",
"prettier": "^3.8.1",
"terser": "^5.44.1",
"unplugin-auto-import": "^21.0.0",
"unplugin-icons": "^23.0.1",
"unplugin-vue-components": "^31.0.0",
"vite": "^4.4.9",
"vitest": "^4.0.16"
}
}