API文档示例

API文档示例


默认页面

<h1>状态码返回</h1> <pre><code class="language-json">{ "code": 0, "data": {}, "message": "string" }</code></pre> <p>code:</p> <ul> <li>200 : 成功</li> <li>401 : 未登录</li> <li>403 : 权限不足</li> <li>其他:操作失败</li> </ul> <h1>认证模块</h1> <h2>登录</h2> <pre><code class="language-java">/auth/login POST</code></pre> <ul> <li>参数格式</li> </ul> <pre><code>{ "password": "string", "rememberMe": true, "role": "string", "username": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code>{ "code": 200, "message": "操作成功", "data": { "idToken": "MQ==", "username": "yzx1428", "nickname": "yzx", "avatar": "default.jpg", "age": 20, "gender": "男", "mobile": "15159961391", "email": "657075151@qq.com", "roles": [ "USER", "ADMIN" ], "info": "我是福州大学2018级的学生yzx,欢迎来到我的个人信息主页" } }</code></pre> <h2>注册</h2> <pre><code>/auth/register POST</code></pre> <ul> <li>参数格式</li> </ul> <pre><code>{ "correctCode": "string", "email": "string", "inputCode": "string", "password": "string", "username": "string" }</code></pre> <ul> <li> <p>返回</p> <pre><code class="language-json">{ "code": 0, // 注册用户名 "data": "yzx", "message": "string" }</code></pre> </li> </ul> <h2>登出</h2> <pre><code>/auth/logout DELETE</code></pre> <h1>用户模块</h1> <h3>添加用户收藏</h3> <pre><code>GET /user/{idToken}/addCollection/{vid}</code></pre> <ul> <li>idToken : 用户id加密后的字符串</li> <li> <p>vid : 被收藏的视频id</p> </li> <li> </li> </ul> <h3>取消用户对于某个视频的收藏</h3> <pre><code>DELETE /user/{idToken}/collection/{courseId}/delete</code></pre> <ul> <li>courseId : 目标视频的id</li> </ul> <h3>用户删除发布的视频</h3> <pre><code>DELETE /user/{idToken}/course/{courseId}/delete</code></pre> <h3>用户发布的所有视频</h3> <pre><code>POST /user/{idToken}/courses?pageIndex&amp;pageSize</code></pre> <ul> <li>POST参数</li> </ul> <pre><code class="language-json">{ // 查询参数,若没有查询参数则为空串 "query": "string", // 排序规则,传入字段名,例如id "sort": "string", // 分类参数,全部则为all "typeKey": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "title": "Cold教你学Flask", "face": "default.jpg", "play": 153, "favNum": 1, "publishDate": 1619995077000, "fromUser": "yzx1428", "fromUserId": 1, "course_status": 1, "type": { "type_name": "小学", "type_key": "primary" } } ] }</code></pre> <h3>用户参加捐赠活动</h3> <pre><code>GET /user/{idToken}/joinDonate/{did}</code></pre> <h3>用户参加的捐赠活动</h3> <pre><code>POST /user/{idToken}/myActivity?pageIndex&amp;pageSize</code></pre> <ul> <li>POST参数</li> </ul> <pre><code class="language-json">{ // 日期范围,数组大小为2,分别对应开始和结束时间 // 若不指定某一个时间(null)表示不作限定 // 如[a,null]表示查询a时间以后的所有捐赠活动 // [null,null]表示查询所有时间段 "dateResult": [ "string" ], "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "dname": "凉山小学篮球用品捐赠计划", "content": "该活动旨在为凉山小学热爱篮球的孩子们捐赠篮球,篮筐等各种运动用品及设施。", "from_user": "yzx1428", "start_time": 1619689790000, "end_time": 1619772322000, "location": "四川省凉山市", "donate_total": 0, "donate_type": "运动用品", "status": "审核中", "face": "default.jpg" }, ... ] }</code></pre> <h3>用户自己的捐款记录</h3> <p>POST</p> <pre><code>/user/{idToken}/myRecords?pageIndex&amp;pageSize</code></pre> <p>POST参数</p> <ul> <li> <pre><code>Post参数中的typeKey为捐款活动状态,前端显示为未开始,审核中等,传给后端的是状态码,如1,2,等 全部还是all</code></pre> </li> </ul> <pre><code>{ query typeKey sort }</code></pre> <p>返回</p> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "user_id": 1, "user_name": "yzx1428", "activity_id": 1, "donate_num": 20, "activity_name": "凉山小学篮球用品捐赠计划", "donate_time": 1620745129000, "remark": "篮球20个", "time_str": "2021-05-11 22:58:49" } ] }</code></pre> <h3>用户浏览记录</h3> <pre><code>GET /user/{idToken}/viewHistory</code></pre> <p>返回</p> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "title": "Cold教你学Flask", "face": "default.jpg", "play": 153, "favNum": 1, "publishDate": 1619995077000, "fromUser": "yzx1428", "fromUserId": 1, "course_status": 1, "type": { "type_name": "小学", "type_key": "primary" } }, ... ] }</code></pre> <h3>用户申请志愿者</h3> <p><strong>POST</strong> /user/{idToken}/apply</p> <p>post参数:</p> <pre><code>{ "real_name":"杨振轩", "id_card":"350783200004160235", "email":"657075151@qq.com", "inputCode":"381454", "prove":"default.jpg" }</code></pre> <p>返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": true } </code></pre> <h3>用户是否有申请志愿者</h3> <p><strong>GET</strong> /user/{idToken}/hasApply</p> <p>返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": false }</code></pre> <h3>用户志愿者申请状态</h3> <p><strong>GET</strong> /user/{idToken}/applyStatus</p> <p>返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": 3 }</code></pre> <h3>用户收藏的所有视频</h3> <p><strong>POST</strong> /user/{idToken}/myCollections?pageIndex&amp;pageSize</p> <ul> <li>POST参数</li> </ul> <pre><code>{ "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "title": "Cold教你学Flask", "face": "default.jpg", "play": 153, "favNum": 1, "publishDate": 1619995077000, "fromUser": "yzx1428", "fromUserId": 1, "course_status": 1, "type": { "type_name": "小学", "type_key": "primary" } }, ... ] }</code></pre> <h3>用户发布的所有帖子</h3> <pre><code>POST /user/{idToken}/posts?pageIndex&amp;pageSize</code></pre> <ul> <li>POST参数</li> </ul> <pre><code>{ "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 14, "title": "小开Lwx——冠军Ad亦有差距", "content": "众所周知,夏季赛开赛以来,ad位置上,韦鲁斯长期处于ban位,偶尔出来放放风,虽然胜率尴尬还是0%,...", "create_time": 1618451181000, "from_user": "yzx1428", "type": { "type_name": "生活", "type_key": "life" }, "view": 0, "commentNum": 0, "face": "http://localhost:8080/talkings/faces/caa7e09bb4d64fb8b345b58b789d6432.png" }, ... ] }</code></pre> <h3>修改密码</h3> <pre><code>POST /user/{idToken}/resetpwd</code></pre> <p>post参数</p> <ul> <li>新密码长度必须大于8</li> </ul> <pre><code>{ "newPassword":"新密码" }</code></pre> <h3>修改用户头像</h3> <pre><code>POST /user/{idToken}/updateAvatar</code></pre> <p>post参数</p> <pre><code>{ "avatar":"头像文件名" }</code></pre> <h3>获取用户的个人信息</h3> <pre><code>GET /user/info/{idToken}</code></pre> <p>返回</p> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": { "username": "yzx1428", "nickname": "yzx", "info": "我是福州大学2018级的学生yzx,欢迎来到我的个人信息主页", "avatar": "http://localhost:8080/users/faces/default.jpg", "age": 20, "gender": "男", "mobile": "15159961391", "email": "657075151@qq.com" } }</code></pre> <h3>修改用户的个人信息</h3> <p><strong>POST</strong></p> <p>/user/info/{idToken}</p> <p>POST参数</p> <pre><code class="language-json">{ "age": 0, "avatar": "string", "email": "string", "gender": "string", "info": "string", "mobile": "string", "nickname": "string", "username": "string" }</code></pre> <h3>用户头像上传</h3> <p><strong>POST</strong></p> <p>/user/upload</p> <p>POST参数</p> <pre><code>文件对象MultiFile,与UI上传组件配合使用</code></pre> <p>返回</p> <pre><code class="language-json">{ code:0, message:"", data:"上传成功后的文件名" }</code></pre> <p>错误情况code</p> <pre><code class="language-java">FILE_SIZE_ERROR(210,"文件大小超出限制!"), FILE_TYPE_ERROR(211,"文件上传类型错误!"), FILE_SAVE_ERROR(212,"文件保存失败!");</code></pre> <h3>查看用户的搜索记录</h3> <p><strong>GET</strong> /user/{idToken}/searchHistory 返回 { &quot;code&quot;: 200, &quot;message&quot;: &quot;操作成功&quot;, &quot;data&quot;: { &quot;history&quot;: [ &quot;Java&quot;, &quot;php&quot;, &quot;java&quot; ] } }</p> <h3>清空用户的搜索记录</h3> <p><strong>DELETE</strong> /user/{idToken}/clearHistory</p> <h1>讨论模块</h1> <h3>删除某个讨论</h3> <p><strong>DELETE</strong></p> <p>/talkings/{postId}/delete/{idToken}</p> <ul> <li>要求USER权限</li> </ul> <h3>获得所有讨论项</h3> <p><strong>POST</strong></p> <p>/talkings/all?pageIndex&amp;pageSize</p> <p>POST参数</p> <pre><code class="language-json">{ "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": { // 当前页数 "currentPage": 1, // 数据 "rows": [ { "id": 14, "title": "小开Lwx——冠军Ad亦有差距", "content": "众所周知,夏季赛开赛以来,ad位置上,韦鲁斯长期处于ban位,偶尔出来放放风,虽然胜率尴尬还是0%,但对于fpx而言,他们依然是不敢给jkl的,按例ban了。其次,月男作为夏季赛的常客,也是lwx拿手ad,fpx依然是害怕jkl拿到也ban了,在此之前,fpx很少ban月男的,甚至是对面来banfpx的月男,但两局游戏jpx毅然决然的ban下越南,对于ad位的差距,fpx的教练团队可能比观众的认知更加清晰。", "create_time": 1618451181000, "from_user": "yzx1428", "type": { "type_name": "生活", "type_key": "life" }, "view": 0, "commentNum": 0, "face": "http://localhost:8080/talkings/faces/caa7e09bb4d64fb8b345b58b789d6432.png" } ], // 总页数 "totalPages": 13, // 总数据条数 "totalRecords": 13 } }</code></pre> <h3>添加讨论</h3> <p><strong>POST</strong></p> <p>/talkings/send</p> <p>POST参数</p> <pre><code class="language-json">{ "title":"", "content":"", "face":"", "type":"", "from_user":0 }</code></pre> <h3>获取所有分类(讨论)</h3> <p><strong>GET</strong></p> <p>/talkings/types</p> <p>返回</p> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "type_name": "学习", "type_key": "study" }, { "type_name": "生活", "type_key": "life" }, { "type_name": "志愿活动", "type_key": "volunteer" }, { "type_name": "精品", "type_key": "special" }, { "type_name": "小学", "type_key": "primary" }, { "type_name": "中学", "type_key": "junior" }, { "type_name": "启蒙", "type_key": "Kindergarten" } ] }</code></pre> <h3>讨论封面图片上传</h3> <p><strong>POST</strong> /talkings/upload</p> <h1>捐赠模块</h1> <h3>根据条件获取捐赠活动</h3> <p><strong>POST</strong> /donate/all?pageIndex=?&amp;pageSize=?</p> <p>POST参数</p> <pre><code>{ "dateResult": [ "string" ], "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <p>返回</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "total": 54, "data": [ { "id": 54, "dname": "八宝小学生活用具捐赠计划", "content": "&lt;p style=\\\"text-indent:2em;\\\"&gt;该活动旨在帮助孩子改善生活水平,捐赠衣服等生活用具。&lt;/p&gt;", "from_user": "yzx1428", "start_time": 1617281125000, "end_time": 1621397939000, "location": "福建省福州市", "donate_total": 20, "donate_type": "其他", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 1, "start_time_str": "2021-04-01 20:45:25", "end_time_str": "2021-05-19 12:18:59", "mileStones": [] }, { "id": 53, "dname": "桂花小学学习用具捐赠计划", "content": "&lt;p style=\\\"text-indent:2em;\\\"&gt;该活动旨在帮助孩子改善学习环境,捐赠书包等学习工具。&lt;/p&gt;", "from_user": "yzx1428", "start_time": 1618007534000, "end_time": 1621644882000, "location": "福建省福州市", "donate_total": 63, "donate_type": "其他", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 1, "start_time_str": "2021-04-10 06:32:14", "end_time_str": "2021-05-22 08:54:42", "mileStones": [] }, { "id": 52, "dname": "多扶小学学习用具捐赠计划", "content": "&lt;p style=\\\"text-indent:2em;\\\"&gt;该活动旨在帮助孩子改善学习环境,捐赠书包等学习工具。&lt;/p&gt;", "from_user": "yzx1428", "start_time": 1617723707000, "end_time": 1620182163000, "location": "福建省福州市", "donate_total": 43, "donate_type": "其他", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 1, "start_time_str": "2021-04-06 23:41:47", "end_time_str": "2021-05-05 10:36:03", "mileStones": [] }, { "id": 51, "dname": "同德小学学习用具捐赠计划", "content": "&lt;p style=\\\"text-indent:2em;\\\"&gt;该活动旨在帮助孩子改善学习环境,捐赠书包等学习工具。&lt;/p&gt;", "from_user": "yzx1428", "start_time": 1617219974000, "end_time": 1619945501000, "location": "福建省福州市", "donate_total": 67, "donate_type": "其他", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 1, "start_time_str": "2021-04-01 03:46:14", "end_time_str": "2021-05-02 16:51:41", "mileStones": [] }, { "id": 50, "dname": "米丹小学生活用具捐赠计划", "content": "&lt;p style=\\\"text-indent:2em;\\\"&gt;该活动旨在帮助孩子改善生活水平,捐赠衣服等生活用具。&lt;/p&gt;", "from_user": "yzx1428", "start_time": 1619269723000, "end_time": 1620670393000, "location": "福建省福州市", "donate_total": 56, "donate_type": "其他", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 1, "start_time_str": "2021-04-24 21:08:43", "end_time_str": "2021-05-11 02:13:13", "mileStones": [] } ] } }</code></pre> <h3>根据id获取活动信息</h3> <p><strong>GET</strong> /donate/detail/{id}</p> <p>返回类型:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "id": 1, "dname": "凉山小学篮球用品捐赠计划", "content": "该活动旨在为凉山小学热爱篮球的孩子们捐赠篮球,篮筐等各种运动用品及设施。", "from_user": "yzx1428", "start_time": 1619689790000, "end_time": 1619772322000, "location": "四川省凉山市", "donate_total": null, "donate_type": "运动用品", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 0, "start_time_str": "2021-04-29 17:49:50", "end_time_str": "2021-04-30 16:45:22", "mileStones": [] } }</code></pre> <h3>根据活动id获取活动记录</h3> <p><strong>GET</strong> /donate/records/{id}</p> <h3>添加捐赠记录</h3> <p><strong>POST</strong> /donate/update/{id}</p> <p>POST参数</p> <pre><code>{ "donate_num": 0, "donate_time": { "date": 0, "day": 0, "hours": 0, "minutes": 0, "month": 0, "nanos": 0, "seconds": 0, "time": 0, "timezoneOffset": 0, "year": 0 }, "remark": "string", "user_id": 0 }</code></pre> <h1>后台管理模块</h1> <h3>管理员日志模块</h3> <h4>查询管理员日志记录</h4> <p><strong>POST</strong></p> <p>/admin/logs/all?pageIndex&amp;pageSize</p> <ul> <li>post参数</li> </ul> <pre><code class="language-json">{ "dateResult": [ // 日期范围,要么为空,要么两个都有值 ], "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <ul> <li>返回</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": { "total": 1, "logs": [ { "id": 8, "name": "yzx1428", "type": "video", "content": "审核 视频", "date": 1619222366000 } ] } }</code></pre> <h4>删除某条日志记录</h4> <p><strong>DELETE</strong></p> <ul> <li>要求ADMIN权限</li> </ul> <p>/admin/logs/delete/{id}</p> <h1>讨论详情</h1> <h3>获取讨论详情信息</h3> <p><strong>GET</strong></p> <p>/detail/{id}?pageIndex&amp;pageSize</p> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": { // 总评论数 "postTotal": 10, "data": [ // 主题 { "id": 1, "content": "我相信对于零基础的待业学生或者转行的人来说,上面的几个最基本的问题可能都不知道。那么下面小编就来粗略的解释一下:UI是什么?UI学什么吗?如何学好UI这几个最基本的问题!", "from_user_name": "yzx1428", "from_user_id": 1, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618221514000, "replyTotal": 0, "replies": [] }, // 评论 { "id": 1, "content": "UI只是一个简称,全称是User Interface 即用户界面设计,指的是对于所有软件的界面美观、操作逻辑、人机交互的整体设计。或许对于现在市场上很多UI设计师来说,UI的工作主要就是视觉设计也就做做界面就可以了,但是我相信这样的UI工资肯定不会太高。随着互联网信息时代的高速发展,UI设计师的定义和要求越来越高,现在的UI设计师不仅仅只是会做视觉界面那么简单了,还要熟悉交互和产品,而且现在视觉的工作也开始慢慢减少了,而是以交互设计为主。", "from_user_name": "yzx1428", "from_user_id": 1, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618514951000, "replyTotal": 6, // 该条评论的所有回复 "replies": [ { "id": 2, "reply_to": "yzx1428", "reply_to_id": "1", "content": "感谢题主分享,阅读后收益颇多,十分感谢!!!", "from_user_name": "sjy1424", "from_user_id": 2, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618515626000 }, { "id": 3, "reply_to": "yzx1428", "reply_to_id": "1", "content": "感谢题主分享,阅读后收益颇多,十分感谢!!!", "from_user_name": "sjy1424", "from_user_id": 2, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618515673000 }, { "id": 4, "reply_to": "sjy1424", "reply_to_id": "2", "content": "不客气不客气哈~", "from_user_name": "yzx1428", "from_user_id": 1, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618525747000 } ] } ], "authorName": "yzx1428", "avatar": "http://localhost:8080/users/faces/default.jpg", "title": "\r\n拉格朗日定理与罗尔定理,柯西定理之间有什么关系?", "type": "学习", "authorId": 1, "commentsNum": 2 } }</code></pre> <h3>添加评论</h3> <p><strong>POST</strong></p> <p><a href="http://localhost:8080/swagger-ui.html#/operations/讨论详情控制器/addPostCommentUsingPOST">/detail/comment/add</a></p> <pre><code class="language-json">{ "comment_id": 0, "content": "string", // 所属文章id "from_post_id": 0, // 所属用户id "from_user_id": 0, "id": 0, // 回复评论的id "reply_id": 0 }</code></pre> <h3>获取某条评论的回复信息</h3> <p><strong>GET</strong></p> <p>/detail/replies/{commentId}?pageIndex</p> <ul> <li>pageSize默认为5</li> </ul> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": [ { "id": 2, "reply_to": "yzx1428", "reply_to_id": "1", "content": "感谢题主分享,阅读后收益颇多,十分感谢!!!", "from_user_name": "sjy1424", "from_user_id": 2, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618515626000 }, { "id": 3, "reply_to": "yzx1428", "reply_to_id": "1", "content": "感谢题主分享,阅读后收益颇多,十分感谢!!!", "from_user_name": "sjy1424", "from_user_id": 2, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618515673000 }, { "id": 4, "reply_to": "sjy1424", "reply_to_id": "2", "content": "不客气不客气哈~", "from_user_name": "yzx1428", "from_user_id": 1, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618525747000 }, { "id": 6, "reply_to": "sjy1424", "reply_to_id": "3", "content": "谢谢谢谢~", "from_user_name": "yzx1428", "from_user_id": 1, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618562118000 }, { "id": 8, "reply_to": "yzx1428", "reply_to_id": "1", "content": "纯路人,请问题主能教我两分钟精通Flask吗?", "from_user_name": "sjy1424", "from_user_id": 2, "from_user_avatar": "http://localhost:8080/users/faces/default.jpg", "publish_time": 1618565678000 } ] }</code></pre> <h1>课程模块</h1> <h3>添加视频评论</h3> <p><strong>POST</strong></p> <p>/video/comment/add</p> <pre><code class="language-json">{ "comment_id": 0, "content": "string", "from_course": 0, "from_user": 0, "publish_time": "string", "reply_id": 0 }</code></pre> <h3>根据id获取视频详情</h3> <p><strong>GET</strong></p> <p>/video/detail/{vid}?pageSize=?</p> <pre><code class="language-json">{ "code": 200, "message": "操作成功", "data": { "id": 1, "title": "Cold教你学Flask", "face": "default.jpg", "play": 153, "course_like": 0, "upload_time": 1619995077000, "upload_user": { "idToken": null, "username": "yzx1428", "nickname": "yzx", "avatar": "default.jpg", "age": 20, "gender": "男", "mobile": "15159961391", "email": "657075151@qq.com", "roles": [ "USER", "ADMIN" ], "info": "我是福州大学2018级的学生yzx,欢迎来到我的个人信息主页" }, "course_status": 1, "type": { "type_name": "小学", "type_key": "primary" }, "info": "国人程序员大牛Cold教你两分钟精通Flask,实现一个淘宝网站。", "url": "default.mp3", "below_comments": [] } }</code></pre> <h3>根据视频评论ID返回回复评论信息</h3> <p><strong>GET</strong></p> <p>/video/replies/{commentId}?pageIndex&amp;pageSize</p> <h4><strong>返回格式待补充</strong></h4> <h3>根据id增加视频播放量</h3> <p><strong>GET</strong></p> <p>/video/updateView/{vid}</p> <h1>视频模块</h1> <h3>添加课程</h3> <p><strong>POST</strong> /course/add</p> <p>POST参数</p> <pre><code>{ "face": "string", "info": "string", "title": "string", "type_key": "string", "upload_user_id": 0, "urlList": [ "abc.mp4", "cba.mp4" //后缀名要为mp4或avi! ] }</code></pre> <h3>获取首页轮播图的所有url</h3> <p><strong>GET</strong> /course/courseurl(现在swagger上好像是carousel...)</p> <h3>获取首页视频信息</h3> <p><strong>GET</strong> /course/data</p> <p>返回类型:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "allRanks": { "rankMiniSchoolList": [], "rankMidSchoolList": [], "rankSmallSchoolList": [ { "vid": 1, "index": 1, "img": "default.jpg", "commentNum": 0, "viewNum": 0, "starNum": 1, "auth": "yzx1428", "create_time": 1619995077000, "src": "default.mp3", "title": "Cold教你学Flask" } ] }, "allVideos": { "videoMiniSchool": [ [], [] ], "videoSmallSchool": [ [ { "id": 1, "face": "default.jpg", "url": "default.mp3", "title": "Cold教你学Flask", "upload_time": 1619995077000, "play": 153 } ], [] ], "videoMidSchool": [ [], [] ] } } }</code></pre> <h3>获取视频分类</h3> <p><strong>GET</strong> /course/types</p> <p>返回类型:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": [ { "type_name": "小学", "type_key": "primary" }, { "type_name": "中学", "type_key": "junior" }, { "type_name": "启蒙", "type_key": "Kindergarten" } ] }</code></pre> <h3>视频文件上传</h3> <p><strong>POST</strong> /course/upload</p> <p>POST参数</p> <pre><code>{ "file":"视频文件" }</code></pre> <h1>通用</h1> <h3>发送邮件</h3> <p><strong>GET</strong></p> <p>/common/email</p> <p>POST参数</p> <pre><code>{ "email":"目标邮箱地址" }</code></pre> <h3>判断验证码是否正确</h3> <p><strong>POST</strong> /common/verify</p> <p>POST参数</p> <pre><code>{ "inputCode":"string" "correctCode":"string" }</code></pre> <h3>修改密码</h3> <p><strong>POST</strong> /common/reset</p> <p>POST参数</p> <pre><code>{ "newPassword":"string" "resetKey":"string" "email":"string" }</code></pre> <h3>判断邮箱是否已经被注册</h3> <p><strong>POST</strong> /common/email/exist</p> <p>POST参数</p> <pre><code>{ "email":"string" }</code></pre> <h1>接下来的管理员接口调用时都需要登录且登录账号有ADMIN权限才可以使用</h1> <p>错误码如下: 用户未登录 { &quot;code&quot;:206, &quot;message&quot;:&quot;用户未登录&quot;, &quot;data&quot;:null } 用户权限不足 { &quot;code&quot;:403, &quot;message&quot;:&quot;用户权限不足 }</p> <h1>管理员用户管理模块</h1> <h3>获取所有用户</h3> <p><strong>POST</strong> /admin/user/all?pageIndex=?&amp;pageSize=?</p> <p>POST参数</p> <pre><code>{ "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <p>返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "total": 20, "list": [ { "id": 28, "idToken": "Mjg=", "username": "dasdasd", "nickname": null, "email": "1595601643@qq.com", "avatar": "http://150.158.191.172:8081/image/null", "upload_num": 0, "mobile": "15280834650", "roles": [] }, { "id": 27, "idToken": "Mjc=", "username": "qiyijie", "nickname": "qiyijie", "email": "965200752@qq.com", "avatar": "http://150.158.191.172:8081/image/default.jpg", "upload_num": 0, "mobile": "13075899488", "roles": [ "USER", "ADMIN" ] }, { "id": 26, "idToken": "MjY=", "username": "lzk", "nickname": "Lin", "email": "1220627779@qq.com", "avatar": "http://150.158.191.172:8081/image/avatar.jpg", "upload_num": 0, "mobile": "暂无", "roles": [ "USER" ] }, { "id": 24, "idToken": "MjQ=", "username": "dsad", "nickname": null, "email": "1595601643@qq.com", "avatar": "http://150.158.191.172:8081/image/null", "upload_num": 0, "mobile": "15280834650", "roles": [] }, { "id": 23, "idToken": "MjM=", "username": "wuwukai", "nickname": null, "email": "lubenwei123@qq.com", "avatar": "http://150.158.191.172:8081/image/null", "upload_num": 0, "mobile": "13088888886", "roles": [] } ], "pageNum": 1, "pageSize": 5, "size": 5, "startRow": 1, "endRow": 5, "pages": 4, "prePage": 0, "nextPage": 2, "isFirstPage": true, "isLastPage": false, "hasPreviousPage": false, "hasNextPage": true, "navigatePages": 8, "navigatepageNums": [ 1, 2, 3, 4 ], "navigateFirstPage": 1, "navigateLastPage": 4 } }</code></pre> <h3>修改用户角色</h3> <p><strong>POST</strong></p> <p>/admin/user/{idToken}/role/{adminIdToken} 如/admin/user/NQ==/role/MQ==?role=ADMIN</p> <h3>添加用户</h3> <p><strong>POST</strong> /admin/user/add/{adminIdToken}</p> <p>POST参数</p> <pre><code>{ "username":"string" "password":"string" "mobile":"string" "email":"string" }</code></pre> <h3>审核志愿者</h3> <p><strong>GET</strong> /admin/user/{idToken}/certification/{adminIdToken}</p> <h3>查看志愿者申请信息</h3> <p><strong>GET</strong> /admin/user/applies?pageIndex=?&amp;pageSize=?</p> <p>返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "total": 1, "list": [ { "id": 2, "from_user": { "id": 8, "idToken": "OA==", "username": "panmou", "nickname": "panmou", "avatar": "http://150.158.191.172:8081/image/7a77a1ca56fe49f1b42c125983a25251.png", "age": 18, "gender": "暂无", "mobile": "暂无", "email": "1157928777@qq.com", "roles": [ "USER" ], "info": "暂无" }, "real_name": "潘大帅", "id_card": "350583200011298637", "prove": "http://150.158.191.172:8081/image/81d34ee930134cc6881e537d103b1b01.jpg" } ], "pageNum": 1, "pageSize": 5, "size": 1, "startRow": 1, "endRow": 1, "pages": 1, "prePage": 0, "nextPage": 0, "isFirstPage": true, "isLastPage": true, "hasPreviousPage": false, "hasNextPage": false, "navigatePages": 8, "navigatepageNums": [ 1 ], "navigateFirstPage": 1, "navigateLastPage": 1 } }</code></pre> <h1>管理员视频管理模块</h1> <h3>审核通过某个视频</h3> <p><strong>GET</strong> /admin/course/{id}/pass/{adminIdToken}</p> <h3>删除某个视频</h3> <p><strong>DELETE</strong> /admin/course/{id}/delete/{adminIdToken}</p> <h3>管理员查看所有视频</h3> <p><strong>POST</strong> /admin/course/all(?pageIndex=?&amp;pageSize=?) 此接口pageIndex和pageSize有默认值,如果不传入默认为1和10</p> <p>POST参数:</p> <pre><code>{ "query":"string", "typeKey":"string", "sort":"string" "status":""//用于按状态筛选视频,0为审核中,1为已通过 }</code></pre> <p>返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "title": "Cold教你学Flask", "upload_user_id": 1, "upload_user": "yzx1428", "course_status": 1, "face": "http://150.158.191.172:8081/image/default.jpg", "type": { "type_name": "小学", "type_key": "primary" }, "upload_time": 1619966277000, "upload_time_str": "2021-05-02 22:37:57.0" } ] }</code></pre> <h1>管理员讨论管理模块</h1> <h3>获取所有讨论详情</h3> <p><strong>POST</strong> /admin/discussion/all?pageIndex=?&amp;pageSize=?</p> <p>POST参数:</p> <pre><code>{ "query":"string" "sort":"string" "typeKey":"string" }</code></pre> <p>返回格式</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "currentPage": 1, "rows": [ { "id": 14, "title": "小开Lwx——冠军Ad亦有差距", "content": "众所周知,夏季赛开赛以来,ad位置上,韦鲁斯长期处于ban位,偶尔出来放放风,虽然胜率尴尬还是0%,但对于fpx而言,他们依然是不敢给jkl的,按例ban了。其次,月男作为夏季赛的常客,也是lwx拿手ad,fpx依然是害怕jkl拿到也ban了,在此之前,fpx很少ban月男的,甚至是对面来banfpx的月男,但两局游戏jpx毅然决然的ban下越南,对于ad位的差距,fpx的教练团队可能比观众的认知更加清晰。", "create_time": 1618422381000, "from_user": "yzx1428", "type": { "type_name": "生活", "type_key": "life" }, "view": 0, "commentNum": 0, "face": "http://150.158.191.172:8081/image/caa7e09bb4d64fb8b345b58b789d6432.png" },</code></pre> <h3>删除某个评论</h3> <p><strong>DELETE</strong> /admin/discussion/{id}/deleteComment</p> <h3>管理员删除讨论</h3> <p><strong>DELETE</strong> /admin/discussion/{idToken}/{did}/deleteDiscussion (did为讨论id)</p> <h1>管理员捐赠管理模块</h1> <h3>删除某个捐赠活动</h3> <p><strong>DELETE</strong> /admin/donate/{id}/delete/{idToken}</p> <h3>添加活动</h3> <p><strong>POST</strong> /admin/donate/add/{idToken}</p> <p>POST参数</p> <pre><code> { "content": "string", "dname": "string", "endtime": "string", "from_user_id": 0, "location": "string", "starttime": "string", "type": "string" //life生活用品,sport运动用品,other其他,book书籍 "face":"string" } </code></pre> <h3>根据条件获取捐赠活动</h3> <p><strong>POST</strong> /admin/donate/all?pageIndex=?&amp;pageSize=?</p> <p>POST参数</p> <pre><code>{ "dateResult": [ "string" ], "query": "string", "sort": "string", "typeKey": "string" }</code></pre> <p>返回</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "total": 54, "data": [ { "id": 54, "dname": "八宝小学生活用具捐赠计划", "content": "&lt;p style=\\\"text-indent:2em;\\\"&gt;该活动旨在帮助孩子改善生活水平,捐赠衣服等生活用具。&lt;/p&gt;", "from_user": "yzx1428", "start_time": 1617281125000, "end_time": 1621397939000, "location": "福建省福州市", "donate_total": 20, "donate_type": "其他", "status": "审核中", "face": "http://150.158.191.172:8081/image/default.jpg", "participantsNumber": 1, "start_time_str": "2021-04-01 20:45:25", "end_time_str": "2021-05-19 12:18:59", "mileStones": [] } }</code></pre> <h3>管理员审核通过捐赠活动</h3> <p><strong>POST</strong> /admin/donate/{id}/update/{idToken} idToken为该管理员的idToken</p> <h3>管理员添加捐赠活动上传捐赠活动封面</h3> <p><strong>POST</strong> /admin/donate/upload</p> <p>参数为file 返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "filename": "e16bf21ce687495793604c5e97bc70c3.jpg", "url": "http://150.158.191.172:8081/image/e16bf21ce687495793604c5e97bc70c3.jpg" } }</code></pre> <h1>认证错误相关</h1> <h3>未登录</h3> <p><strong>GET/POST/DELETE</strong> /autherror/unlogin</p> <p>返回</p> <pre><code>{ "code": 206, "message": "用户未登录", "data": null }</code></pre> <h3>权限不足</h3> <p><strong>GET/POST/DELETE</strong> /autherror/nopermission</p> <p>返回</p> <pre><code>{ "code": 403, "message": "用户权限不足", "data": null }</code></pre> <h1>全局搜索</h1> <p><strong>GET</strong> /search/global/?query=?&amp;sort=?&amp;typeKey=?&amp;itemType=?&amp;pageIndex=?&amp;pageSize=?</p> <h4>query即搜索内容不能为空</h4> <h4>sort默认为id,typeKey默认为all,pageIndex默认为1,pageSize默认为5</h4> <h4>itemType默认为video,可选的有video,post,donate分别用于查询课程、讨论、捐赠活动</h4> <p>返回: 示例url: /search/global/?query=Cold</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "total": 1, "list": [ { "id": 1, "title": "Cold教你学Flask", "face": "http://150.158.191.172:8081/image/default.jpg", "play": 153, "course_like": 1, "upload_time": 1619966277000, "upload_user": { "id": 1, "idToken": null, "username": "yzx1428", "nickname": "yzx", "avatar": "default.jpg", "age": 20, "gender": "男", "mobile": "15159961391", "email": "657075151@qq.com", "roles": [ "USER", "ADMIN" ], "info": "我是福州大学2018级的学生yzx,欢迎来到我的个人信息主页" }, "course_status": 1, "commentsNum": 0, "type": { "type_name": "小学", "type_key": "primary" }, "tag": null, "urlItems": [] } ], "pageNum": 1, "pageSize": 15, "size": 1, "startRow": 1, "endRow": 1, "pages": 1, "prePage": 0, "nextPage": 0, "isFirstPage": true, "isLastPage": true, "hasPreviousPage": false, "hasNextPage": false, "navigatePages": 8, "navigatepageNums": [ 1 ], "navigateFirstPage": 1, "navigateLastPage": 1 } }</code></pre> <p>示例url: /search/global?query=Cold&amp;itemType=post 返回:</p> <pre><code>{ "code": 200, "message": "操作成功", "data": { "total": 1, "list": [ { "id": 13, "title": "国人程序员Cold教你两分钟精通Flask", "content": "今天我们有幸请到了开发大佬cold前辈,分享其在开发和学习过程中的各种坑。并且cold前辈还向我们承诺,要在两分钟内教会我们如何用Flask实现一个跨国购物网站。那么到底什么是flask,为什么说flask“狗都不用”,和小编一起来看看吧!", "create_time": 1618421490000, "from_user": "yzx1428", "type": { "type_name": "学习", "type_key": "study" }, "view": 0, "commentNum": 0, "face": "talk_face.jpg" } ], "pageNum": 1, "pageSize": 15, "size": 1, "startRow": 1, "endRow": 1, "pages": 1, "prePage": 0, "nextPage": 0, "isFirstPage": true, "isLastPage": true, "hasPreviousPage": false, "hasNextPage": false, "navigatePages": 8, "navigatepageNums": [ 1 ], "navigateFirstPage": 1, "navigateLastPage": 1 } }</code></pre>

页面列表

ITEM_HTML