就业信息统计网(接口文档)

767 阅读16分钟

基本配置

基地址:

1.api认证统一使用token认证,数据返回统一使用json. 服务端开启cors,解决跨域问题。 2.请求方法

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • DELETE(DELETE):从服务器删除资源。
  1. 接口返回数据失败,统一返回
 {
    "data": {
     
    },
    "meta": {
        "msg": "错误",
        "status": 0
    }
}

接口明细

1.1登录接口

  • 请求路径:login
  • 请求方法:post
  • 请求参数
参数名参数说明备注
username用户名不能为空,用户名为学号
password用户密码不能为空,默认为学号
  • 响应数据
{
    "data": {
        "id":1,
        "username": "201719044120",
        "first_name": "张三",
        "roles": "student",//只能是student或者manager
        "token": "cdscij"
    },
    "meta": {
        "msg": "登录成功",
        "status": 200
    }
}

1.2个人信息(学生个人信息,管理员端不需要)

1.2.1 上传个人信息

  • 请求路径:user/complete_userInfo
  • 请求方法:post
  • 学生请求参数 (姓名和班级、专业为管理员导入,学生不能修改)
参数名参数说明备注
username用户名
age年龄
email邮箱
avatar头像url地址
phone_num手机号
sex性别只能为男或者女
study_year"2017-09-01,2021-06-01"字符串类型,便于后端存储,返回前端时为数组类型
is_work是否就业0,1,2,3,4,-1找工作中,0实习,1就业,2考研成功,3继续学习,4其他
study_status学习情况学生对个人学习状态和情况的总结(非必填)
  • 响应数据
{
    "data": {
        "username":"201719044120",
        "first_name": "张三",
        "created_time":"2020年3月28日"
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}


1.2.2获取个人信息

  • 请求路径:user/complete_userInfo
  • 请求方法:get
  • 请求参数
参数名参数说明备注
username用户名
  • 学生:响应数据
{
    "data": {
        "username":"201719044120",
        "first_name": "张三",
        "age": 22,
        "email":"2036241878@qq.com",
        "avatar":"http://123456",
        "phone_num":"1328371",
        "stu_class":"网络171",
        "sex":"男",
        "magor":"软件工程",
        "study_year":["2017-09-01","2021-06-01"],
        "is_work": 0,//-1找工作中,0实习,1就业,2考研成功,3继续学习,4其他
        "study_status":"正在学习前端",
        "created_time":"2020年3月28日"
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.2.3修改个人信息

  • 请求路径:user/complete_userInfo

  • 请求方法:put

  • 学生请求参数 | 参数名 |参数说明 |备注| | --- | --- |---| | username| 用户名 || |age |年龄 || |email | 邮箱|| |avatar | 头像|url地址| |phone_num | 手机号|| | sex| 性别 |只能为男或者女| |study_year | 在校时间|数组类型| |is_work | 是否就业|-1找工作中,0实习,1就业,2考研成功,3继续学习,4其他 | |study_status | 学习情况|学生对个人学习状态和情况的总结(非必填)|

  • 响应数据

{
    "data": {
        "username":"201719044120",
        "first_name": "张三",
        "updated_time":"2020-3-28",
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.3学生就业登记

1.3.1 学生上传就业信息

  • 请求路径:user/employ_register
  • 请求方法:post
  • 请求参数
参数名参数说明备注
username用户名
company_id公司名
adress"北京市/市辖区/东城区/"字符串类型
code_adress["100010","120000","10000"]数组类型,地址的代码
company_phone公司电话字符串类型
entry_time入职时间日期均为2020-3-28这种类型的字符串
pos_name职位名称
is_train是否培训0没有,1培训
agreement_id三方协议url地址
salary薪水可以为空
  • 响应数据
{
    "data": {
        "username":"201719044120",
        "first_name":"张志",
        "created_time":"2020-3-28"
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.3.2学生获取就业信息

  • 请求路径:user/employ_register

  • 请求方法:get

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| | username|用户名 ||

  • 响应数据(没有值相应数据则返回空,示例is_train:"" )

{
    "data": {
        "username":"201719044120",
        "company_id":"海康威视",
        "adress":"北京市/市辖区,/东城区/",//地址中文名
        "code_adress":["100010","120000","10000"],//地址代码
        "company_phone":"1232831",
         "entry_time":"2020-3-28",
         "pos_name":"web前端",
         "is_train":0,//是否参加过培训,0没有,1培训过
         "is_work":0,//当前的就业状态
         "agreement_id":"http://123456",
         "salary":13000,
         "first_name":"张志",
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.3.3学生修改就业登记信息

  • 请求路径:user/employ_register

  • 请求方法:put

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| | username| 用户名 || | company_id| 公司名 || | adress| "北京市/市辖区/东城区/" |字符串类型| |code_adress|["100010","120000","10000"]|数组类型,地址的代码| | entry_time |入职时间 || |company_phone|公司电话|字符串类型| | pos_name |职位名称 || |is_train|是否培训|0没有,1培训| | agreement_id | 三方协议|存储url地址| | salary |薪水 ||

  • 响应数据

{
    "data": {
        "username":"201719044120",
        "first_name":"张志",
        "updated_time":"2020年3月28日"
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.3.4修改登陆密码

  • 请求路径:user/modify_password
  • 请求方法:post
  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| | username| 用户名 || | password| 密码 ||
  • 响应数据
{
    "data": {
        "username":"201719044120",
        "updated_time":"2020年3月28日"
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.4管理员上传学生信息

1.4.1 通过excel导入学生信息

  • 请求地址 manager/upload_user_info
  • 请求方法 post
  • 请求参数
参数名参数说明备注
userInfo对象类型
userInfo:[
   {username:"201719044120",first_name:"张志",stu_class:"RB软工网",magor:"网络软件开发"},
   {username:"201719044121",first_name:"张志",stu_class:"RB软工网",magor:"网络软件开发"},
   {username:"201719044122",first_name:"张志",stu_class:"RB软工网",magor:"网络软件开发"},
   {username:"201719044123",first_name:"张志",stu_class:"RB软工网",magor:"网络软件开发"},
]

  • 响应数据
{
    "data": {
       
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.5信息中心

1.5.1管理员上传新闻

  • 请求路径:manager/upload_news

  • 请求方法:post,后端为每条新闻添加唯一的id

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| | news_title|新闻标题 |不能为空| | news_content|新闻内容 |不能为空| | news_picture|新闻图片 |可以为空|

  • 响应数据

{
    "data": {
        news_id:10 ,//后端要给每一条新闻生成一个唯一的id 
        news_title:"好好学习",
        news_content:"天天向上",
        news_picture:"",
        created_time;""
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}


1.5.2管理员修改新闻

  • 请求路径:manager/upload_news

  • 请求方法:put

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |news_id|新闻编号|| | news_title|新闻标题 |不能为空| | news_content|新闻内容 |不能为空| | news_picture|新闻图片 |可以为空|

  • 响应数据

{
    "data": {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        created_time:""
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}


1.5.3删除新闻

  • 请求路径:manager/upload_news

  • 请求方法:delete

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |news_id|新闻编号||

  • 响应数据

{
    "data": {
       
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.5.4获取所有新闻

  • 请求路径:manager/upload_news

  • 请求方法:get

  • 请求参数

  • 响应数据


{
    "data": {
        all_news:[ {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        created_time:""
    },
     {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        created_time:""
    },]
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.6学生获取新闻(学生多一个字段has_collect)

1.6.1学生点击收藏

  • 请求路径:user/to_collect_news

  • 请求方法:post

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |news_id|新闻编号|| |username|用户名 ||

  • 响应数据


{
    "data": {
       "collect_num":9//已经收藏的新闻数量
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.6.2学生点击取消收藏

  • 请求路径:user/to_collect_news

  • 请求方法:put

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |news_id|新闻编号|| |username|用户名 ||

  • 响应数据


{
    "data": {
       "collect_num":8//已经收藏的新闻数量
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.6.3学生获取所有新闻列表

  • 请求路径:user/all_news

  • 请求方法:get

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| | username|用户名 ||

  • 响应数据


{
    "data": {
        all_news:[ {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        has_collect: true,
        created_time:""
    },
     {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        has_collect: false,
        created_time:""
    },],
      "collect_num": 10 //收藏新闻数量
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.6.4学生获取收藏新闻列表

  • 请求路径:user/collect_news

  • 请求方法:get

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| | username|用户名 ||

  • 响应数据


{
    "data": {
        all_news:[ {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        has_collect: true,
        created_time:""
    },
     {
        news_id:10 //后端要给每一条新闻生成一个唯一的id 
        news_title:"",
        news_content:"",
        news_picture:"",
        has_collect: true,
        created_time:""
    },]
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.7管理员获取学生提交的就业信息

1.7.1管理员获取未查验的学生就业信息(只返回已经提交就业信息,且全部为未查验的)

  • 请求路径:manager/auditInfo

  • 请求方法:get

  • 请求参数 (参数可以为空) | 参数名 |参数说明 |备注| | --- | --- | ---| |key|关键字|支持模糊查询,可以输入姓名或者学号,可以为空| |stu_class|班级|为空则返回所有未审核的就业信息,也可以选择班级,支持多选|

  • 响应数据

{
    "data": {
     "allAuditInfo":[{
        "auditInfo": 0, //审核状态0为未审核,1为审核通过
        "username":"201719044120",//用户名
        "company_id":"海康威视",//公司名称
        "adress":"北京市/市辖区/东城区/",//公司地址
        "company_phone":"1232831",//公司手机号
         "entry_time":"2020-3-28",//入职时间
         "pos_name":"web前端",//职位
         "is_train":0,//是否培训
         "is_work":0,//就业状态,当前为实习
         "agreement_id":"http://123456",//就业合同pdf,url地址
         "salary":13000,//薪资
         "first_name":"张志",
         "age": 22,
        "email":"2036241878@qq.com",
        "phone_num":"1328371",
        "stu_class":"网络171",
        "sex":"男",
        "magor":"软件工程",
        "study_status":"正在学习前端",
      
    },{...},{...}...
    ]},
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.7.2管理员提交已查验通过的学生就业信息

  • 请求路径:manager/submit_auditInfo

  • 请求方法:post

  • 请求参数 (参数为数组) | 参数名 |参数说明 |备注| | --- | --- | ---| |allUserName|已经查验的学生学号(username)||

  • 请求参数示例 allUserName: ["201719044120","201719044121"...]

  • 响应数据


{
    "data": {
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.7.3管理员提交已查验未通过的学生就业信息

  • 请求路径:manager/submit_unauditInfo

  • 请求方法:post

  • 请求参数 (参数为数组) | 参数名 |参数说明 |备注| | --- | --- | ---| |allUserName|已经查验但是没有通过的学生学号(username)||

  • 请求参数示例 allUserName: ["201719044120","201719044121"...]

  • 响应数据


{
    "data": {
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.7.4管理员获取所有学生的就业信息

  • 请求路径:manager/all_employInfo

  • 请求方法:post

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |stu_class|班级|数组类型| |status|有五个可选项|字符串类型|

  • 请求参数status值: all表示获取所有学生信息(包含未提交就业信息的学生),empInfo表示获取所有已经提交就业信息的学生信息,hasAudit表示获取已经提交就业信息且通过审核的学生信息,hasErrorAudit表示获取已经提交就业信息但未通过审核的学生信息,noAudit表示获取已经提交就业信息但未通过审核的学生信息

  • 响应数据

  • 响应数据

{
    "data": {
     "allAuditInfo":[{
        "auditInfo": 0, //审核状态0为未审核,1为审核通过,-1审核不通过,为空尚未提交就业信息
        "username":"201719044120",//用户名
        "company_id":"海康威视",//公司名称
        "adress":"北京市/市辖区/东城区/",//公司地址
        "company_phone":"1232831",//公司手机号
         "entry_time":"2020-3-28",//入职时间
         "pos_name":"web前端",//职位
         "is_train":0,//是否培训
         "is_work":0,//就业状态,当前为实习
         "agreement_id":"http://123456",//就业合同pdf,url地址
         "salary":13000,//薪资
         "first_name":"张志",
         "age": 22,
        "email":"2036241878@qq.com",
        "phone_num":"1328371",
        "stu_class":"网络171",
        "sex":"男",
        "magor":"软件工程",
        "study_status":"正在学习前端",
      
    },{...},{...}...
    ]},
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.7.5管理员根据条件筛选导出学生就业信息

  • 请求路径:manager/export_auditInfo

  • 请求方法:post

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |stu_class| 参数为数组,支持多个班级查询| 为空则不查| |status|有五个可选项|字符串类型|

  • 请求参数示例 stu_class: ["RB软工网171","RB软工网172"]
    status值: all表示获取所有学生信息(包含未提交就业信息的学生),empInfo表示获取所有已经提交就业信息的学生信息,hasAudit表示获取已经提交就业信息且通过审核的学生信息,hasErrorAudit表示获取已经提交就业信息但未通过审核的学生信息,noAudit表示获取已经提交就业信息但未通过审核的学生信息

  • 响应数据


{
    "data": {
       "json_fields":{
          "姓名":"first_name",
          "学号""username",
          "班级": "stu_class",
          "就业状况":"is_work",
          "是否培训":"is_train",
          "个人手机号":"phone_num",
          "公司名称":"company_id",
          "公司地址":"adress",
          "公司电话": "company_phone",
          "就业岗位":"pos_name"
       },
       "json_data":[
         {
          "first_name":"张志""username":"201719044120",
          "stu_class":"RB软工网171",
          "is_work" : "实习中", //此处根据数据库存储的数字返回中文,不能返回数字
          "is_train" : "否,"//此处根据数据库存储的数字返回中文,不能返回数字
          "phone_num":"13283719964",
          "company_id":"道远集团",
          "adress":"北京",
          "company_phone":"公司电话",
          "pos_name":"就业岗位"
         },
         {"first_name":"张志""username":"'201719044120'",//字符串一定要再加一个小的引号
          "stu_class":"RB软工网171",
          "is_work" : "实习中", //此处根据数据库存储的数字返回中文,不能返回数字
          "is_train" : "否,"//此处根据数据库存储的数字返回中文,不能返回数字
          "phone_num":"13283719964",
          "company_id":"道远集团",
          "adress":"北京",
          "company_phone":"1321123",
          "pos_name":"前端开发"}...
       ]
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.8学生就业状态统计信息

1.8.1获取所有学生的就业状态数据 ,如已就业、实习中、考研成功...

  • 请求路径:manager/workStatus

  • 请求方法:post

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |stu_class| 参数为数组,支持多个班级查询| 为空或者不传则获取所有学生的就业状态|

  • 参数示例 stu_class: ["RB软工网171","RB软工网172"]

  • 响应数据

{
    "data": {
       "emp_num": [
                {"value": 1048, "name": '找工作中'},//value代表人数,如找工作中的人数为1084
                {"value": 735, "name": '实习中'},
                {"value": 580, "name": '已就业'},
                {"value": 484, "name": '考研成功'},
                {"value": 300, "name": '继续学习'},
                {"value": 300, "name": '其他'}
            ],
        "detail_num": 200//参与信息统计的人数,为emp_num里value的总和,这里随便写了一个值
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}


1.9培训和未培训的数据分析

  • 请求路径:manager/is_train

  • 请求方法:post

  • 请求参数 | 参数名 |参数说明 |备注| | --- | --- | ---| |stu_class| 参数为数组,支持多个班级查询| 为空或者不传则获取所有学生的就业状态|

  • 参数示例 stu_class: ["RB软工网171","RB软工网172"]

  • 响应数据

{
    "data": {
       "train_status": {
                 "平均薪资": {
                           "has_train":10000,//培训后的平均薪资
                           "no_train":5000,//未参加培训的平均薪资
                      },
                  "人数": {
                           "has_train":100,//就业且参加过培训的人数
                           "no_train":600,//就业且未参加过培训的人数
                      },
                   "前端开发": {
                           "has_train":100,//培训后从事前端的人
                           "no_train":600,//未培训从事前端的人
                      },
                    "后端开发": {
                           "has_train":100,//
                           "no_train":600,//
                      },
                     "UI设计师": {
                           "has_train":100,//
                           "no_train":600,//
                      },
                     "产品经理": {
                           "has_train":100,//
                           "no_train":600,//
                      },
                     "软件测试工程师": {
                           "has_train":100,//
                           "no_train":600,//
                      },
                     "其他": {
                           "has_train":100,//
                           "no_train":600,//
                      },
                     
            },
         "detail_num": 200//参与信息统计的人数,这里随便写了一个值
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.9学生获取招聘信息

1.9.1学生获取招聘信息名称列表

  • 请求路径:user/emp_name_list

  • 请求方法:get

  • 请求参数: 无

  • 响应数据

{
    "data": {
       "empList": [
                    {
                      id:1,
                      name:"北京市海洋公司招聘信息-前后端开发",
                      empTime:"2021-4-25"
                    },{
                       id:2,
                       name:"字节跳动招聘会",
                       empTime:"2021-5-3"
                      }
            ],
        
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.9.2学生根据招聘信息id和username获取招聘信息详情

  • 请求路径:user/detail_emp_list
  • 请求方法:get
  • 请求参数:
    | 参数名 |参数说明 |备注| | --- | --- | ---| |id| 招聘信息的id号| 必须传,不传返回空数据| |username| 学生学号| 必须传|
  • 响应数据 必须有一个字段 has_collect(是否收藏)
{
    "data": {
       id:1,//新闻的id号,唯一标注该新闻
       has_collect:0,//尚未收藏,为1的时候为已经收藏
       collect_num:10,//收藏招聘信息数量
       title:"字节跳动公司招聘",//招聘信息的标题
       empTime:"2021-4-25",//招聘日期
       content:"招聘开发工程师..."//招聘介绍
       empPosition:[{
           empName:"前端开发工程师",
           empRequire:["熟练掌握vue","熟练掌握js","熟练掌握..."]
       },{
           empName:"前端开发工程师",
           empRequire:["熟练掌握vue","熟练掌握js","熟练掌握..."]
       } ],
       empContact:{
       empNetWork:"www.bytedance.com",//官网
       empAdress:"北京市海淀区",
       empPhone:"13283719964"//电话
       }
       
       
         },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.9.3学生点击收藏招聘信息

  • 请求路径:user/collect_employment
  • 请求方法:post
  • 请求参数:
    | 参数名 |参数说明 |备注| | --- | --- | ---| |job_id| 招聘信息的id号| | |username| 学号| |
  • 响应数据 必须有一个字段 collect_num(收藏数量)
{
    "data": {
           collect_num:10 //收藏招聘信息数量
         },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.9.4学生点击取消收藏招聘信息

  • 请求路径:user/collect_employment
  • 请求方法:put
  • 请求参数:
    | 参数名 |参数说明 |备注| | --- | --- | ---| |job_id| 招聘信息的id号|| |username| 学号| |
  • 响应数据 必须有一个字段 collect_num(收藏数量)
{
    "data": {
           collect_num:10 //收藏招聘信息数量
         },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

1.9.5学生获取收藏招聘信息的列表

  • 请求路径:user/collect_employment

  • 请求方法:get

  • 请求参数: | 参数名 |参数说明 |备注| | --- | --- | ---| |username| 学号| |

  • 响应数据

{
    "data": {
       "empList": [
                    {
                      id:1,
                      name:"北京市海洋公司招聘信息-前后端开发",
                      empTime:"2021-4-25"
                    },{
                       id:2,
                       name:"字节跳动招聘会",
                       empTime:"2021-5-3"
                      }
            ],
        
      
    },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

2.0就业报告

2.0.1发布就业报告

  • 请求路径:manager/release_report
  • 请求方法:post
  • 请求参数:
    | 参数名 |参数说明 |备注| | --- | --- | ---| |reportUrl|就业报告的url地址|如www.baidupdf.com |
  • 响应数据
{
    "data": {
       
       
         },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

2.0.2获取就业报告

  • 请求路径:manager/release_report

  • 请求方法:get

  • 请求参数:

  • 响应数据

{
    "data": {
           reportUrl:"www.baidupdf.com"//就业报告的url地址
       
         },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

2.0.1删除就业报告

  • 请求路径:manager/release_report

  • 请求方法:delete

  • 请求参数:

  • 响应数据

{
    "data": {
       
       
         },
    "meta": {
        "msg": "成功",
        "status": 200
    }
}

3.0管理员-招聘信息

3.0.1发布招聘信息