篮球协会小程序接口文档


获取球队成员

<h1>获取球队成员列表(增强版)</h1> <h2>接口信息</h2> <ul> <li><strong>接口名称</strong>: 获取球队成员列表(增强版)</li> <li><strong>接口描述</strong>: 获取指定球队的所有成员详细信息,包含球员基本信息和球员信息</li> <li><strong>请求URL</strong>: <code>/api/team/members/{teamId}</code></li> <li><strong>请求方式</strong>: <code>GET</code></li> <li><strong>认证方式</strong>: 匿名访问(@Anonymous)</li> </ul> <h2>请求参数</h2> <h3>路径参数</h3> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">示例值</th> <th>必选</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">teamId</td> <td style="text-align: left;">101</td> <td>是</td> <td style="text-align: left;">Long</td> <td style="text-align: left;">球队ID</td> </tr> </tbody> </table> <h2>响应示例</h2> <h3>成功响应</h3> <pre><code class="language-json">{     &amp;quot;code&amp;quot;: 200,     &amp;quot;msg&amp;quot;: &amp;quot;操作成功&amp;quot;,     &amp;quot;data&amp;quot;: {         &amp;quot;teamId&amp;quot;: 101,         &amp;quot;teamName&amp;quot;: &amp;quot;篮球队A&amp;quot;,         &amp;quot;members&amp;quot;: [             {                 &amp;quot;memberId&amp;quot;: 201,                 &amp;quot;teamId&amp;quot;: 101,                 &amp;quot;userId&amp;quot;: 1001,                 &amp;quot;memberType&amp;quot;: &amp;quot;1&amp;quot;,                 &amp;quot;joinStatus&amp;quot;: &amp;quot;1&amp;quot;,                 &amp;quot;joinTime&amp;quot;: &amp;quot;2025-01-27 10:00:00&amp;quot;,                 &amp;quot;realName&amp;quot;: &amp;quot;张三&amp;quot;,                                 &amp;quot;name&amp;quot;: &amp;quot;张三&amp;quot;,                 &amp;quot;gender&amp;quot;: &amp;quot;男&amp;quot;,                 &amp;quot;phone&amp;quot;: &amp;quot;13800138000&amp;quot;,                 &amp;quot;idCard&amp;quot;: &amp;quot;110101199001021234&amp;quot;,                 &amp;quot;birthDate&amp;quot;: &amp;quot;1990-01-02&amp;quot;,                 &amp;quot;ethnicity&amp;quot;: &amp;quot;汉族&amp;quot;,                 &amp;quot;provinceCity&amp;quot;: &amp;quot;北京市&amp;quot;,                                 &amp;quot;position&amp;quot;: &amp;quot;1号位&amp;quot;,                 &amp;quot;height&amp;quot;: 185.00,                 &amp;quot;weight&amp;quot;: 75.00,                 &amp;quot;jerseySize&amp;quot;: &amp;quot;XL&amp;quot;,                 &amp;quot;athleteLevel&amp;quot;: &amp;quot;一级运动员&amp;quot;,                 &amp;quot;playerResume&amp;quot;: &amp;quot;多次参加校级联赛,表现突出&amp;quot;,                 &amp;quot;playerAvatar&amp;quot;: &amp;quot;path/photo1001.jpg&amp;quot;,                 &amp;quot;jerseyNumber&amp;quot;: &amp;quot;NO.1&amp;quot;,                 &amp;quot;status&amp;quot;: &amp;quot;正常&amp;quot;,                 &amp;quot;banUntil&amp;quot;: null             },             {                 &amp;quot;memberId&amp;quot;: 202,                 &amp;quot;teamId&amp;quot;: 101,                 &amp;quot;userId&amp;quot;: 1002,                 &amp;quot;memberType&amp;quot;: &amp;quot;1&amp;quot;,                 &amp;quot;joinStatus&amp;quot;: &amp;quot;1&amp;quot;,                 &amp;quot;joinTime&amp;quot;: &amp;quot;2025-01-28 10:00:00&amp;quot;,                 &amp;quot;realName&amp;quot;: &amp;quot;李四&amp;quot;,                                 &amp;quot;name&amp;quot;: &amp;quot;李四&amp;quot;,                 &amp;quot;gender&amp;quot;: &amp;quot;女&amp;quot;,                 &amp;quot;phone&amp;quot;: &amp;quot;13900139000&amp;quot;,                 &amp;quot;idCard&amp;quot;: &amp;quot;120103199102022345&amp;quot;,                 &amp;quot;birthDate&amp;quot;: &amp;quot;1991-02-02&amp;quot;,                 &amp;quot;ethnicity&amp;quot;: &amp;quot;满族&amp;quot;,                 &amp;quot;provinceCity&amp;quot;: &amp;quot;天津市&amp;quot;,                                 &amp;quot;position&amp;quot;: &amp;quot;2号位&amp;quot;,                 &amp;quot;height&amp;quot;: 178.50,                 &amp;quot;weight&amp;quot;: 70.20,                 &amp;quot;jerseySize&amp;quot;: &amp;quot;XL&amp;quot;,                 &amp;quot;athleteLevel&amp;quot;: &amp;quot;二级运动员&amp;quot;,                 &amp;quot;playerResume&amp;quot;: &amp;quot;经验丰富,擅长防守&amp;quot;,                 &amp;quot;playerAvatar&amp;quot;: &amp;quot;path/photo1002.jpg&amp;quot;,                 &amp;quot;jerseyNumber&amp;quot;: &amp;quot;NO.2&amp;quot;,                 &amp;quot;status&amp;quot;: &amp;quot;正常&amp;quot;,                 &amp;quot;banUntil&amp;quot;: null             }         ],         &amp;quot;total&amp;quot;: 2     } }</code></pre> <h3>错误响应</h3> <pre><code class="language-json">{     &amp;quot;code&amp;quot;: 500,     &amp;quot;msg&amp;quot;: &amp;quot;操作失败&amp;quot;,     &amp;quot;data&amp;quot;: &amp;quot;球队不存在&amp;quot; }</code></pre> <h2>响应参数说明</h2> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">integer</td> <td style="text-align: left;">响应状态码(200=成功 500=失败)</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">string</td> <td style="text-align: left;">响应消息</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">object</td> <td style="text-align: left;">响应数据</td> </tr> <tr> <td style="text-align: left;">data.teamId</td> <td style="text-align: left;">long</td> <td style="text-align: left;">球队ID</td> </tr> <tr> <td style="text-align: left;">data.teamName</td> <td style="text-align: left;">string</td> <td style="text-align: left;">球队名称</td> </tr> <tr> <td style="text-align: left;">data.members</td> <td style="text-align: left;">array</td> <td style="text-align: left;">成员详细信息列表</td> </tr> <tr> <td style="text-align: left;">data.total</td> <td style="text-align: left;">integer</td> <td style="text-align: left;">成员总数</td> </tr> </tbody> </table> <h3>成员信息字段说明</h3> <h4>球队成员基本信息</h4> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">data.members.memberId</td> <td style="text-align: left;">long</td> <td style="text-align: left;">成员ID</td> </tr> <tr> <td style="text-align: left;">data.members.teamId</td> <td style="text-align: left;">long</td> <td style="text-align: left;">球队ID</td> </tr> <tr> <td style="text-align: left;">data.members.userId</td> <td style="text-align: left;">long</td> <td style="text-align: left;">用户ID</td> </tr> <tr> <td style="text-align: left;">data.members.memberType</td> <td style="text-align: left;">string</td> <td style="text-align: left;">成员类型(1=球员 2=教练)</td> </tr> <tr> <td style="text-align: left;">data.members.joinStatus</td> <td style="text-align: left;">string</td> <td style="text-align: left;">加入状态(0=申请中 1=已加入 2=已拒绝)</td> </tr> <tr> <td style="text-align: left;">data.members.joinTime</td> <td style="text-align: left;">string</td> <td style="text-align: left;">加入时间</td> </tr> <tr> <td style="text-align: left;">data.members.leaveTime</td> <td style="text-align: left;">string</td> <td style="text-align: left;">离开时间(如有)</td> </tr> <tr> <td style="text-align: left;">data.members.realName</td> <td style="text-align: left;">string</td> <td style="text-align: left;">真实姓名</td> </tr> </tbody> </table> <h4>用户基本信息</h4> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">data.members.name</td> <td style="text-align: left;">string</td> <td style="text-align: left;">姓名</td> </tr> <tr> <td style="text-align: left;">data.members.gender</td> <td style="text-align: left;">string</td> <td style="text-align: left;">性别(男/女)</td> </tr> <tr> <td style="text-align: left;">data.members.phone</td> <td style="text-align: left;">string</td> <td style="text-align: left;">联系方式</td> </tr> <tr> <td style="text-align: left;">data.members.idCard</td> <td style="text-align: left;">string</td> <td style="text-align: left;">身份证号</td> </tr> <tr> <td style="text-align: left;">data.members.birthDate</td> <td style="text-align: left;">string</td> <td style="text-align: left;">出生年月(YYYY-MM-DD)</td> </tr> <tr> <td style="text-align: left;">data.members.ethnicity</td> <td style="text-align: left;">string</td> <td style="text-align: left;">民族</td> </tr> <tr> <td style="text-align: left;">data.members.provinceCity</td> <td style="text-align: left;">string</td> <td style="text-align: left;">所在省市</td> </tr> </tbody> </table> <h4>球员信息</h4> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">data.members.position</td> <td style="text-align: left;">string</td> <td style="text-align: left;">场上位置(1号位/2号位/3号位/4号位/5号位)</td> </tr> <tr> <td style="text-align: left;">data.members.height</td> <td style="text-align: left;">decimal</td> <td style="text-align: left;">身高(cm)</td> </tr> <tr> <td style="text-align: left;">data.members.weight</td> <td style="text-align: left;">decimal</td> <td style="text-align: left;">体重(kg)</td> </tr> <tr> <td style="text-align: left;">data.members.jerseySize</td> <td style="text-align: left;">string</td> <td style="text-align: left;">球衣尺码(XL/2XL/3XL/4XL/5XL/6XL/7XL)</td> </tr> <tr> <td style="text-align: left;">data.members.athleteLevel</td> <td style="text-align: left;">string</td> <td style="text-align: left;">运动员等级</td> </tr> <tr> <td style="text-align: left;">data.members.playerResume</td> <td style="text-align: left;">string</td> <td style="text-align: left;">球员履历</td> </tr> <tr> <td style="text-align: left;">data.members.playerAvatar</td> <td style="text-align: left;">string</td> <td style="text-align: left;">球员头像(1寸免冠照片路径)</td> </tr> <tr> <td style="text-align: left;">data.members.jerseyNumber</td> <td style="text-align: left;">string</td> <td style="text-align: left;">球衣号码(自动生成:NO.1, NO.2...)</td> </tr> <tr> <td style="text-align: left;">data.members.status</td> <td style="text-align: left;">string</td> <td style="text-align: left;">状态(正常/禁赛)</td> </tr> <tr> <td style="text-align: left;">data.members.banUntil</td> <td style="text-align: left;">string</td> <td style="text-align: left;">禁赛截止时间(如有)</td> </tr> </tbody> </table> <h2>使用说明</h2> <ol> <li><strong>完整信息</strong>: 此接口返回球队成员的完整信息,包含基本信息和球员详细信息</li> <li><strong>自动编号</strong>: 球衣号码自动按加入时间顺序生成(NO.1, NO.2, NO.3...)</li> <li><strong>多表关联</strong>: 通过LEFT JOIN关联用户基本信息表和球员信息表</li> <li><strong>状态过滤</strong>: 只返回已加入状态(joinStatus=&#039;1&#039;)的成员</li> <li><strong>排序规则</strong>: 按加入时间升序排列</li> </ol> <h2>注意事项</h2> <ul> <li>teamId参数是必填的,必须通过URL路径传递</li> <li>返回的时间格式为 <code>YYYY-MM-DD HH:mm:ss</code></li> <li>如果球队不存在,会返回&quot;球队不存在&quot;的错误信息</li> <li>成员列表可能为空数组,表示该球队暂无成员</li> <li>球员头像字段可能为空,需要前端做默认处理</li> <li>球衣号码是自动生成的,不需要手动设置</li> <li>接口会自动处理异常情况并返回相应的错误信息</li> </ul> <h2>数据库关联说明</h2> <p>此接口通过以下表关联获取完整信息:</p> <ul> <li><code>wm_team_member</code> - 球队成员表(主表)</li> <li><code>wm_basic_user_info</code> - 用户基本信息表</li> <li><code>wm_player_info</code> - 球员信息表</li> </ul> <h2>相关接口</h2> <ul> <li><a href="2.获取球队详情-增强版.md">获取球队详情(增强版)</a> - 获取球队基本信息及负责人权限</li> <li><a href="3.获取球队详情和成员-增强版.md">获取球队详情和成员(增强版)</a> - 获取球队信息及成员列表</li> </ul>

页面列表

ITEM_HTML