init
This commit is contained in:
37
.trae/documents/Boss招聘系统全栈功能完善计划.md
Normal file
37
.trae/documents/Boss招聘系统全栈功能完善计划.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 系统功能完善与优化计划
|
||||
|
||||
## 1. 修复与优化
|
||||
- **修复登录跳转**: 检查 NavBar 中的“登录”按钮,确保使用 Vue Router 进行跳转,避免页面刷新。
|
||||
- **权限修正**:
|
||||
- `CompanyController`: 放宽 `add` 和 `update` 权限,允许 **Boss** 创建和修改自己的公司。
|
||||
- `ApplicationController`: 为 `listApplicationVOByPage` 添加权限控制,允许 Admin 查看所有,但限制 User/Boss 只能看相关的。
|
||||
- `UserController`: 确认 `updateUser` 逻辑,确保 User/Boss 也能更新自己的信息(目前仅 Admin)。
|
||||
|
||||
## 2. 后端逻辑增强
|
||||
- **Boss 创建公司**:
|
||||
- 修改 `addCompany`:允许 Boss 调用。创建成功后,自动将 Boss 的 `company_id` 更新为新公司的 ID。
|
||||
- 限制:如果 Boss 已有公司,禁止创建新公司(或提示只能创建一个)。
|
||||
- **管理员查询投递**:
|
||||
- 修改 `listApplicationVOByPage`:如果是 Admin,允许无条件查询所有;如果是 User/Boss,强制追加 `userId`/`bossId` 过滤条件。
|
||||
|
||||
## 3. 前端新功能开发
|
||||
- **Boss 公司管理**:
|
||||
- 在 Boss 工作台增加“我的公司”模块。
|
||||
- 如果未绑定公司,显示“创建公司”表单。
|
||||
- 如果已绑定,显示公司详情及“编辑”按钮。
|
||||
- **职位发布管理**:
|
||||
- 在 Boss 工作台增加“发布职位”入口。
|
||||
- 创建 `JobEdit.vue`:用于发布新职位和编辑现有职位。
|
||||
- **管理员投递查询**:
|
||||
- 创建 `AdminApplications.vue`:仅管理员可见,展示全站投递记录,支持筛选。
|
||||
- **个人信息管理**:
|
||||
- 创建 `Profile.vue`:允许 User/Boss 修改昵称、密码、头像等信息。
|
||||
|
||||
## 4. 主页改版
|
||||
- 改造 `HomeView.vue`:
|
||||
- 展示“最新职位”列表(复用 Job 列表逻辑,或取前 6-8 条)。
|
||||
- 增加“热门公司”板块(可选)。
|
||||
|
||||
## 执行步骤
|
||||
1. **后端**: 修改 `CompanyController` (Boss权限), `ApplicationController` (列表权限), `UserController` (更新权限)。
|
||||
2. **前端**: 修复登录链接 -> 开发 Boss 公司模块 -> 开发职位发布模块 -> 开发管理员投递查询 -> 改造主页 -> 开发个人中心。
|
||||
30
.trae/documents/前端接口修复与流程对齐计划.md
Normal file
30
.trae/documents/前端接口修复与流程对齐计划.md
Normal file
@@ -0,0 +1,30 @@
|
||||
**目标**:修复前端接口调用报错,确保各角色(User/Boss/Admin)功能流程通畅。
|
||||
**原则**:不修改简历上传功能;密码统一为 11111111;修正不存在的后端接口调用。
|
||||
|
||||
### 1. 核心状态管理修复 (`stores/user.ts`)
|
||||
- **问题**:当前代码尝试调用 `/admin/login`, `/boss/login` 等不存在的接口。
|
||||
- **修复**:
|
||||
- 移除 `getLoginAdmin`, `getLoginBoss` 调用。
|
||||
- 统一使用 `getLoginUser` 获取用户信息。
|
||||
- 依靠返回的 `userRole` ('user', 'boss', 'admin') 区分身份。
|
||||
|
||||
### 2. 登录与注册流程修正
|
||||
- **登录页 (`views/LoginView.vue`)**:
|
||||
- 保持仅保留“用户登录”入口(因为后端统一了登录接口)。
|
||||
- **新增**:登录成功后,根据 `userRole` 自动跳转到对应首页:
|
||||
- Admin -> `/admin/applications` (或用户管理页)
|
||||
- Boss -> `/boss/applications`
|
||||
- User -> `/home`
|
||||
- **注册页 (`views/RegisterView.vue`)**:
|
||||
- **移除** "Boss注册" Tab,因为后端缺乏 `/boss/register` 接口。
|
||||
- 仅保留普通用户注册,避免前端报错。
|
||||
|
||||
### 3. 页面接口报错修复
|
||||
- **Boss 列表页 (`views/Bosses.vue`)**:
|
||||
- 原调用 `/boss/list/page/vo` 不存在。
|
||||
- **修复**:改为调用 `/user/list/page/vo`(用户列表接口),如果在前端能过滤或后端支持筛选最好,否则暂时显示用户列表以避免报错。
|
||||
- **Boss 个人信息/公司页**:
|
||||
- 确认依赖的 `companyId` 获取逻辑是否通过 `getLoginUser` 正常返回。
|
||||
|
||||
### 4. 验证
|
||||
- 启动开发服务器,模拟登录各角色账号(密码 11111111),验证页面加载与数据展示。
|
||||
50
.trae/documents/多角色招聘系统全栈开发计划.md
Normal file
50
.trae/documents/多角色招聘系统全栈开发计划.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 全栈开发计划:多角色系统与简历投递功能
|
||||
|
||||
## 1. 后端权限修正与逻辑完善
|
||||
### 权限放宽与校验
|
||||
- **JobPostingController**: 移除 `add`, `update`, `delete` 的 `@AuthCheck(mustRole = UserConstant.ADMIN_ROLE)` 限制,修改为允许 **Boss** 操作。在 Service 层添加逻辑,确保 Boss 只能操作自己发布的职位。
|
||||
- **BossApplicationDecisionController**: 移除 `@AuthCheck(ADMIN_ROLE)`,允许 **Boss** 提交决策。确保 Boss 只能处理投递给自己职位的申请。
|
||||
- **BossController**: 调整 `update`, `delete` 权限,允许 Admin 和 Boss 自己操作。
|
||||
|
||||
### 业务逻辑增强
|
||||
- **ApplicationController**: 确保 `add` 接口正确处理投递逻辑(检查是否已投递、关联简历等)。
|
||||
- **ResumeService**: 确认并确保 `delete` 和 `update` 操作校验了 `userId`,防止越权修改。
|
||||
|
||||
## 2. 前端架构升级
|
||||
### API 更新
|
||||
- 运行 `npm run openapi`,生成最新的后端接口定义(包含 `getLoginBoss` 等)。
|
||||
|
||||
### 状态管理 (Store)
|
||||
- 改造 `src/stores/user.ts` 中的 `fetchLoginUser` 方法:
|
||||
1. 尝试 `getLoginUser` (User)
|
||||
2. 失败则尝试 `getLoginAdmin` (Admin)
|
||||
3. 失败则尝试 `getLoginBoss` (Boss)
|
||||
4. 统一设置 `loginUser` 状态,并附加 `role` 字段('user' | 'admin' | 'boss')。
|
||||
|
||||
## 3. 前端功能模块开发
|
||||
### 简历管理模块 (User & Admin)
|
||||
- **我的简历 (`/user/resumes`)**: 展示当前用户的简历列表。
|
||||
- **简历编辑/创建 (`/user/resume/edit/:id?`)**: 表单页面,支持 Markdown 编辑。
|
||||
- **权限控制**: 列表页仅展示自己的简历;Admin 可在后台管理页查看所有。
|
||||
|
||||
### 职位与投递模块 (User)
|
||||
- **投递功能**: 在职位详情页或列表页增加“投递”按钮。
|
||||
- 弹窗选择要使用的简历。
|
||||
- 调用 `/application/add` 接口。
|
||||
- **我的投递 (`/user/applications`)**: 列表展示已投递的职位、投递时间及当前状态(已投递/已拒绝/面试中等)。
|
||||
|
||||
### Boss 工作台 (Boss)
|
||||
- **收到的投递 (`/boss/applications`)**: 展示投递给当前 Boss 的申请列表。
|
||||
- **决策操作**: 提供“接受”和“拒绝”按钮,调用 `/decision/add` 接口更新状态。
|
||||
|
||||
### Boss 列表管理 (Admin & Boss)
|
||||
- **Boss 列表页 (`/bosses`)**:
|
||||
- 所有人可见列表。
|
||||
- **修改/删除按钮**: 仅当 `loginUser.role === 'admin'` 或 `loginUser.id === item.id` (且角色为 Boss) 时显示。
|
||||
|
||||
## 4. 数据库完善
|
||||
- 确保 `f:\Code\BOSS\BOSSBackEnd\sql\sql.sql` 中的表结构与实体类一致(目前看来基本一致,主要关注索引和约束)。
|
||||
|
||||
## 执行顺序
|
||||
1. **后端**: 修改 Controllers 和 Services 权限逻辑。
|
||||
2. **前端**: 更新 API -> 修改 Store -> 开发简历页 -> 开发投递功能 -> 开发 Boss 工作台 -> 完善权限控制 UI。
|
||||
Reference in New Issue
Block a user