# 评委打分 **Repository Path**: reviel/pingweidafen ## Basic Information - **Project Name**: 评委打分 - **Description**: 用thinkPHP写的一个评委打分系统 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2017-06-01 - **Last Updated**: 2021-11-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 评委打分系统后端API > 目前共有四个接口 ## 1、登录接口 #### 地址 `API/index.php/Home/Login` #### 发送: ```json { "user":"T01", "password":"hhhwoshi01" } ``` `user`:评委用户名 `password`:用户名对应的密码 #### 正确返回: ```json { "status":0, "user":"T01", "password":"hhhwoshi01" } ``` `status`:状态信息,如果用户名密码正确就返回0,错误则返回1 `user`:刚刚进行请求的时候发来的用户名 `password`:刚刚请求的时候发来的密码 #### 错误返回 ```json { "status":1, "data":"用户名密码错误" } ``` `status`:状态信息,如果用户名密码错误就返回1 `data`:错误信息,显示错误的原因 *** ## 2、获取选手信息接口(刷新) #### 地址 `API/index.php/Home/Reflash` #### 接收: ```json { "user":"T01", "password":"hhhwoshi01" } ``` `user`:评委用户名 `password`:用户名对应的密码 #### 正确返回: ```json { "status":0, "id":"1003", "xuhao":"03", "type":"ps", "name":"祝贺校庆手册", "leader":"队长姓名" } ``` `status`:状态信息,如果正确就返回0,错误则返回1,评分结束的情况下返回2 `id`:代表当前选手的id,前面的1代表一个组别(web或ppt或ps),后面的03代表在该组别中选手的编号 `xuhao`:把上面id的后两位截取下来之后的值 `type`:代表当前选手所在的组别类型,共有四种取值类型ps,ppt,video,web `name`:代表当前选手的作品名称 `leader`:当前选手的队长姓名 #### 错误返回 ```json { "status":1, "data":"用户名密码错误" } ``` `status`:状态信息,如果错误就返回1,还有一种情况返回2,代表评分已经结束 `data`:错误信息,显示错误的原因 *** ## 3、评委打分接口 #### 地址 `API/index.php/Home/Submit` #### 接收: ```json { "user":"T01", "password":"hhhwoshi00", "student":"1003", "vector":[10,7.4,4.1,7,8,9] } ``` `user`:评委用户名 `password`:用户名对应的密码 `student`:被评选手的id `vector`:当前评委给出的五个项目的分数 #### 正确返回: ```json { "status":0 } ``` 或者 ```json { "status":2, "data":"打分已结束,谢谢您的参与" } ``` `status`:状态信息,如果正确就返回0,错误则返回1 #### 错误返回 ```json { "status":1, "data":"用户名密码错误" } ``` `status`:状态信息,如果错误就返回1 `data`:错误信息,显示错误的原因 ## 4、选手成绩查询接口 #### 地址 `API/index.php/Home/Competitor` #### 接收: ```json { "competitor":"1003" } ``` `competitor`:选手的id #### 返回: ```json { "competitor": "1003", "teacher": [ "T01", "T02", "T03", "T04", "T05", "T08", "T09", "T10", "T11", "T12", "T13", "T14", "T15" ], "score": [ "41", "45", "37", "40", "34", "37", "36", "33", "41.1", "31", "39", "32", "35" ], "ave": 36.827272727273 } ``` `competitor`:被查询的选手的id `teacher`:已经打过分的老师的用户名 `score`:对应上面的各个老师所打的分数 `ave`:目前打过分的老师中去掉最高分,去掉最低分,之后求平均得分 *** *** *** ### 一些说明 ## 1、各个组评分标准 **平面设计(ps)组** 1. 思想内容积极(10分) 2. 主题表意明确(10分) 3. 图形表现力 (10分) 4. 表现手法 (10分) 5. 技术手法 (10分) **视频PPT组** 1. 主题表意明确 (10分) 2. 作品流畅度 (10分) 3. 创意创新 (10分) 4. 表现手法 (10分) 5. 技术手法 (10分) **网站(web)组** 1. 紧扣主题 (10分) 2. 色调和谐 (10分) 3. 技术手段 (10分) 4. 可读性良好 (10分) 5. 结构完整、健全 (10分) ## 2、对于接口2的部分说明 >目的是为了评委在评价一个作品的时候能够清楚地了解这是哪个人的作品,所以一开始对每个组都分配了唯一的一个编码。假如说平面设计组有6个人,视频7个人,网站8个。那么平面设计组的编号是1-6,视频则是7-13,网站则是14-21。 >但是开会后发现这样不行,因为不同组别是分开抽签的。到时候上场的顺序是这么叫的“平面设计1组,平面设计2组……”“视频1组,视频2组……”“网站1组,网站2组……”诸如此类。 >所以最后决定这样分配编码: 平面设计1组`1001`平面设计2组`1002`平面设计3组`1003`平面设计4组`1004` …… 视频1组`2001`视频2组`2002`视频3组`2003`视频4组`2004` …… 网站1组`3001`网站2组`3002`网站3组`3003`网站4组`3004` …… >前面的1、2、3分别对应平面设计、视频、网站。这也是那天的上场顺序。后面的两位数字01、02、03、04来代表选手在自己组内的编号(上场顺序) 这样的话老师在看的时候就可以根据XX组XX号来判断各个队伍了。所以为了方面我把后面的两位数组单独截取出来作为一个参数,即`xuhao` 并且由于网站组的作品名称可能都一样,所以希望前端在显示给老师的时候把队长的名字也显示出来,以便于区分