认证: - AuthContext + useAuth (JWT token 持久化, 登录/登出) - AdminLoginPage (登录表单, 对接 POST /auth/login) - axios 拦截器自动注入 Authorization header - 401 自动清除 token 并跳转登录页 类型: - api.ts: TASK_STATUS 常量, TaskResponse/ProductScanResponse 扩展字段 - admin.ts: ProductResponse 扩展 + MaterialOption/BomItem API 服务: - authApi: login() + getMe() - materialApi: fetchMaterialGroups() + fetchMaterialItems() - printApi: getLabelPreview() + executePrint() + getPrinterConfig() - antd 6.5.3 依赖 字体: simhei.ttf (标签打印用)
43 lines
1.1 KiB
JSON
43 lines
1.1 KiB
JSON
{
|
|
"name": "frontend",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc -b && vite build",
|
|
"lint": "oxlint",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"tauri:dev": "tauri dev",
|
|
"tauri:build": "tauri build",
|
|
"tauri:android:init": "tauri android init",
|
|
"tauri:android:build": "tauri android build"
|
|
},
|
|
"dependencies": {
|
|
"@tailwindcss/vite": "^4.3.3",
|
|
"@tauri-apps/api": "^2.11.1",
|
|
"@tauri-apps/plugin-shell": "^2.3.5",
|
|
"antd": "^6.5.3",
|
|
"axios": "^1.19.0",
|
|
"html5-qrcode": "^2.3.8",
|
|
"lucide-react": "^1.28.0",
|
|
"react": "^19.2.8",
|
|
"react-dom": "^19.2.8",
|
|
"react-router-dom": "^7.18.2",
|
|
"tailwindcss": "^4.3.3",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@tauri-apps/cli": "^2.11.4",
|
|
"@types/node": "^24.13.3",
|
|
"@types/react": "^19.2.17",
|
|
"@types/react-dom": "^19.2.3",
|
|
"@vitejs/plugin-basic-ssl": "^2.3.0",
|
|
"@vitejs/plugin-react": "^6.0.4",
|
|
"oxlint": "^1.75.0",
|
|
"typescript": "~6.0.2",
|
|
"vite": "^8.2.0"
|
|
}
|
|
}
|