login - BISTU-CETC/order_system GitHub Wiki

登录接口

登录与注册

接口说明

传入微信login()接口获取的临时code,服务器返回一个有时限的登录token,需要客户端保存好,每次访问接口时都要将token通过http请求头发送到后端,作为登录的凭证。token中包含用户id,学号和工号(如果是学生就携带学号,教师就携带工号)。

提交地址

get /auth/login

请求参数

变量定义:

字段名 类型 必输 默认值 说明
code string 是 微信的临时登录凭证

请求参数示例:

成功返回

{
  "code": 200,
  "message": "成功",
  "data": {
    "id": 1,
    "createTime": "2021-08-16 22:11:33",
    "updateTime": "2021-10-10 12:19:40",
    "deleted": 0,
    "openId": null,
    "unionId": null,
    "sessionKey": null,
    "name": "文超",
    "infoComplete": 1,
    "gender": null,
    "avatarUrl": null,
    "nickName": null,
    "collegeId": 1,
    "majorId": 1,
    "clazzName": "软工1902",
    "grade": 3,
    "studentId": null,
    "secondaryDeptId": 2,
    "jobId": null,
    "isLock": 0,
    "token": "eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAKtWykxRsjLUUUqtKADSZsYmlubGhkamtQAnwjZ3GQAAAA.rGc7ariLK9w8X_UKsLqtqfu3-RVghsu9nDpgBdkxTTnslyuGtMc-3LlKLAEgmNv6dZ3cTyUFrkrskX3WNLxVnw",
    "collegeName": null,
    "majorName": null,
    "secondaryDeptName": null,
    "roleId": null,
    "roleCategory": null,
    "major": {
      "id": 1,
      "name": "计算机学院",
      "collegeId": null
    },
    "secondaryDept": {
      "id": 2,
      "name": "实验中心",
      "collegeId": null
    },
    "college": {
      "id": 1,
      "name": "计算机学院"
    },
    "roleList": [
      {
        "id": 6,
        "createTime": null,
        "updateTime": null,
        "deleted": null,
        "name": "UNDERGRADUATE",
        "text": "本科生"
      },
      {
        "id": 1,
        "createTime": null,
        "updateTime": null,
        "deleted": null,
        "name": "ADMIN",
        "text": "管理员"
      }
    ],
    "studentJobId": 2019012617
  }
}

用户信息完善接口

接口说明

用户信息未完善的情况不能获取登录凭证,用此接口完善用户信息

提交地址

put /auth/userInfoCompletion

请求参数

变量定义:

字段名 类型 必输 默认值 说明
id int 是 用户id
name string 是 用户姓名
roleId int 是 用户角色id
studentJobId string 是 工号/学号
collegeId int 是 学院id
majorId int 是 专业id
clazzName string 是 班级名称
grade int 是 学生年级
secondaryDeptId string 是 二级部门id

请求参数示例:

//完善学生类信息
{
    "name":"文超"
    ,"id":1
    ,"roleId":6
    ,"collegeId":2
    ,"studentJobId":"2019012617"
   
    ,"majorId":1
    ,"clazzName":"软工1902"
    ,"grade":1
}

特别说明:

  • 公共必填参数:id、name、roleId、collegeId、studentJobId
    • 如果一个用户有多重角色:一个用户不可能既是老师又是学生,用户角色重叠的情况只可能有以下几种:
      • 一个用户同时是教师(还可以是领导)又是管理员(或业务员)
      • 一个用户同时是本科生(或研究生)又是管理员(或业务员)
    • 前端应该选择用户的非管理员角色的id上传到后端接口,比如,如果用户A的角色是上述情况2,那么前端可以选择上传的角色id只能是:
      • 教师角色对应的id
  • 如果roleId属于student类别,以下参数必填:majorId、clazzName、grade
  • 如果roleId属于teacher类别,以下参数必填:secondaryDeptId
  • 该接口对每个用户只能调用一次。

成功返回

{
    "code": 106,
    "message": "用户信息无需完善",
    "data": {
        "id": 19,
        "createTime": "2021-10-09 22:23:00",
        "updateTime": "2021-10-16 17:40:58",
        "deleted": 0,
        "openId": null,
        "unionId": null,
        "sessionKey": null,
        "name": "吴铭",
        "infoComplete": 1,
        "gender": null,
        "avatarUrl": null,
        "nickName": null,
        "collegeId": 1,
        "majorId": 1,
        "clazzName": "幼儿园",
        "grade": 3,
        "secondaryDeptId": 1,
        "isLock": 0,
        "token": null,
        "collegeName": null,
        "majorName": null,
        "secondaryDeptName": null,
        "roleId": null,
        "roleCategory": null,
        "major": {
            "id": 1,
            "name": "计算机学院",
            "collegeId": null
        },
        "secondaryDept": {
            "id": 1,
            "name": "计算机系",
            "collegeId": null
        },
        "college": {
            "id": 1,
            "name": "计算机学院"
        },
        "roleList": [
            {
                "id": 6,
                "createTime": null,
                "updateTime": null,
                "deleted": null,
                "name": "UNDERGRADUATE",
                "text": "本科生"
            }
        ],
        "studentJobId": "416201717"
    }
}