🚀 主要功能: - 完善后端API服务层,实现完整的CRUD操作 - 开发管理后台所有核心页面 (仪表板、照片、分类、标签、用户、设置) - 完成前后端完全集成,所有API接口正常对接 - 配置完整的CI/CD流水线,支持自动化部署 🎯 后端完善: - 实现PhotoService, CategoryService, TagService, UserService - 添加完整的API处理器和路由配置 - 支持Docker容器化部署 - 添加数据库迁移和健康检查 🎨 管理后台完成: - 仪表板: 实时统计数据展示 - 照片管理: 完整的CRUD操作,支持批量处理 - 分类管理: 树形结构展示和管理 - 标签管理: 颜色标签和统计信息 - 用户管理: 角色权限控制 - 系统设置: 多标签配置界面 - 添加pre-commit代码质量检查 🔧 部署配置: - Docker Compose完整配置 - 后端CI/CD流水线 (Docker部署) - 管理后台CI/CD流水线 (静态文件部署) - 前端CI/CD流水线优化 - 自动化脚本: 部署、备份、监控 - 完整的部署文档和运维指南 ✅ 集成完成: - 所有API接口正常连接 - 认证系统完整集成 - 数据获取和状态管理 - 错误处理和用户反馈 - 响应式设计优化
69 lines
2.1 KiB
JSON
69 lines
2.1 KiB
JSON
{
|
|
"name": "photography-admin",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "tsc && vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
"lint:fix": "eslint . --ext ts,tsx --fix",
|
|
"type-check": "tsc --noEmit",
|
|
"format": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
|
|
"format:fix": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,md}\"",
|
|
"test": "echo \"No tests specified\" && exit 0",
|
|
"prepare": "cd .. && husky install admin/.husky",
|
|
"pre-commit": "lint-staged"
|
|
},
|
|
"dependencies": {
|
|
"@radix-ui/react-dialog": "^1.0.5",
|
|
"@radix-ui/react-dropdown-menu": "^2.0.6",
|
|
"@radix-ui/react-label": "^2.0.2",
|
|
"@radix-ui/react-select": "^2.0.0",
|
|
"@radix-ui/react-slot": "^1.0.2",
|
|
"@radix-ui/react-switch": "^1.0.3",
|
|
"@radix-ui/react-tabs": "^1.0.4",
|
|
"@radix-ui/react-toast": "^1.1.5",
|
|
"@tanstack/react-query": "^5.17.19",
|
|
"@tanstack/react-query-devtools": "^5.17.21",
|
|
"axios": "^1.6.5",
|
|
"class-variance-authority": "^0.7.0",
|
|
"clsx": "^2.1.0",
|
|
"lucide-react": "^0.312.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-hook-form": "^7.48.2",
|
|
"react-router-dom": "^6.20.1",
|
|
"tailwind-merge": "^2.2.0",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"zustand": "^4.4.7"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^18.2.43",
|
|
"@types/react-dom": "^18.2.17",
|
|
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
"@typescript-eslint/parser": "^6.14.0",
|
|
"@vitejs/plugin-react": "^4.2.1",
|
|
"autoprefixer": "^10.4.16",
|
|
"eslint": "^8.55.0",
|
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
"eslint-plugin-react-refresh": "^0.4.5",
|
|
"husky": "^8.0.3",
|
|
"lint-staged": "^15.2.0",
|
|
"postcss": "^8.4.32",
|
|
"prettier": "^3.1.1",
|
|
"tailwindcss": "^3.4.0",
|
|
"typescript": "^5.2.2",
|
|
"vite": "^5.0.8"
|
|
},
|
|
"lint-staged": {
|
|
"*.{ts,tsx,js,jsx}": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
],
|
|
"*.{json,css,md}": [
|
|
"prettier --write"
|
|
]
|
|
}
|
|
} |