个人资料和岗位列表联调,简历优化部分页面
This commit is contained in:
@@ -40,6 +40,15 @@ export function smsLogin(mobileNumber: string, code: string, inviteCode?: string
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查登录状态
|
||||
* GET /public/checkLogin
|
||||
* 有 Cookie 且认证通过返回 data: true,否则返回 data: false
|
||||
*/
|
||||
export function checkLogin() {
|
||||
return request.get<any, ApiResult<boolean>>('/public/checkLogin')
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
* POST /public/logout
|
||||
|
||||
+175
-2
@@ -6,7 +6,7 @@ import type { ApiResult } from '@/api/auth'
|
||||
/** 匹配度详情 */
|
||||
export interface MatchDetail {
|
||||
/** 行业匹配分 */
|
||||
industryScore: number
|
||||
educationScore: number
|
||||
/** 技能匹配分 */
|
||||
skillScore: number
|
||||
/** 经验匹配分 */
|
||||
@@ -79,6 +79,38 @@ export interface JobListParams {
|
||||
jobIds?: number[]
|
||||
/** 岗位状态过滤(0=有效 1=已下架 2=已过期,可多选,null或空=查所有) */
|
||||
statusFilter?: number[]
|
||||
/** 搜索关键词 */
|
||||
keyword?: string
|
||||
}
|
||||
|
||||
// ==================== 求职意向 ====================
|
||||
|
||||
/** 求职意向出参/入参 */
|
||||
export interface JobIntention {
|
||||
/** 期望岗位分类 ID 列表 */
|
||||
categoryIds?: number[]
|
||||
/** 期望地区编码列表 */
|
||||
regionCodes?: string[]
|
||||
/** 期望行业 ID 列表 */
|
||||
industryIds?: number[]
|
||||
/** 就业类型:0=全职,1=实习 */
|
||||
employmentType?: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询求职意向
|
||||
* GET /job-intention
|
||||
*/
|
||||
export function fetchJobIntention() {
|
||||
return request.get<any, ApiResult<JobIntention>>('/job-intention')
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存求职意向
|
||||
* POST /job-intention
|
||||
*/
|
||||
export function saveJobIntention(data: JobIntention) {
|
||||
return request.post<any, ApiResult<any>>('/job-intention', data)
|
||||
}
|
||||
|
||||
// ==================== 接口方法 ====================
|
||||
@@ -96,12 +128,128 @@ export function fetchJobList(params: JobListParams = {}) {
|
||||
})
|
||||
}
|
||||
|
||||
// ==================== 收藏列表 ====================
|
||||
|
||||
/** 收藏列表请求参数 */
|
||||
export interface FavoriteListParams {
|
||||
/** 当前页码,从1开始,默认1 */
|
||||
pageNum?: number
|
||||
/** 每页条数,默认10 */
|
||||
pageSize?: number
|
||||
/** 是否只查询有效收藏(true=只查有效岗位,false=只查失效岗位,null=查所有) */
|
||||
valid?: boolean | null
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收藏列表
|
||||
* POST /job/favorite/list
|
||||
*/
|
||||
export function fetchFavoriteList(params: FavoriteListParams = {}) {
|
||||
return request.post<any, ApiResult<JobPageData>>('/job/favorite/list', {
|
||||
pageNum: params.pageNum ?? 1,
|
||||
pageSize: params.pageSize ?? 10,
|
||||
...params,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 收藏/取消收藏岗位
|
||||
* POST /job/favorite?jobId=xxx
|
||||
* @param jobId 岗位 ID
|
||||
*/
|
||||
export function toggleJobFavorite(jobId: string) {
|
||||
return request.post<any, ApiResult<any>>('/job/favorite', null, {
|
||||
params: { jobId },
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消收藏岗位
|
||||
* DELETE /job/favorite?jobId=xxx
|
||||
* @param jobId 岗位 ID
|
||||
*/
|
||||
export function removeJobFavorite(jobId: string) {
|
||||
return request.delete<any, ApiResult<any>>('/job/favorite', {
|
||||
params: { jobId },
|
||||
})
|
||||
}
|
||||
|
||||
// ==================== 收藏统计 ====================
|
||||
|
||||
/** 收藏统计结果 */
|
||||
export interface FavoriteCountData {
|
||||
/** 收藏总数 */
|
||||
totalCount: number
|
||||
/** 有效收藏数(岗位status=0) */
|
||||
validCount: number
|
||||
/** 失效收藏数(岗位status!=0或已删除) */
|
||||
invalidCount: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收藏统计
|
||||
* GET /job/favorite/count
|
||||
*/
|
||||
export function fetchFavoriteCount() {
|
||||
return request.get<any, ApiResult<FavoriteCountData>>('/job/favorite/count')
|
||||
}
|
||||
|
||||
// ==================== 投递列表 ====================
|
||||
|
||||
/** 投递列表请求参数 */
|
||||
export interface ApplyListParams {
|
||||
/** 当前页码,从1开始,默认1 */
|
||||
pageNum?: number
|
||||
/** 每页条数,默认10 */
|
||||
pageSize?: number
|
||||
/** 投递状态筛选(0=已投递 1=面试中 2=有Offer 3=未通过 4=已结束) */
|
||||
status?: number | null
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取投递列表
|
||||
* POST /job/apply/list
|
||||
*/
|
||||
export function fetchApplyList(params: ApplyListParams = {}) {
|
||||
return request.post<any, ApiResult<JobPageData>>('/job/apply/list', {
|
||||
pageNum: params.pageNum ?? 1,
|
||||
pageSize: params.pageSize ?? 10,
|
||||
...(params.status !== null && params.status !== undefined ? { status: params.status } : {}),
|
||||
})
|
||||
}
|
||||
|
||||
// ==================== 投递统计 ====================
|
||||
|
||||
/** 投递统计结果 */
|
||||
export interface ApplyCountData {
|
||||
/** 投递总数 */
|
||||
totalCount: number
|
||||
/** 已投递数(status=0) */
|
||||
appliedCount: number
|
||||
/** 面试中数(status=1) */
|
||||
interviewingCount: number
|
||||
/** 有Offer数(status=2) */
|
||||
offerCount: number
|
||||
/** 未通过数(status=3) */
|
||||
rejectedCount: number
|
||||
/** 已结束数(status=4) */
|
||||
closedCount: number
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取投递统计
|
||||
* GET /job/apply/count
|
||||
*/
|
||||
export function fetchApplyCount() {
|
||||
return request.get<any, ApiResult<ApplyCountData>>('/job/apply/count')
|
||||
}
|
||||
|
||||
// ==================== 岗位详情 ====================
|
||||
|
||||
/** 匹配度详情(岗位详情用) */
|
||||
export interface JobMatchScoreDto {
|
||||
/** 行业得分(0-100) */
|
||||
industryScore: number
|
||||
educationScore: number
|
||||
/** 技能得分(0-100) */
|
||||
skillScore: number
|
||||
/** 经验得分(0-100) */
|
||||
@@ -180,6 +328,31 @@ export interface JobDetailData {
|
||||
isFavorite: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* 从推荐列表中移除岗位
|
||||
* TODO: 接口待后端提供,当前仅做前端列表移除
|
||||
* POST /job/remove?jobId=xxx
|
||||
* @param jobId 岗位 ID
|
||||
*/
|
||||
export function removeJobFromList(jobId: string) {
|
||||
// TODO: 接口待对接,暂时返回模拟成功结果
|
||||
return Promise.resolve({ code: '0', msg: '', data: null, timestamp: '', uuid: '' } as ApiResult<any>)
|
||||
// 对接时替换为:
|
||||
// return request.post<any, ApiResult<any>>('/job/remove', null, { params: { jobId } })
|
||||
}
|
||||
|
||||
/**
|
||||
* 不感兴趣
|
||||
* POST /job/dislike?jobId=xxx
|
||||
* @param jobId 岗位 ID
|
||||
* @param reason 不感兴趣原因 0-5
|
||||
*/
|
||||
export function dislikeJob(jobId: string, reason: number) {
|
||||
return request.post<any, ApiResult<any>>('/job/dislike', { reason }, {
|
||||
params: { jobId },
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取岗位详情
|
||||
* GET /job/detail?jobId=xxx
|
||||
|
||||
Reference in New Issue
Block a user