# 电子族谱 **Repository Path**: evanyue/family ## Basic Information - **Project Name**: 电子族谱 - **Description**: 由cursor写的电子族谱 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2025-10-27 - **Last Updated**: 2025-10-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 家族谱系图管理系统 一个现代化的家族谱系图管理系统,支持家族成员的可视化展示、管理和编辑。 ## 功能特点 - 📊 可视化家族树展示 - 🔍 成员搜索与定位 - 👥 成员信息管理(添加、编辑、删除) - 👫 配偶关系管理 - 👶 子女关系管理 - 🖼️ 成员头像上传 - 🔐 管理员权限控制 - 🖱️ 交互式视图控制(缩放、平移) - 📱 响应式设计 #预览图 ![输入图片说明](backend/uploads/%E6%97%8F%E8%B0%B1%E9%A2%84%E8%A7%88%E5%9B%BE.png) 管理员账号 admin 123456 ## 技术栈 ### 前端 - Vue 3 - Vue Router - Vuex - Element Plus - SCSS ### 后端 - Spring Boot - Spring Security - MyBatis-Plus - MySQL ## 系统要求 - Node.js >= 14.0.0 - Java 8= 11 - MySQL = 8 ## 安装与运行 ### 前端 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install # 启动开发服务器 npm run serve # 构建生产版本 npm run build ``` ### 后端 ```bash # 进入后端目录 cd backend # 使用Maven构建项目 mvn clean install # 运行项目 java -jar target/family-tree-0.0.1-SNAPSHOT.jar ``` ## 使用说明 ### 游客模式 - 查看家族树 - 搜索家族成员 - 查看成员详细信息 ### 管理员模式 - 添加/编辑/删除成员 - 管理成员关系 - 上传成员头像 - 编辑成员信息 ### 视图控制 - 鼠标拖拽:平移视图 - 鼠标滚轮 + Ctrl:缩放视图 - 重置视图:将视图重置到初始状态 - 搜索定位:快速定位到指定成员 ## 项目结构 ``` family-tree/ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── components/ # 组件 │ │ ├── views/ # 页面 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ └── main.js # 入口文件 │ └── package.json │ └── backend/ # 后端项目 ├── src/ │ ├── main/ │ │ ├── java/ # Java源代码 │ │ └── resources/ # 配置文件 │ └── test/ # 测试代码 └── pom.xml ``` ## API文档 ### 成员管理 - `GET /api/members/tree` - 获取家族树数据 - `GET /api/members/search` - 搜索成员 - `POST /api/members` - 创建新成员 - `PUT /api/members/{id}` - 更新成员信息 - `DELETE /api/members/{id}` - 删除成员 ### 关系管理 - `POST /api/members/{id}/spouse` - 添加配偶关系 - `DELETE /api/members/{id}/spouse` - 删除配偶关系 - `POST /api/members/{id}/children` - 添加子女关系 ### 文件管理 - `POST /api/files/upload` - 上传文件 - `PUT /api/members/{id}/avatar` - 更新成员头像 ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 许可证 [MIT License](LICENSE)