simply_rugby/api.md
2025-04-11 13:29:32 +08:00

12 KiB
Raw Blame History

API文档

基础信息

  • 响应格式: 所有接口都会返回统一的Result格式
{
    "code": 200,  // 状态码
    "msg": "",    // 错误信息
    "data": {}    // 具体响应数据
}

成员管理

基础路径: /api/members

1. 创建成员

  • 请求方式: POST
  • 请求路径: /api/members
  • 请求体: Member对象
{
    "userName": "用户名",
    "avatar": "头像URL",
    "password": "密码",
    "salt": "密码盐值",
    "name": "姓名",
    "address": "地址",
    "postcode": "邮编",
    "sruNumber": "SRU编号",
    "dateOfBirth": "1990-01-01",
    "telNumber": "固定电话",
    "mobileNumber": "手机号码",
    "email": "电子邮箱"
}
  • 响应: 成功返回空数据

2. 删除成员

  • 请求方式: DELETE
  • 请求路径: /api/members/{id}
  • 路径参数: id - 成员ID
  • 响应: 成功返回空数据

3. 更新成员

  • 请求方式: PUT
  • 请求路径: /api/members
  • 请求体: Member对象
  • 响应: 成功返回空数据

4. 获取单个成员

  • 请求方式: GET
  • 请求路径: /api/members/{id}
  • 路径参数: id - 成员ID
  • 响应: 返回成员详细信息

5. 分页获取成员列表

  • 请求方式: GET
  • 请求路径: /api/members/page
  • 请求参数:
    • pageNum: 页码默认1
    • pageSize: 每页大小默认10
  • 响应: 返回分页数据

6. 获取随机成员

  • 请求方式: GET
  • 请求路径: /api/members/random
  • 响应: 返回4个随机成员的详细信息
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "avatar": "头像URL",
            "name": "成员姓名",
            "dateOfBirth": "1990-01-01",
            "role": "角色名称",
            "sruNumber": "SRU编号",
            "email": "电子邮箱"
        }
    ]
}

球员管理

基础路径: /api/players

1. 创建球员

  • 请求方式: POST
  • 请求路径: /api/players
  • 请求体: Player对象
{
    "memberId": "成员ID",
    "teamId": "团队ID",
    "position": "位置",
    "teamNumber": "队内编号",
    "height": 180,
    "weight": 75,
    "guardian1Name": "监护人1姓名",
    "guardian1Relationship": "与监护人1关系",
    "guardian1Address": "监护人1地址",
    "guardian1Tel": "监护人1电话",
    "guardian2Name": "监护人2姓名",
    "guardian2Relationship": "与监护人2关系",
    "guardian2Address": "监护人2地址",
    "guardian2Tel": "监护人2电话",
    "doctorName": "医生姓名",
    "doctorTel": "医生电话",
    "doctorAddress": "医生地址",
    "knownHealthIssues": "已知健康问题"
}
  • 响应: 成功返回空数据

2. 删除球员

  • 请求方式: DELETE
  • 请求路径: /api/players/{id}
  • 路径参数: id - 球员ID
  • 响应: 成功返回空数据

3. 更新球员

  • 请求方式: PUT
  • 请求路径: /api/players
  • 请求体: Player对象
  • 响应: 成功返回空数据

4. 获取单个球员

  • 请求方式: GET
  • 请求路径: /api/players/{id}
  • 路径参数: id - 球员ID
  • 响应: 返回球员详细信息

5. 分页获取球员列表

  • 请求方式: GET
  • 请求路径: /api/players/page
  • 请求参数:
    • pageNum: 页码默认1
    • pageSize: 每页大小默认10
  • 响应: 返回分页数据,包含以下字段:
{
    "code": 200,
    "msg": "",
    "data": {
        "records": [
            {
                "id": "球员ID",
                "position": "位置",
                "teamNumber": "队内编号",
                "height": 180,
                "weight": 75,
                "createTime": "2024-04-10T16:30:00",
                "name": "姓名",
                "avatar": "头像URL",
                "sruNumber": "SRU编号",
                "dateOfBirth": "1990-01-01",
                "email": "电子邮箱",
                "telNumber": "固定电话",
                "mobileNumber": "手机号码",
                "guardian1Name": "监护人1姓名",
                "guardian1Tel": "监护人1电话",
                "guardian2Name": "监护人2姓名",
                "guardian2Tel": "监护人2电话",
                "doctorName": "医生姓名",
                "doctorTel": "医生电话",
                "knownHealthIssues": "已知健康问题",
                "teamName": "队伍名称"
            }
        ],
        "total": 100,
        "size": 10,
        "current": 1
    }
}

6. 按团队分页获取球员列表

  • 请求方式: GET
  • 请求路径: /api/players/page/team/{teamId}
  • 路径参数: teamId - 团队ID
  • 请求参数:
    • pageNum: 页码默认1
    • pageSize: 每页大小默认10
  • 响应: 返回分页数据

7. 获取随机球员

  • 请求方式: GET
  • 请求路径: /api/players/random
  • 响应: 返回3个随机球员的详细信息
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "name": "球员姓名",
            "avatar": "头像URL",
            "teamName": "队伍名称",
            "position": "位置",
            "teamNumber": "队内编号",
            "height": 180,
            "weight": 75,
            "createTime": "2024-04-10T16:30:00",
            "passingStandard": 5,
            "passingSpin": 5,
            "passingPop": 5,
            "tacklingFront": 5,
            "tacklingRear": 5,
            "tacklingSide": 5,
            "tacklingScrabble": 5,
            "kickingDrop": 5,
            "kickingPunt": 5,
            "kickingGrubber": 5,
            "kickingGoal": 5
        }
    ]
}

球员技能档案管理

基础路径: /api/player-skills

1. 创建技能档案

  • 请求方式: POST
  • 请求路径: /api/player-skills
  • 请求体: PlayerSkillProfile对象
{
    "playerId": "球员ID",
    "passingStandard": 5,
    "passingStandardComment": "标准传球评价",
    "passingSpin": 5,
    "passingSpinComment": "旋转传球评价",
    "passingPop": 5,
    "passingPopComment": "快速传球评价",
    "tacklingFront": 5,
    "tacklingFrontComment": "正面铲球评价",
    "tacklingRear": 5,
    "tacklingRearComment": "背后铲球评价",
    "tacklingSide": 5,
    "tacklingSideComment": "侧面铲球评价",
    "tacklingScrabble": 5,
    "tacklingScrabbleComment": "争抢铲球评价",
    "kickingDrop": 5,
    "kickingDropComment": "落地踢球评价",
    "kickingPunt": 5,
    "kickingPuntComment": "踢远球评价",
    "kickingGrubber": 5,
    "kickingGrubberComment": "滚地踢球评价",
    "kickingGoal": 5,
    "kickingGoalComment": "射门评价"
}
  • 响应: 成功返回空数据

2. 删除技能档案

  • 请求方式: DELETE
  • 请求路径: /api/player-skills/{id}
  • 路径参数: id - 技能档案ID
  • 响应: 成功返回空数据

3. 更新技能档案

  • 请求方式: PUT
  • 请求路径: /api/player-skills
  • 请求体: PlayerSkillProfile对象
  • 响应: 成功返回空数据

4. 获取单个技能档案

  • 请求方式: GET
  • 请求路径: /api/player-skills/{id}
  • 路径参数: id - 技能档案ID
  • 响应: 返回技能档案详细信息

5. 获取球员的技能档案

  • 请求方式: GET
  • 请求路径: /api/player-skills/player/{playerId}
  • 路径参数: playerId - 球员ID
  • 响应: 返回技能档案详细信息

6. 分页获取技能档案列表

  • 请求方式: GET
  • 请求路径: /api/player-skills/page
  • 请求参数:
    • pageNum: 页码默认1
    • pageSize: 每页大小默认10
  • 响应: 返回分页数据

公告管理

基础路径: /api/announcements

1. 创建公告

  • 请求方式: POST
  • 请求路径: /api/announcements
  • 请求体: Announcement对象
{
    "title": "公告标题",
    "content": "公告内容",
    "time": "2024-03-21T10:00:00"
}
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": null
}

2. 删除公告

  • 请求方式: DELETE
  • 请求路径: /api/announcements/{id}
  • 路径参数: id - 公告ID
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": null
}

3. 更新公告

  • 请求方式: PUT
  • 请求路径: /api/announcements
  • 请求体: Announcement对象
{
    "id": "公告ID",
    "title": "公告标题",
    "content": "公告内容",
    "time": "2024-03-21T10:00:00"
}
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": null
}

4. 获取单个公告

  • 请求方式: GET
  • 请求路径: /api/announcements/{id}
  • 路径参数: id - 公告ID
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": {
        "id": "公告ID",
        "title": "公告标题",
        "content": "公告内容",
        "time": "2024-03-21T10:00:00"
    }
}

5. 获取最新公告

  • 请求方式: GET
  • 请求路径: /api/announcements/latest
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": {
        "id": "公告ID",
        "title": "公告标题",
        "content": "公告内容",
        "time": "2024-03-21T10:00:00"
    }
}

广告模块

1. 创建广告

  • 请求方式: POST
  • 请求路径: /ad
  • 请求体:
{
    "title": "广告标题",
    "img": "图片URL",
    "sort": 1  // 排序序号
}
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": null
}

2. 修改广告

  • 请求方式: PUT
  • 请求路径: /ad
  • 请求体:
{
    "id": "广告ID",
    "title": "广告标题",
    "img": "图片URL",
    "sort": 1
}
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": null
}

3. 删除广告

  • 请求方式: DELETE
  • 请求路径: /ad/{id}
  • 路径参数: id - 广告ID
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": null
}

4. 获取单个广告

  • 请求方式: GET
  • 请求路径: /ad/{id}
  • 路径参数: id - 广告ID
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": {
        "id": "广告ID",
        "title": "广告标题",
        "img": "图片URL",
        "sort": 1
    }
}

5. 获取广告列表

  • 请求方式: GET
  • 请求路径: /ad
  • 响应:
{
    "code": 200,
    "msg": "",
    "data": [
        {
            "id": "广告ID",
            "title": "广告标题",
            "img": "图片URL",
            "sort": 1
        }
    ]
}

队伍模块

基础路径: /api/teams

1. 创建队伍

  • 请求方式: POST
  • 请求路径: /api/teams
  • 请求体: Team对象
  • 响应: 成功返回空数据

2. 删除队伍

  • 请求方式: DELETE
  • 请求路径: /api/teams/{id}
  • 路径参数: id - 队伍ID
  • 响应: 成功返回空数据

3. 更新队伍

  • 请求方式: PUT
  • 请求路径: /api/teams
  • 请求体: Team对象
  • 响应: 成功返回空数据

4. 获取单个队伍

  • 请求方式: GET
  • 请求路径: /api/teams/{id}
  • 路径参数: id - 队伍ID
  • 响应: 返回队伍详细信息

5. 分页获取队伍列表

  • 请求方式: GET
  • 请求路径: /api/teams/page
  • 请求参数:
    • pageNum: 页码默认1
    • pageSize: 每页大小默认10
  • 响应: 返回分页数据

比赛模块

基础路径: /api/matches

1. 创建比赛

  • 请求方式: POST
  • 请求路径: /api/matches
  • 请求体: Match对象
  • 响应: 成功返回空数据

2. 删除比赛

  • 请求方式: DELETE
  • 请求路径: /api/matches/{id}
  • 路径参数: id - 比赛ID
  • 响应: 成功返回空数据

3. 更新比赛

  • 请求方式: PUT
  • 请求路径: /api/matches
  • 请求体: Match对象
  • 响应: 成功返回空数据

4. 获取单个比赛

  • 请求方式: GET
  • 请求路径: /api/matches/{id}
  • 路径参数: id - 比赛ID
  • 响应: 返回包含队伍信息的比赛详细信息

5. 分页获取比赛列表

  • 请求方式: GET
  • 请求路径: /api/matches/page
  • 请求参数:
    • pageNum: 页码默认1
    • pageSize: 每页大小默认10
    • teamId: 队伍ID可选
  • 响应: 返回包含队伍信息的分页数据