Skip to content
This repository was archived by the owner on Mar 1, 2018. It is now read-only.

Latest commit

 

History

History
974 lines (958 loc) · 35.9 KB

File metadata and controls

974 lines (958 loc) · 35.9 KB

Call Sites

Web

Web 登录注册绑定

  1. home.html home.html
  2. register.html register.html
  3. wechat.html wechat.html
    • 微信扫码
      扫码后会跳转到 /signin?state=%STATE%&code=%JSCODE%

      这里的“老师、学生”单选框并没有作用

  4. bindStudent.html bindStudent.html
  5. bindTeacher.html bindTeacher.html
    • 提交.onclick
      PUT /me

Web Teacher

  1. Teacher--基本信息:
    Teacher-基本信息
  2. Teacher--基本信息修改 Teacher-基本信息修改
  3. Teacher--教师主页(课程信息) Teacher--教师主页(课程信息)
  4. Teacher--新建课程 Teacher--新建课程
  5. 课程内页--首页: Teacher--课程内页-首页
  6. 课程内页--创建班级: Teacher--课程内页-创建班级
    • window.onload
      GET /course/{courseId}
      按ID获取课程

      加载侧边栏,这里可以用 JavaScript 在 localStorage 内缓存课程信息,免去每次访问的重复请求,以下不再包含对侧边栏课程详情的请求

    • 提交.onclick
      POST /upload/classroster

      表单处理

  7. 课程内页--周三1-2节查看: Teacher--课程内页-周三1-2节查看
  8. 课程内页--周三1-2节修改: Teacher--课程内页-周三1-2节修改
  9. 课程内页--创建讨论课: Teacher--课程内页-创建讨论课
  10. 课程内页--讨论课1:
  11. 课程内页--讨论课2:
    Teacher--课程内页-讨论课2
  12. 课程内页--讨论课2修改:
    Teacher--课程内页-讨论课2修改
  13. 课程内页--新讨论课:
  14. 课程内页--创建话题:
    Teacher--课程内页-创建话题
    • 提交.onclickPOST /seminar/{seminarId}/topic
      请求数据:包含待新增信息的JSON或表单
      {
          "name": "领域模型与模块",
          "description": "Domain model与模块划分",
          "groupLimit": 5
      }
      响应数据:HTTP 201
      {"id": 2}
  15. 课程内页--新讨论课查看话题(上课前):
  16. 课程内页--新讨论课查看话题(上课后):
  17. 话题A修改:
    Teacher--课程内页-话题A修改
    • window.onload
      GET /topic/{topicId}
      请求数据:无
      响应数据:包含该话题的JSON
      {
          "id": 257,
          "name": "Domain model与模块划分",
          "description": "xxx",
          "groupLimit": 5
      }
    • 提交.onclick
      PUT /topic/{topicId}
      请求数据:包含待修改信息的JSON或表单
      {
          "name": "领域模型与模块",
          "description": "Domain model与模块划分",
          "groupLimit": 6
      }
      响应:HTTP 204
    • 重置.onclickGET topic/{topicId}
  18. 课程内页--评分: Teacher--课程内页-评分
    • window.onload
      GET /seminar/{seminarId}/group
      获取所有小组
      请求数据:无
      响应数据:包含该讨论课的所有小组列表的JSON
      [
          { "id": 257 }, { "id": 258 },
          { "id": 259 }, { "id": 260 },
          { "id": 261 }, { "id": 262 }
      ]
      对每个小组,获取小组详情
      GET /group/{groupId}
      请求数据:无
      响应数据:包含小组ID对应的小组详情的JSON
      {
          "id": 28,
          "leader": {
              "id": 8888,
              "name": "小红"
          },
          "members": [
              {
                  "id": 5324,
                  "name": "李四"
              },
              {
                  "id": 5678,
                  "name": "王五"
              }
          ],
          "report": "/report/xxxxx.pdf"
      }
  19. 预览报告并打分: Teacher--课程内页-预览报告并打分
    • window.onload
      GET /group/{groupId}
      请求数据:无
      响应数据:包含小组ID对应的小组详情的JSON
      {
          "id": 28,
          "name": "1-A-1"
          "leader": {
              "id": 8888,
              "name": "小红"
          },
          "members": [
              {
                  "id": 5324,
                  "name": "李四"
              },
              {
                  "id": 5678,
                  "name": "王五"
              }
          ],
          "report": "/report/xxxxx.pdf"
      }
      GET /seminar/{seminarId}/topic
      请求数据:无
      响应数据:包含讨论课所有话题信息的JSON
      [
          {
              "id": 257,
              "no": "A",
              "name": "Domain model与模块划分",
              "description": "XXXXXX"
          },
          {
              "id": 258,
              "no": "B",
              "name": "Domain model与模块划分",
              "description": "XXXXXX"
          },
          {
              "id": 259,
              "no": "C",
              "name": "Domain model与模块划分",
              "description": "XXXXXX"
          }
      ]
    • 不知道是什么按钮界面组没画.onclickPUT /group/{groupId}/grade
      请求数据:包含此小组报告分的JSON
          {"reportGrade": 4}
      响应:HTTP 204

