# papercheck **Repository Path**: zerosharp/papercheck ## Basic Information - **Project Name**: papercheck - **Description**: 基于SimHash算法的论文查重系统后端 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2021-06-23 - **Last Updated**: 2024-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 接口信息 ## 用户接口 ### 1.注册 路径:`/register` **是否需要token** 否 参数列表: | 参数名称 | 参数类型 | 参数说明 | | -------- | -------- | -------------------- | | username | String | 用户名 | | password | String | 密码 | | phone | String | 大陆手机号码(可选) | | email | String | 电子邮箱(可选) | 成功响应: ```json { "code": 200, "msg": "success", "data": { "result": true, "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiemVybyIsImFkbWluIjoiZmFsc2UiLCJpZCI6Ijg1NzU1MDExOTY0ODYyNDY0MCIsInZpcCI6ImZhbHNlIiwiZXhwIjoxNjI0NTA0NjgxfQ.3D2-ZsTL1WPe3nxmp1745lsyftUPNTBHwodT_71i1fo" } } ``` ### 2.登录 **接口地址** ``` /login ``` **是否需要token** 否 **参数列表** | 字段名 | 类型 | 说明 | | -------- | ------ | ------ | | username | String | 用户名 | | password | String | 密码 | ### 3.重置密码 **接口地址** ``` /resetPwd ``` **是否需要token** 是 **参数列表** | 字段名 | 类型 | 说明 | | ----------- | ------ | ------ | | oldPassword | String | 旧密码 | | newPassword | String | 新密码 | ## 管理员端接口 ### 1.管理员登录 **接口地址** ``` /admin/login ``` **是否需要token** 否 **参数列表** | 字段名 | 类型 | 说明 | | -------- | ------ | ------ | | username | String | 用户名 | | password | String | 密码 | **响应** ```json { "code": 200, "msg": "success", "data": { "result": true, "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiYWRtaW4iLCJhZG1pbiI6InRydWUiLCJpZCI6IjEzMDc4MTMyMDA1MjczNjAiLCJ2aXAiOiJ0cnVlIiwiZXhwIjoxNjI0OTcyMjg5fQ.UEbjl0-8rK3cULJnFZvpnqEqaCP3VIG2r9XUOZL4mDs" } } ``` ### 2.设置VIP **接口路径** ``` /admin/setVIP ``` **是否需要token** 是 **参数列表** | 字段名 | 类型 | 说明 | | ------ | ------- | --------------------------------- | | userId | String | 用户id | | vip | Boolean | 为true则设置vip,为false则取消vip | **响应** ```json { "code": 200, "msg": "success", "data": true } ``` ### 3.管理员查看用户列表 **接口路径** ``` /admin/users ``` **是否需要token** 是 **参数列表** | 字段名 | 类型 | 说明 | | ------ | ------- | -------------------- | | size | Integer | 一页的大小(可选) | | page | Integer | 要查询的页码(可选) | **响应** ```json { "code": 200, "msg": "success", "data": { "users": [ { "id": "1372684927631360", "username": "dafda", "phone": "13137415198", "isVip": false, "email": "fasdf@qq.com" }, { "id": "1370292593098752", "username": "dafaf", "phone": "", "isVip": false, "email": "" }, { "id": "1369189059133440", "username": "afdffdasfsa", "phone": "", "isVip": false, "email": "" }, { "id": "1369132809322496", "username": "afdf", "phone": "", "isVip": false, "email": "" }, { "id": "1370103446765568", "username": "adfsa", "phone": "", "isVip": false, "email": "" } ] } } ``` ## 文件接口 ### 1.单文件上传 **接口路径** ``` /uploadFile ``` **是否需要token** 是 **参数** | 参数名称 | 参数类型 | 参数说明 | | -------- | ------------- | -------------- | | file | MultipartFile | 上传的论文文档 | | username | String | 用户名 | **响应** 成功示例: ```json { "code": 200, "msg": "success", "data": { "fileName": "a.doc", "fileUri": "http://localhost:8848/download/%E7%A7%BB%E5%8A%A8%E5%B9%B3%E5%8F%B0%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E7%BB%93%E8%AF%BE%E5%A4%A7%E4%BD%9C%E4%B8%9A%E8%AE%BE%E8%AE%A1%E8%AF%B4%E6%98%8E%E4%B9%A6(1).doc", "fileType": "application/msword", "fileSize": 892564 } } ``` 访问 fileUri 可下载文件。 用户不存在返回示例: ```json { "code": 500, "msg": "can not find user: awfwef", "data": [] } ``` ### 2.多文件上传 **接口路径** ``` /uploadMultiFiles ``` **是否需要token** 是 **参数** | 参数名称 | 参数类型 | 参数说明 | | -------- | --------------- | ------------------ | | files | MultipartFile[] | 上传的论文文档数组 | | username | String | 用户名 | **响应** 成功示例: ```json { "code": 200, "msg": "success", "data": [ { "firstName": "a.doc", "similarity": 0.99, "secondName": "b.doc" } ] } ``` 部分字段说明: | 字段名 | 类型 | 说明 | | ---------- | ------ | ----------------------- | | similarity | Double | 两个文件的相似度(0-1) | | firstName | String | 文件1的名称 | | secondName | String | 文件2的名称 | 用户不存在返回示例: ```json { "code": 500, "msg": "can not find user: awfwef", "data": [] } ``` ## 历史记录接口 ### 1.历史列表 **接口路径:** ``` /queryHistory ``` **是否需要token** 是 **参数列表:** | 字段名 | 类型 | 说明 | | ------ | ------- | ------------------ | | size | Integer | 一页的大小(可选) | | page | Integer | 查询的页码(可选) | **响应:** ```json { "code": 200, "msg": "success", "data": { "histories": [ { "historyId": "1321512791441408", "fileName": "外出实习家长知情同意书.docx", "dateTime": "2021-06-29T15:31:07.533825" }, { "historyId": "1321102395572224", "fileName": "外出实习家长知情同意书.docx", "dateTime": "2021-06-29T15:29:29.252695" }, { "historyId": "1320847696461824", "fileName": "外出实习家长知情同意书.docx", "dateTime": "2021-06-29T15:28:29.333686" }, { "historyId": "1320209407279104", "fileName": "外出实习家长知情同意书.docx", "dateTime": "2021-06-29T15:26:01.297716" }, { "historyId": "1320181917810688", "fileName": "外出实习家长知情同意书.docx", "dateTime": "2021-06-29T15:25:50.450561" } ] } } ``` ### 2.历史详情 **接口路径** ``` /historyDetail ``` **是否需要token** 是 **参数列表:** | 字段名 | 类型 | 说明 | | --------- | ------ | ------------ | | historyId | String | 历史记录的id | **响应:** 比如查询id为 `1321512791441408` 的历史记录,其结果如下: ```json { "code": 200, "msg": "success", "data": [ { "fileName": "1320160921124864-外出实习家长知情同意书.docx", "similarity": 0.99 }, { "fileName": "1320205200392192-外出实习家长知情同意书.docx", "similarity": 0.99 }, { "fileName": "1320827421196288-外出实习家长知情同意书.docx", "similarity": 0.99 }, { "fileName": "1321078613868544-外出实习家长知情同意书.docx", "similarity": 0.99 } ] } ```