PROJECT_README.md 8.2 KB

面试管理系统 - 项目说明文档

📋 项目概述

本系统是一个基于 Django-Vue3-Admin 框架开发的面试管理系统,旨在为企业提供完整的在线面试解决方案。系统支持职位管理、简历筛选、在线面试、AI面试、数字人面试等多种功能。

🎯 核心功能模块

1. 职位管理模块 (/src/views/position/)

  • 职位列表管理:职位信息CRUD、批量状态管理、标签管理
  • 职位详情管理:职位完整信息配置
  • 职位能力匹配:职位与能力的关联管理
  • 职位创建向导:引导式职位创建流程

2. 题库管理模块 (/src/views/questionBank/)

  • 题库分类管理:题目分类维护
  • 标签管理:题目标签体系
  • 题目管理:支持多种题型(选择题、填空题、问答题等)
  • 批量操作:批量分类、标签管理
  • 评分标准:自定义评分规则

3. 人才管理模块 (/src/views/talent/)

  • 人才库:候选人信息管理
  • 海外人才管理:国际化人才管理
  • 标签管理:人才标签体系
  • 简历筛选:智能简历筛选功能

4. 求职申请管理 (/src/views/JobApplication/)

  • 申请列表:所有求职申请记录
  • 申请状态跟踪:申请流程状态管理
  • 批量状态修改:批量处理申请
  • 短信通知:申请状态变更通知
  • 报告查看:面试报告查看

5. 数字人面试模块 (/src/views/digitalHuman/)

  • 数字人面试:基于AI的数字人面试功能
  • 面试配置:数字人面试参数设置
  • 详情查看:面试过程记录

6. 系统管理模块 (/src/views/system/)

  • 用户管理:系统用户管理
  • 角色权限:RBAC权限管理
  • 菜单管理:动态菜单配置
  • 部门管理:组织架构管理
  • 字典管理:系统字典维护
  • 地区管理:省市县数据管理
  • 文件管理:文件上传管理
  • 操作日志:系统操作日志记录
  • 登录日志:用户登录记录

🏗️ 技术架构

前端技术栈

  • 框架:Vue 3.4.38 + TypeScript
  • UI组件库:Element Plus 2.8.0
  • 状态管理:Pinia 2.0.28
  • 路由:Vue Router 4.4.3
  • 构建工具:Vite 5.4.1
  • CRUD组件:FastCRUD 1.21.2
  • 国际化:Vue I18n 9.14.0
  • 富文本编辑器:WangEditor 5.1.23
  • 图表:ECharts 5.6.0
  • 表格:VXE Table 4.6.18

项目结构

src/
├── api/                 # API接口定义
├── assets/              # 静态资源
│   ├── iconfont/        # 图标字体
│   ├── img/             # 图片资源
│   └── style/           # 样式文件
├── components/           # 公共组件
│   ├── auth/            # 权限组件
│   ├── editor/          # 富文本编辑器
│   ├── fileSelector/    # 文件选择器
│   ├── iconSelector/    # 图标选择器
│   ├── table/           # 表格组件
│   └── ...
├── stores/              # Pinia状态管理
├── views/               # 页面视图
│   ├── position/        # 职位管理
│   ├── questionBank/    # 题库管理
│   ├── talent/          # 人才管理
│   ├── JobApplication/  # 求职申请
│   ├── digitalHuman/    # 数字人面试
│   └── system/          # 系统管理
├── router/              # 路由配置
├── utils/               # 工具函数
├── i18n/                # 国际化
└── plugin/              # 插件

🚀 快速开始

环境要求

  • Node.js >= 16.0.0
  • npm >= 7.0.0
  • 现代浏览器(Chrome, Firefox, Safari, Edge)

安装步骤

  1. 安装依赖

    npm install
    
  2. 开发模式启动

    npm run dev
    
  3. 生产环境构建

    npm run build
    