Web Student

  1. 基本信息
    Student--基本信息
    • window.onload
      GET /me
             获取当前用户信息

      个人信息是否包含学院的问题目前界面组尚未回应

  2. 基本信息修改
    Student--基本信息修改
  3. 学生主页(课程信息) Student--学生主页(课程信息)
  4. 选择课程(未查询)
    Student--选择课程(未查询)
  5. 选择课程(查询后)
    Student--选择课程(查询后)
  6. 课程内页-首页 Student--课程内页-首页
    • window.onload
      GET /course/{courseId}
      请求数据:无
      响应数据:
      {
          "id": 222,
          "name": "面向对象的分析与设计",
          "discription": "这个人很懒,什么都没有留下"
      }
      GET /course/{courseId}/seminar
      请求数据:无
      响应数据:
      [
          {
              "id": 29,
              "name": "界面原型设计",
              "description": "界面原型设计",
              "groupingMethod": "fixed",
              "startTime": "2017-09-25",
              "endTime": "2017-10-09"
          },
          {
              "id": 32,
              "name": "概要设计",
              "description": "模型层与数据库设计",
              "groupingMethod": "fixed",
              "startTime": "2017-10-10",
              "endTime": "2017-10-24"
          }
      ]
  7. 讨论课(随机分组) Student--课程内页-讨论课(随机分组)
  8. 讨论课(固定分组) Student--课程内页-讨论课(固定分组)
  9. 新查看话题(固定) Student--课程内页-新查看话题(固定)
  10. 班级小组(固定分组名单) Student--课程内页-固定分组
    • window.onloadGET /class/{classId}/classgroup
      请求数据:无
      响应数据:包含该组所有学生信息的JSON
      {
          "leader": {
              "id": 2757,
              "name": "张三",
              "number": "23320152202333"
          },
          "members": [
              {
              "id": 2756,
              "name": "李四",
              "number": "23320152202443"
              },
              {
              "id": 2777,
              "name": "王五",
              "number": "23320152202433"
              }
          ]
      }
  11. 固定分组2 Student--课程内页-固定分组2
    • window.onloadGET /class/{classId}/classgroup
    • 查询.onclick
      GET /class/{classId}/student?nameBeginWith=张
      请求数据:无
      响应数据:得到学生列表
      [
          {
              "id": 233,
              "name": "张三",
              "number": 24320152202333
          },
          {
              "id": 245,
              "name": "张八",
              "number": 24320152202334
          }
      ]
    • 确定.onclick
      PUT /class/{classId}/classgroup/add
      添加班级小组成员
  12. 固定分组3 Student--课程内页-固定分组3 见 9
  13. 查看分数 Student--课程内页-查看分数

