Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lab Management

首页

  • 获取当前教师课表。课表中包含:课程信息,实验命名,周次等等

课程管理

  • CRUD
  • 增加列表,模态框输入
  • 在前端限制用户输入。要求是数字就不不能输入字母

预约

  • 加载当前教师的全部课程,仅加载课程的名称。不需要加载课程所有信息。当选择指定课程之后,再加载某门课详细信息
  • 渲染已经选择次数及总次数:4/8 (如何获得选中次数?)(首页已经加载课表数据,可以缓存,不需要重新请求?)
  • 所有的实验室全部列出,区分出人数不够的教室。前提(加载全部可用实验室的名称,做成标签? 表格可与课表的表格复用)
  • 点击任何一个小方块,弹出模态框,包含所有课程信息。可选择指定周
  • 重新预约,不更新,而是直接移除再重新创建(单独在某一个组件里移除?)
  • 自己的课可以用别的颜色突出显示

12.22
在测试login.http时出了问题,返回的data对象除了account字段均为空:

{
  "code": 200,
  "message": null,
  "data": {
    "id": null,
    "name": null,
    "account": "1234567890",
    "role": null,
    "telephone": null,
    "createTime": null,
    "updateTime": null
  }
}

原因:没有在application.yml中添加如下配置:

  jackson:
    default-property-inclusion: non_null

添加之后成功读出:

{
  "code": 200,
  "data": {
    "id": "01JFMDR2KH87DXM7V3C1PW1YEX",
    "name": "杨过",
    "account": "1234567890",
    "role": "ikp1",
    "telephone": "12345678981",
    "createTime": "2024-12-21T18:53:52",
    "updateTime": "2024-12-21T18:53:52"
  }
}

但是我不知道为什么

12.30
写完了一个简单的查看实验室的admincontroller的功能:

    @GetMapping("labs")
    public ResultVO findAllLabs() {
        return ResultVO.succuss(adminService.findAllLabs());
    }

测试:

###
GET http://localhost:8080/api/admin/labs
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2ZlMyIsInVpZCI6IjAxSkdBUDhFNVNGVlRQWURaUTdGS0FFRUdEIiwiaWF0IjoxNzM1NTI1Nzk0LCJleHAiOjE3MzU2MTIxOTR9.elTK-aKfFxPKMT5IBjIktF1W8pKaCxbgsOvzNLfycgI

总是返回:

"No static resource api/admin/labs."

很简单的实现,看了几遍没有错,其他相同类型的功能也没有错。重启项目也没用。最后清除缓存,成功。

1.1
粗心错误,记录一下避免再犯 测试添加单个用户功能的时候总是报错:

{
  "code": 400,
  "message": "rawPassword cannot be null"
}

测试servic没问题,所以问题在controller上,发现是没带请求体注解@RequestBody

 @PostMapping("users")
    public ResultVO addSingleUser(@RequestBody User user) {
        adminService.addSingleUser(user);
        return ResultVO.succuss(user);
    }

加上后解决

1.2
测试重置密码的时候出了问题
用户重置密码:

PATCH http://localhost:8080/api/1234567890/settings/password
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiMTIzNDU2Nzg5MCIsInVpZCI6IjAxSkZYVllTTUNHNjNUWUs3MkRQMUdCVDI1Iiwicm9sZSI6ImlrcDEiLCJpYXQiOjE3MzU4Njc0OTksImV4cCI6MTczNTk1Mzg5OX0.Zugzd0OzHseJgd-OkQpNtzWHos987DVoKDfzhTNwob0
Content-Type: application/json

"123456"

管理员重置密码:

PATCH http://localhost:8080/api/admin/users
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoic2ZlMyIsImFjY291bnQiOiIxMjcxMzY3NjU0IiwidWlkIjoiMDFKR0FQOEU1U0ZWVFBZRFpRN0ZLQUVFR0QiLCJpYXQiOjE3MzU4MjU2MjIsImV4cCI6MTczNTkxMjAyMn0.JNssf1SPa8esmLpT3CNWEPcZ4rm1Tjp3l8HjkFX0-cU
Content-Type: application/json

{
  "id": "01JFXVYSMCG63TYK72DP1GBT25",
  "account": "1234567890"
}

登录测试:

###
POST localhost:8080/api/login
Content-Type: application/json

{
  "account": "1234567890",
  "password": "123456"
}

不知道为什么,用户重置密码总是失败,管理员重置密码就能成功。找了好久好久原因:

  • 管理员基于用户的idaccount将用户的密码值重置为账号的值,传过去的是一个json对象,属性名和属性值都要加双引号"
  • 用户修改密码时,从token中获取到了id信息,用户只要传密码,即一个字符串过来就行,所以传过来的不是对象,不需要加双引号"
  • 但是我在测试的时候加了双引号",所以这个时候双引号"成为了密码的一部分,所以如果要登录成功的话,密码应该是这样的:
    POST localhost:8080/api/login
    Content-Type: application/json
    
    {
    "account": "1234567890",
    "password": "\"123456\""
    }
    当然这是不合理的,所以在测试的时候传值就不应该带上双引号"
      PATCH http://localhost:8080/api/1234567890/settings/password
      token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50IjoiMTIzNDU2Nzg5MCIsInVpZCI6IjAxSkZYVllTTUNHNjNUWUs3MkRQMUdCVDI1Iiwicm9sZSI6ImlrcDEiLCJpYXQiOjE3MzU4Njc0OTksImV4cCI6MTczNTk1Mzg5OX0.Zugzd0OzHseJgd-OkQpNtzWHos987DVoKDfzhTNwob0
      Content-Type: application/json
        
      123456

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages