解决合并冲突: 整合班级排名功能和学习进度功能

- 保留完整的班级排名显示逻辑(领奖台+列表)
- 整合学习进度查询功能
- 兼容不同的响应数据格式
- 添加加载状态和错误处理
This commit is contained in:
2025-08-25 14:32:11 +08:00
26 changed files with 951 additions and 236 deletions

View File

@@ -8,6 +8,15 @@ export async function getJobsList(params) {
params,
});
}
// 获取企业内推岗位详情
export async function getJobsDetail(id) {
return request({
url: `/api/jobs/${id}`,
method: "GET",
});
}
// 获取企业内推岗位面试
export async function getInterviewsList(params) {
return request({
@@ -16,3 +25,19 @@ export async function getInterviewsList(params) {
params,
});
}
// 获取简历列表
export async function getResumesList(params) {
return request({
url: `/api/resumes`,
method: "GET",
params: params,
});
}
// 获取简历详情
export async function getResumesDetail(id) {
return request({
url: `/api/resumes/${id}`,
method: "GET",
});
}

View File

@@ -1,20 +1,20 @@
import request from "@/utils/request";
// 获取当前学生的仪表板统计信息
export async function getDashboardStatistics() {
// 获取学生的整体学习进度
export async function getStudyRecordsProgress() {
return request({
url: `/api/dashboard/stats`,
url: `/api/study-records/progress`,
method: "GET",
namespace: "dashboardLoading",
});
}
// 获取当前学生的学习进度汇总
export async function getLearningProgressSummary(params = {}) {
// 获取我的任务
export async function getMyTasks(params = {}) {
return request({
url: `/api/dashboard/learning-summary`,
url: `/api/tasks/my-tasks`,
method: "GET",
params,
params: params,
namespace: "dashboardLoading",
});
}
@@ -24,7 +24,7 @@ export async function getClassRanking(params = { limit: 6 }) {
return request({
url: `/api/rankings/class`,
method: "GET",
params,
params: params,
namespace: "dashboardLoading",
});
}

View File

@@ -1,35 +1,48 @@
// 统一的API服务接口 - 基于当前认证用户
import {
getDashboardStatistics,
getLearningProgressSummary,
getStudyRecordsProgress,
getMyTasks,
getClassRanking,
} from "./dashboard";
import { getProjectsList } from "./projectLibrary";
import { getJobsList, getInterviewsList } from "./companyJobs";
import {
getJobsList,
getJobsDetail,
getInterviewsList,
getResumesList,
getResumesDetail,
} from "./companyJobs";
import { getLoginStudentInfo } from "./global";
import { getLoginStudentProgress, getClassRank, getMyRanking } from "./personalProfile";
import { getResumesList, getResumesDetail } from "./resumeInterview";
import {
getDashboardStatistics,
getLoginStudentProgress,
getClassRank,
getMyRanking,
} from "./personalProfile";
import {} from "./resumeInterview";
export {
// 仪表盘相关
getDashboardStatistics, // 获取当前学生仪表盘统计
getLearningProgressSummary, // 获取当前学生学习进度汇总
getMyTasks, // 获取我的任务
getDashboardStatistics, // 获取当前学生仪表盘统计
getStudyRecordsProgress, // 获取学生的整体学习进度
// 排名相关
getClassRanking, // 获取当前学生班级排名
getMyRanking, // 获取当前学生详细排名信息
getClassRanking, // 获取当前学生班级排名
getMyRanking, // 获取当前学生详细排名信息
// 学生信息相关
getLoginStudentInfo, // 获取当前登录学生基本信息
getLoginStudentProgress, // 获取当前学生学习进度
getClassRank, // 获取班级排名(别名)
getLoginStudentInfo, // 获取当前登录学生基本信息
getLoginStudentProgress, // 获取当前学生学习进度
getClassRank, // 获取班级排名(别名)
// 项目和作品相关
getProjectsList, // 获取项目列表
getProjectsList, // 获取项目列表
// 求职相关
getJobsList, // 获取岗位列表
getInterviewsList, // 获取面试列表
getResumesList, // 获取简历列表
getResumesDetail, // 获取简历详情
getJobsList, // 获取岗位列表
getJobsDetail, // 岗位详情
getInterviewsList, // 获取面试列表
getResumesList, // 获取简历列表
getResumesDetail, // 获取简历详情
};

View File

@@ -9,12 +9,21 @@ export async function getLoginStudentProgress() {
});
}
// 获取仪表板统计信息
export async function getDashboardStatistics() {
return request({
url: `/api/dashboard/stats`,
method: "GET",
namespace: "dashboardLoading",
});
}
// 获取当前学生班级排名
export async function getClassRank(queryParams = {}) {
export async function getClassRank(params = {}) {
return request({
url: `/api/rankings/class`,
method: "GET",
params: queryParams,
params: params,
namespace: "profileLoading",
});
}

View File

@@ -1,17 +1 @@
import request from "@/utils/request";
// 获取简历列表
export async function getResumesList(params) {
return request({
url: `/api/resumes/`,
method: "GET",
params,
});
}
// 获取简历详情
export async function getResumesDetail(id) {
return request({
url: `/api/resumes/${id}`,
method: "GET",
});
}