小程序

小程序 登录注册绑定

  1. LoginUI
    LoginUI
    • 点击登录按钮:POST /signin
      请求数据:
      {
        "phone":"18911114514",
        "password":"qwer2345!"
      }
      响应数据:
      {
          "id": 3486,
          "type": "student",
          "name": "张三",
          "jwt":     "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaWQiOiJPQTAwMDEiLCJpYXQiOjE0ODI2NTcyODQyMjF9.TeJpy936w610Vrrm+c3+RXouCA9k1AX0Bk8qURkYkdo="
      }
  2. TeacherBindingUI
    TeacherBindingUI
    • 绑定账号:PUT /me
      请求数据:
      {
          "number": "23320152202333",
          "name":"张三",
          "school": {
              "id": 32,
              "name": "厦门大学"
          }
      }
      响应:HTTP 204
  3. StudentBindingUI
    StudentBindingUI
    • 绑定账号:PUT /me
      请求数据:
      {
          "number": "23320152202333",
          "name":"张三",
          "school": {
              "id": 32,
              "name": "厦门大学"
          }
      }
      响应:HTTP 204
  4. RegistUI
    RegistUI
    • .NET手机号密码注册:POST /register
      请求数据:
      {
        "phone":"18811114514",
        "password":"qwer2345!"
      }
      响应数据:HTTP 200
      {
          "id": 3486,
          "type": "unbinded",
          "name": "",
          "jwt":     "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaWQiOiJPQTAwMDEiLCJpYXQiOjE0ODI2NTcyODQyMjF9.TeJpy936w610Vrrm+c3+RXouCA9k1AX0Bk8qURkYkdo="
      }

      RegistUI 应为 RegisterUI

  5. ChooseCharacter
    ChooseCharacter
    • 选择身份PUT /me
      请求数据:
      {
        "type":"student"
      }
      响应:HTTP 204