配置说明

  • 开发环境配置.env.development 文件
  • 生产环境配置.env.production 文件
  • 本地生产配置.env.local_prod 文件

主要配置项:

  • VITE_PORT:开发服务器端口(默认:8080)
  • VITE_PUBLIC_PATH:生产环境公共路径
  • VITE_API_URL:后端API地址

📁 核心业务说明

1. 职位配置自动创建功能

系统会自动为职位创建默认配置,无需手动操作。详情见 CONFIG_AUTO_CREATE_SUMMARY.md

使用场景

  • 创建新职位时,系统自动初始化面试配置
  • 心理测试、色盲测试等开关默认关闭
  • 数字人面试功能可单独配置

2. 字段配置本地缓存功能

职位详情页的字段配置会自动缓存在本地,有效期7天。详情见 FIELD_CONFIG_CACHE_README.md

使用场景

  • 用户自定义字段显示偏好
  • 提高操作效率,减少重复配置
  • 跨浏览器数据隔离

3. 权限管理

  • 按钮权限:精确到按钮级别的权限控制
  • 字段权限:精确到字段级别的权限控制
  • 数据权限:支持按部门、角色划分数据访问范围

权限体系

  • 菜单权限:控制页面访问
  • 按钮权限:控制操作按钮显示
  • 接口权限:控制API调用
  • 字段权限:控制字段可见性
  • 数据权限:控制数据范围

4. 文件上传

  • 支持多种文件格式(图片、文档、视频等)
  • 自动压缩和预览
  • 文件管理后台
  • 支持断点续传(大文件)

5. 智能筛选功能

  • 人才筛选:根据条件自动筛选匹配人才
  • 简历分析:AI智能解析简历内容
  • 能力匹配:职位与人才能力自动匹配

6. 面试流程管理

  • 多轮面试:支持多轮次面试流程
  • 状态跟踪:实时跟踪申请状态
  • 自动通知:邮件、短信自动通知
  • 面试报告:自动生成面试报告

🛠️ 开发规范

代码规范

  • 使用 TypeScript 进行类型检查
  • 遵循 Vue 3 Composition API 规范
  • 使用 ESLint 进行代码检查

提交规范

git commit -m "feat: 添加新功能"
git commit -m "fix: 修复bug"
git commit -m "docs: 更新文档"
git commit -m "style: 代码格式调整"
git commit -m "refactor: 代码重构"

命名规范

  • 组件名:使用 PascalCase(如 UserManagement.vue
  • 文件名:使用 kebab-case(如 user-info.vue
  • 变量/函数名:使用 camelCase(如 getUserInfo
  • 常量:使用 UPPER_SNAKE_CASE(如 API_BASE_URL

📝 常用功能

FastCRUD 配置

系统使用 FastCRUD 作为表格组件,统一配置在 src/settings.ts 文件中,包括:

  • 接口请求/响应转换
  • 文件上传配置
  • 富文本编辑器配置
  • 字典数据获取

国际化

系统支持多语言切换,语言文件在 src/i18n/lang/ 目录下:

  • 中文简体(zh-cn.ts)
  • 中文繁体(zh-tw.ts)
  • 英文(en.ts)

主题配置

  • 支持亮色/暗色主题切换
  • 主题配置在 src/stores/themeConfig.ts

🔧 故障排查

常见问题

  1. 启动报错

    • 检查 Node.js 版本是否符合要求
    • 删除 node_modulespackage-lock.json,重新安装
  2. 接口请求失败

    • 检查后端服务是否启动
    • 检查 VITE_API_URL 配置是否正确
  3. 页面空白

    • 检查浏览器控制台错误信息
    • 清除浏览器缓存
    • 检查路由配置
  4. 样式不生效

    • 检查 Tailwind CSS 配置
    • 检查 Element Plus 样式导入

📚 相关文档

📄 许可证

MIT License

👥 贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📞 联系方式


版本信息:v3.0.4
更新日期:2024