Skip to content

我的模块接口

接口总览

名称方法路径
我的页面GET/api/app/my/page
我的课程列表GET/api/app/my/course
我的培训项目列表GET/api/app/my/project_plan
我的开班列表GET/api/app/my/offline_class
我的活动列表GET/api/app/my/offline_activity
学习报告GET/api/app/offline_class/{offlineClassId}/study_report
导航栏配置GET/api/app/navigation

导航栏配置(GET /api/app/navigation

返回

json
{
  "isShowAiKnowledgeAssistant": true,
  "logo": "https://cdn.example.com/logo.png"
}

字段说明

字段类型说明
isShowAiKnowledgeAssistantboolean是否显示AI知识助手
logostring站点Logo

我的页面(GET /api/app/my/page

返回

json
{
  "basicInfo": {
    "avatar": "https://cdn.example.com/avatar/2.png",
    "truename": "张三",
    "orgName": "市场部",
    "postName": "产品经理"
  },
  "onlineLearningHours": 120.5,
  "offlineLearningHours": 80.0,
  "isCertificateEnabled": true,
  "isRewardPointEnabled": true,
  "isCreditEnabled": true,
  "isMentorGuidedEnabled": false,
  "isOfflineClassEnabled": true,
  "isExamEnabled": true,
  "isPostMapEnabled": false,
  "isKnowledgeBaseEnabled": true,
  "isQAEnabled": true,
  "certificateCount": 3,
  "rewardPointCount": 1200,
  "mentorGuidedCount": 0,
  "reviewPendingCount": 2,
  "notificationCount": 5,
  "messageCount": 1
}

字段说明

字段类型说明
basicInfoobject基本信息
onlineLearningHoursnumber线上学习总小时数
offlineLearningHoursnumber线下学习总小时数
isCertificateEnabledboolean证书插件启用
isRewardPointEnabledboolean积分插件启用
isCreditEnabledboolean学分插件启用
isMentorGuidedEnabledboolean带教插件启用
isOfflineClassEnabledboolean线下开班启用
isExamEnabledboolean专项考试启用
isPostMapEnabledboolean岗位地图启用
isKnowledgeBaseEnabledboolean知识库启用
isQAEnabledboolean问答启用
certificateCountnumber证书数量
rewardPointCountnumber积分数量
mentorGuidedCountnumber带教数量
reviewPendingCountnumber待批阅数量
notificationCountnumber通知数量
messageCountnumber私信数量

basicInfo 字段:

字段类型说明
avatarstring头像URL
truenamestring真实姓名
orgNamestring部门名称
postNamestring岗位名称

我的课程列表(GET /api/app/my/course

请求参数

参数类型必填说明
statusstring状态筛选:all/in_progress/finished
pagenumber页码(从 0 开始)
sizenumber每页数量

返回

json
{
  "content": [
    {
      "id": 82001,
      "courseId": 2001,
      "title": "课程A",
      "cover": "https://cdn.example.com/course/cover/2001.png",
      "joinedTime": 1700000000,
      "finishedTime": 0,
      "completionStatus": "in_progress",
      "compulsoryTaskNum": 6,
      "compulsoryFinishedTaskNum": 3
    }
  ],
  "totalElements": 1,
  "totalPages": 1,
  "size": 10,
  "number": 0
}

列表项字段

字段类型说明
idnumber成员ID
courseIdnumber课程ID
titlestring课程名称
coverstring课程封面
joinedTimenumber加入时间
finishedTimenumber完成时间
completionStatusstring课程状态
compulsoryTaskNumnumber必修任务数
compulsoryFinishedTaskNumnumber已完成必修任务数

我的培训项目列表(GET /api/app/my/project_plan

请求参数

参数类型必填说明
statusstring状态筛选:doing/unFinished/finished(未传为全部)
pagenumber页码(从 0 开始)
sizenumber每页数量

返回

json
{
  "content": [
    {
      "id": 91001,
      "projectPlanId": 4001,
      "name": "培训项目A",
      "cover": "https://cdn.example.com/project/cover/4001.png",
      "joinedTime": 1700000000,
      "passingStatus": "passed",
      "compulsoryFinishedTaskNum": 5,
      "compulsoryTaskNum": 6,
      "isArchived": false
    }
  ],
  "totalElements": 1,
  "totalPages": 1,
  "size": 10,
  "number": 0
}

列表项字段

字段类型说明
idnumber成员ID
projectPlanIdnumber项目ID
namestring项目名称
coverstring项目封面
joinedTimenumber加入时间
passingStatusstring通过状态
compulsoryFinishedTaskNumnumber必修任务完成数
compulsoryTaskNumnumber必修任务数
isArchivedboolean是否归档

我的开班列表(GET /api/app/my/offline_class

请求参数

参数类型必填说明
timeStatusstring时间状态:all/not_started/in_progress/ended
pagenumber页码(从 0 开始)
sizenumber每页数量

返回

json
{
  "content": [
    {
      "id": 93001,
      "offlineClassId": 3001,
      "title": "线下开班A",
      "cover": "https://cdn.example.com/course/cover/3001.png",
      "joinedTime": 1700000000,
      "timeStatus": "in_progress"
    }
  ],
  "totalElements": 1,
  "totalPages": 1,
  "size": 10,
  "number": 0
}

列表项字段

字段类型说明
idnumber成员ID
offlineClassIdnumber开班ID
titlestring开班名称
coverstring课程封面
joinedTimenumber加入时间
timeStatusstring时间状态

我的活动列表(GET /api/app/my/offline_activity

请求参数

参数类型必填说明
statusstring活动状态:not_started(未开始)/in_progress(进行中)/ended(已结束),不传为全部
pagenumber页码(从 0 开始)
sizenumber每页数量

返回

json
{
  "content": [
    {
      "id": 94001,
      "offlineActivityId": 4001,
      "title": "线下活动A",
      "cover": "https://cdn.example.com/activity/cover/4001.png",
      "status": "in_progress",
      "attendedStatus": "attended",
      "passedStatus": "passed",
      "startTime": 1700000000,
      "address": "北京市朝阳区xxx"
    }
  ],
  "totalElements": 1,
  "totalPages": 1,
  "size": 10,
  "number": 0
}

列表项字段

字段类型说明
idnumber成员ID
offlineActivityIdnumber活动ID
titlestring活动标题
coverstring活动封面
statusstring活动状态:not_started(未开始)/in_progress(进行中)/ended(已结束)
attendedStatusstring活动签到状态:none(未签到)/attended(已签到)/unattended(缺勤)
passedStatusstring通过结果:none(无)/passed(通过)/unpassed(未通过)
startTimenumber活动开始时间(时间戳)
addressstring活动地点

说明

  • 列表按活动开始时间降序排序
  • 活动状态根据当前时间与活动的开始时间、结束时间自动计算:
    • not_started:当前时间 < 活动开始时间
    • in_progress:活动开始时间 ≤ 当前时间 < 活动结束时间
    • ended:当前时间 ≥ 活动结束时间

学习报告(GET /api/app/offline_class/{offlineClassId}/study_report

返回

json
{
  "userHeader": {
    "userId": 2,
    "truename": "张三",
    "nickname": "zhangsan",
    "avatarUrl": "https://cdn.example.com/avatar/2.png",
    "orgName": "市场部",
    "postName": "产品经理",
    "credit": 12,
    "certificateNum": 1,
    "offlineClassCredit": 20,
    "offlineClassCertificateNum": 2,
    "isCreditEnabled": true,
    "isCertificateEnabled": true
  },
  "title": "线下开班标题",
  "items": [
    {
      "id": 5001,
      "targetType": "offline_course",
      "title": "课程A",
      "seq": 1,
      "startTime": 1700000000,
      "endTime": 1700007200,
      "time": "2h",
      "attendStatus": "attended",
      "offlineCoursePassedHomeworkRate": "50.00%",
      "homeworkSubmittedNum": 1,
      "homeworkFinishedNum": 1,
      "homeworkNum": 2,
      "signAttendedNum": 2,
      "signNum": 2
    },
    {
      "id": 3001,
      "targetType": "offline_exam",
      "title": "线下考试A",
      "seq": 2,
      "startTime": 1700010000,
      "endTime": 1700013600,
      "totalScore": 100.0,
      "userScore": 86.0,
      "passScore": 60.0,
      "passed": true,
      "status": "passed"
    },
    {
      "id": 7001,
      "targetType": "exam",
      "title": "线上考试B",
      "seq": 3,
      "startTime": 1700020000,
      "endTime": 1700021800,
      "userScore": null,
      "paperScore": 100.0,
      "status": "absent",
      "results": [
        {
          "id": 90001,
          "startTime": 1700020000,
          "endTime": 1700021800,
          "score": 80.0,
          "status": "finished"
        }
      ]
    }
  ]
}

字段说明

顶层字段:

字段类型说明
userHeaderobject用户头部信息
titlestring开班标题
itemsarray学习记录条目

userHeader 字段:

字段类型说明
userIdnumber用户ID
truenamestring真实姓名
nicknamestring昵称
avatarUrlstring头像地址
orgNamestring组织名称
postNamestring岗位名称
creditnumber已获学分
certificateNumnumber已获证书数量
offlineClassCreditnumber开班要求学分
offlineClassCertificateNumnumber开班要求证书数量
isCreditEnabledboolean学分启用
isCertificateEnabledboolean证书启用

条目通用字段:

字段类型说明
idnumber条目ID
targetTypestring目标类型:offline_course/offline_exam/exam
titlestring标题
startTimenumber开始时间
endTimenumber结束时间

线下课程条目(targetType=offline_course):

字段类型说明
timestring课程时长
attendStatusstring出勤状态:attended/partial/absenteeism/leave/none
offlineCoursePassedHomeworkRatestring作业通过率
homeworkNumnumber作业任务总数
homeworkSubmittedNumnumber已提交作业数
homeworkFinishedNumnumber已完成作业数
signNumnumber考勤任务总数
signAttendedNumnumber已签到次数

线下考试条目(targetType=offline_exam):

字段类型说明
totalScorenumber总分
userScorenumber/null学员得分
passScorenumber及格分
passedboolean/null是否通过
statusstring考试状态:passed/unpassed/absent

线上考试条目(targetType=exam):

字段类型说明
userScorenumber/null学员得分
paperScorenumber试卷总分
statusstring成员状态:notStart/doing/reviewing/finished/absent
hideResultboolean是否隐藏成绩
resultsarray考试结果详情列表

线上考试结果详情(items[].results[]):

字段类型说明
idnumber结果ID
startTimenumber开始时间
endTimenumber结束时间
scorenumber本次考试成绩
statusstring结果状态

异常

错误码HTTP状态码错误信息说明
OFFLINE_CLASS_NOT_FOUND404线下开班不存在offlineClassId 无效或已删除
OFFLINE_CLASS_MEMBER_NOT_FOUND403学员未加入线下开班当前登录用户不是该开班成员