小程序 Teacher

  1. Teacher_MainUI:
    Teacher_MainUI
    • 获取:
      上:GET /me
      请求数据:无
      响应数据:包含教师账号信息的JSON,如
      {
          "id": 3486,
          "type": "teacher",
          "name": "张三",
          "number": "24321432534",
          "phone": "18159215806",
          "email": "23320152202333@stu.xmu.edu.cn",
          "gender": "male",
          "school": {
              "id": 32,
              "name": "厦门大学"
          },
          "title": "教授",
          "avatar": "/avatar/3486.png"
      }
      下:GET /course
      请求数据:无
      响应数据:包括与该教师关联的所有课程名称,如
      [{"id": 1, "name": "J2EE"},
      {"id": 2, "name": "OOAD"},
      {"id": 3, "name": "操作系统"},
      {"id": 4, "name": "数据仓库"}]
  2. CheckTeacherInfoUI:
    CheckTeacherInfoUI
    • 获取:GET /me
      请求数据:无
      响应数据:包含教师基本信息的JSON,如
      {
          "id": 3486,
          "type": "teacher",
          "name": "张三",
          "number": "24321432534",
          "phone": "18159215806",
          "email": "23320152202333@stu.xmu.edu.cn",
          "gender": "male",
          "school": {
              "id": 32,
              "name": "厦门大学"
          },
          "title": "教授",
          "avatar": "/avatar/3486.png"
      }
    • 点击“点击头像修改”:
      POST /upload/avatar
      请求数据:头像图片文件
      响应数据:
      {
          "url": "/avatar/3486.png"
      }
      PUT /me
      请求数据:
      {"avatar": "/avatar/3486.png"}
      响应数据:HTTP 204
    • 点击“解绑”按钮(J2EE):PUT /me
      请求数据:
      {"unionID": ""}
      响应数据:HTTP 204
    • 点击“解绑账号”按钮(.NET):PUT /me
      请求数据:
      {"phone": ""}
      响应数据:HTTP 204
  3. ClassManage:
    ClassManage
  4. FixedRollStartCallUI:
    FixedRollStartCallUI
  5. FixedRollCallUI:
    FixedRollCallUI
    • 结束签到:PUT /class/{classId}
      按ID修改班级
      请求数据:
      {"calling": -1}
  6. FixedEndRollCallUI:
  7. RollCallListUI
    RollCallListUI
    • 获取签到中状态: /class/{classId}/attendance?showPresent=true
      请求数据: 无
      响应数据:
    {
        "numPresent": 4,
        "present": [
            {
            "id": 2357,
            "name": "张三"
            },
            {
            "id": 8232,
            "name": "李四"
            }
        ]
    }
  8. FixedRollCallEndUI1
    FixedRollCallEndUI1
    • 获取签到结束状态:/class/{classId}/attendance?showPresent=true&showLate=true&showAbsent=true
      请求数据: 无
      响应数据:
    {
        "numPresent": 4,
        "present": [
            {
            "id": 2357,
            "name": "张三"
            },
            {
            "id": 8232,
            "name": "李四"
            }
        ],
        "late": [
            {
            "id": 3412,
            "name": "王五"
            },
            {
            "id": 5234,
            "name": "王七九"
            }
        ],
        "absent": [
            {
            "id": 34,
            "name": "张六"
            }
        ]
    }
  9. FixedGroupInfoUI
    FixedGroupInfoUI
  10. GroupInfoUI:
    GroupInfoUI
  11. GroupInfoUI2:
    同上
  12. RandomRollStartCallUI
    见4
  13. RandomRollCallUI
    见5
  14. RandomEndRollCallUI
    见6
  15. RollCallListUI
    见7
  16. ChooseSchool1/ChooseSchool2
  17. ChooseSchool3/ChooseSchool4
    ChooseSchool4
    • 获取:GET /school?city=厦门
      请求数据:无
      响应数据:符合查询条件的学校列表
      [
          {
              "id": 32,
              "name": "厦门大学",
              "province": "福建",
              "city": "厦门"
          },
          {
              "id": 37,
              "name": "厦门理工学院",
              "province": "福建",
              "city": "厦门"
          }
      ]
    • 选中“厦门大学”:PUT /me
      请求数据:
      {
          "school": {
              "id": 32,
              "name": "厦门大学",
              "province": "福建",
              "city": "厦门"
          }
      }
      响应数据:HTTP 204
  18. ChooseSchoolNoSchoolForTeacher1-2
    ChooseSchoolNoSchoolForTeacher2
    • 查询获取:GET /school?city=厦门
      请求数据:无
      响应数据:符合查询条件的学校列表
      [
          {
              "id": 32,
              "name": "厦门大学",
              "province": "福建",
              "city": "厦门"
          },
          {
              "id": 37,
              "name": "厦门理工学院",
              "province": "福建",
              "city": "厦门"
          },
          {
              "id": 38,
              "name": "厦门城市职业学院",
              "province": "福建",
              "city": "厦门"
          }
      ]
  19. CreateSchoolUI
    CreateSchoolUI
    • 点击“创建”按钮:POST /school
      请求数据:
      {
          "name": "厦门市人民公园",
          "province": "福建",
          "city": "厦门"
      }
      响应数据:HTTP 201
      {"id":38}     //返回学校的ID
  20. Teacher_MainUI2:
    Teacher_MainUI2
    • 获取:GET /course
      请求数据:无
      响应数据:包括与该教师关联的所有课程名称,如
      [{"id": 1, "name": "J2EE"},
      {"id": 2, "name": "OOAD"},
      {"id": 3, "name": "操作系统"},
      {"id": 4, "name": "数据仓库"}]

小程序 Student

  1. Student_MainUI
    Student_MainUI
    GET /class
    获取与当前用户相关的班级列表
  2. CheckStudentInfoUI:
    CheckStudentInfoUI
    • 获取:GET /me
      请求数据:无
      响应数据:包含学生基本信息
      {
          "id": 3486,
          "type": "student",
          "name": "张三",
          "number": "23320152202333",
          "phone": "18911114514",
          "email": "23320152202333@stu.xmu.edu.cn",
          "gender": "male",
          "school": {
              "id": 32,
              "name": "厦门大学"
          },
          "title": "",
          "avatar": "/avatar/3486.png"
      }
    • 点击“点击头像修改”:
      POST /upload/avatar
      请求数据:头像图片文件
      响应数据:
      {
          "url": "/avatar/3486.png"
      }
      PUT /me
      请求数据:
      {"avatar": "/avatar/3486.png"}
      响应数据:HTTP 204
    • 点击“解绑”按钮(J2EE):PUT /me
      请求数据:
      {"unionID": ""}
      响应数据:HTTP 204
    • 点击“解绑账号”按钮(.NET):PUT /me
      请求数据:
      {"phone": ""}
      响应数据:HTTP 204
  3. CourseUI
    CourseUI
    GET /course/{courseId}/seminar?embedGrade=true
    按课程ID获取讨论课详情列表
  4. CourseInfoUI
    CourseInfoUI
    GET /course/{courseId}
    请求数据:无
    响应数据:课程信息
    {
    "id": 23,
    "name": "OOAD",
    "description": "面向对象分析与设计",
    "teacherName": "邱明",
    "teacherEmail": "mingqiu@xmu.edu.cn"
    }
  5. SeminarFixedGroupNoSelection/SeminarRandomGroupNoSelection
    SeminarFixedGroupNoSelection
    GET /seminar/{seminarId}/my
    按ID获取与学生有关的讨论课信息
  6. 已完成分组(FixedGroupLeaderUI、FixedGroupMemberUI、FixedGroupNoLeaderUI)
    FixedGroupNoLeaderUI2
  7. 选题(FixedGroupChooseTopicUI1、FixedGroupChooseTopicUI2)
    FixedGroupChooseTopicUI1
  8. 打分(GradePresentationUI、GradePresentationEndUI)
       GradePresentationUI  
  9. RandomGroupUI:
    RandomGroupUI
    GET /seminar/{seminarId}/group?include={studentId}
    请求数据:无
    响应数据:学生所在的组的ID
    [{
        "id": 28
    }]
    GET /group/{groupId}?embedTopics=true
    请求数据:无
    响应数据:小组详情
    {
        "id": 28,
        "leader": {
            "id": 8888,
            "name": "张三"
        },
        "members": [
            {
                "id": 5324,
                "name": "李四"
            },
            {
                "id": 5678,
                "name": "王五"
            }
        ],
        "topics": [
            {
                "id": 257,
                "name": "领域模型与模块"
            }
        ],
        "report": ""
    }
    PUT /group/{groupId}
    请求数据:固定格式,即更改自己的角色为队长
    {
      "id": 29,
      "leader": {
        "id": 1,
        "name": "张二",
        "number": "24320162093849"
      },
      "members": [
        {
          "id": 230,
          "name": "李四",
          "number": "24320152202978"
        },
        {
          "id": 2908,
          "name": "李二狗",
          "number": "24320152202998"
        }
      ],
      "topics": [
            {
                "id": 10,
                "name": "领域模型"
            }
        ]
    }
    响应数据:HTTP 204
  10. RandomGroupChoosetopic:
    同 4
  11. RollCallUI:
    RollCallUI
    GET /seminar/{seminarId}/detail
    按ID获取讨论课详情
    PUT /class/{classId}/attendance/{studentId}
    请求数据:GPS位置
    {
        "longitude": 118.1132721,
        "latitude": 24.4307197,
        "elevation": 18.42
    }
    响应数据:HTTP 204