Browse Source

增加JApidocs配置

郭超 4 years ago
parent
commit
5921403b37
50 changed files with 24418 additions and 26 deletions
  1. 839 0
      logs/crowdsource-backend.log.2021-04-27.log
  2. 6 0
      logs/crowdsource-backend.log.2021-04-28.log
  3. 0 0
      logs/recommend.log.2021-04-28.log
  4. 5 0
      pom.xml
  5. 21 0
      src/main/java/edu/nju/BugApplication.java
  6. 78 19
      src/main/java/edu/nju/controller/ExtraController.java
  7. 1 1
      src/main/java/edu/nju/controller/OssController.java
  8. 22 6
      src/main/java/edu/nju/controller/RelationController.java
  9. 0 0
      src/main/resources/apidoc/V1.0/.cache.json
  10. 214 0
      src/main/resources/apidoc/V1.0/apidoc.log
  11. 0 0
      src/main/resources/apidoc/V1.0/apidoc.log.lck
  12. 1410 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_AnalyzeController.html
  13. 896 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_AnnotationController.html
  14. 885 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_CrowdsourcingToReviewController.html
  15. 1033 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_DataController.html
  16. 909 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_DeleteController.html
  17. 873 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ExportController.html
  18. 1458 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ExtraController.html
  19. 945 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_GraphController.html
  20. 993 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_HistoryController.html
  21. 933 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_NodeController.html
  22. 897 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_OAuthController.html
  23. 896 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_OssController.html
  24. 793 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_RecommendController.html
  25. 948 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_RelationController.html
  26. 981 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReportController.html
  27. 906 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewAnalyzeController.html
  28. 978 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewController.html
  29. 964 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewJobController.html
  30. 988 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewPaperController.html
  31. 966 0
      src/main/resources/apidoc/V1.0/edu_nju_controller_UploadController.html
  32. 884 0
      src/main/resources/apidoc/V1.0/index.html
  33. 51 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_AnalyzeController_getBugDataVO_BugDataVO.html
  34. 35 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_AnalyzeController_getHistoricalData_HistoricalDataVO.html
  35. 107 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_DataController_getBugDetailByCaseId_BugDetail.html
  36. 107 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_DataController_saveBugDetailFromFile_BugDetail.html
  37. 59 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_ExtraController_findPage_PageExamVO.html
  38. 37 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_OAuthController_getLoginUser_UserInfo.html
  39. 29 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_ReviewJobController_uploadJobByJson_MessageVO.html
  40. 29 0
      src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_ReviewPaperController_uploadReport_CrowdReviewReportVO.html
  41. 138 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_AnalyzeController_getBugDataVO_BugDataVO.html
  42. 66 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_AnalyzeController_getHistoricalData_HistoricalDataVO.html
  43. 390 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_DataController_getBugDetailByCaseId_BugDetail.html
  44. 390 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_DataController_saveBugDetailFromFile_BugDetail.html
  45. 128 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_ExtraController_findPage_PageExamVO.html
  46. 75 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_OAuthController_getLoginUser_UserInfo.html
  47. 39 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_ReviewJobController_uploadJobByJson_MessageVO.html
  48. 39 0
      src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_ReviewPaperController_uploadReport_CrowdReviewReportVO.html
  49. 300 0
      src/main/resources/apidoc/V1.0/style.css
  50. 677 0
      src/main/resources/apidoc/V1.0/众测服务-V1.0-api-docs.md

File diff suppressed because it is too large
+ 839 - 0
logs/crowdsource-backend.log.2021-04-27.log


File diff suppressed because it is too large
+ 6 - 0
logs/crowdsource-backend.log.2021-04-28.log


+ 0 - 0
logs/recommend.log.2021-04-28.log


+ 5 - 0
pom.xml

@@ -160,6 +160,11 @@
             <version>25.0-jre</version>
         </dependency>
 
+        <dependency>
+            <groupId>io.github.yedaxia</groupId>
+            <artifactId>japidocs</artifactId>
+            <version>1.4.4</version>
+        </dependency>
 
 
     </dependencies>

+ 21 - 0
src/main/java/edu/nju/BugApplication.java

@@ -1,5 +1,8 @@
 package edu.nju;
 
+import io.github.yedaxia.apidocs.Docs;
+import io.github.yedaxia.apidocs.DocsConfig;
+import io.github.yedaxia.apidocs.plugin.markdown.MarkdownDocPlugin;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@@ -7,6 +10,24 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 public class BugApplication {
 
     public static void main(String[] args) {
+        String relativelyPath = System.getProperty("user.dir");
+        System.out.println(relativelyPath);
+        // 1. 创建生成文档的配置
+        DocsConfig config= new DocsConfig();
+        // 项目根目录
+        config.setProjectPath(relativelyPath);
+        // 项目名称
+        config.setProjectName("众测服务");
+        // 声明该API的版本
+        config.setApiVersion("V1.0");
+        // 生成API 文档所在目录
+        config.setDocsPath(relativelyPath + "/src/main/resources/apidoc");
+        // 配置自动生成
+        config.setAutoGenerate(Boolean.TRUE);
+        // 使用 MD 插件,额外生成 MD 格式的接口文档
+        config.addPlugin(new MarkdownDocPlugin());
+        // 2. 执行生成 HTML 接口文档
+        Docs.buildHtmlDocs(config);
         SpringApplication.run(BugApplication.class, args);
     }
 

+ 78 - 19
src/main/java/edu/nju/controller/ExtraController.java

@@ -26,20 +26,36 @@ import java.io.FileOutputStream;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URLConnection;
-
+/**
+ * 上传用例报告相关接口/extra
+ */
 @Controller
 @RequestMapping(value = "/extra")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
 public class ExtraController {
 	@Autowired
 	ExtraService extraService;
-	
-	//上传测试报告
+
+	/**
+	 * 上传测试报告   /uploadReport
+	 * @param case_id   用例id
+	 * @param task_id   任务id
+	 * @param case_take_id  用例-任务id
+	 * @param worker_id 人员id
+	 * @param name  报告名称
+	 * @param device_model  设备品牌
+	 * @param device_brand  设备名称
+	 * @param device_os 操作系统
+	 * @param script_location
+	 * @param report_location
+	 * @param log_location
+	 * @param response
+	 */
 	@RequestMapping(value = "/uploadReport", method = RequestMethod.POST)
 	@ResponseBody
-	public void uploadReport(String case_id, String task_id, String case_take_id, String worker_id, String name, String device_model,
-			String device_brand, String device_os, String script_location, String report_location, 
-			String log_location, HttpServletResponse response) {
+	public void uploadReport(@RequestParam String case_id, @RequestParam String task_id, @RequestParam String case_take_id, @RequestParam String worker_id,
+	                         @RequestParam String name, @RequestParam String device_model, @RequestParam String device_brand, @RequestParam String device_os,
+	                         String script_location, String report_location, String log_location, HttpServletResponse response) {
 		try {
 			String id = extraService.saveReport(case_id, task_id, case_take_id, worker_id, name, device_model, device_brand, device_os, script_location, report_location, log_location);
 			PrintWriter out = response.getWriter();
@@ -54,7 +70,22 @@ public class ExtraController {
 		}
 	}
 
-	//上传测试报告
+	/**
+	 * 更新测试报告   /updateReport
+	 * @param report_id
+	 * @param case_id
+	 * @param task_id
+	 * @param case_take_id
+	 * @param worker_id
+	 * @param name
+	 * @param device_model
+	 * @param device_brand
+	 * @param device_os
+	 * @param script_location
+	 * @param report_location
+	 * @param log_location
+	 * @param response
+	 */
 	@RequestMapping(value = "/updateReport", method = RequestMethod.POST)
 	@ResponseBody
 	public void updateReport(String report_id, String case_id, String task_id, String case_take_id, String worker_id, String name, String device_model,
@@ -127,7 +158,11 @@ public class ExtraController {
 		}
 	}
 
-	//获取测试用例列表
+	/**
+	 * 获取测试用例列表 /getCaseList
+	 * @param report_id 报告id
+	 * @param response
+	 */
 	@RequestMapping(value = "/getCaseList")
 	@ResponseBody
 	public void getCaseList(String report_id, HttpServletResponse response) {
@@ -148,8 +183,13 @@ public class ExtraController {
 			e.printStackTrace();
 		}
 	}
-	
-	//获取测试Bug列表
+
+	/**
+	 * 获取测试Bug列表    /getBugList
+	 * @param report_id 报告id
+	 * @param case_take_id  用例-任务id
+	 * @param response
+	 */
 	@RequestMapping(value = "/getBugList")
 	@ResponseBody
 	public void getBugList(String report_id, String case_take_id, HttpServletResponse response) {
@@ -195,7 +235,7 @@ public class ExtraController {
 	public String uploadExam(@RequestParam("file") MultipartFile file, String file_name, String paper_type,
 							     String case_id, String test_type, String description, String app_name) {
 		try {
-			File dest = new File("/Users/hannatao/Downloads/" + file_name);
+			File dest = new File("/Users/guochao/Downloads/" + file_name);
 			if(!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); }
 			if(!file.isEmpty()) { file.transferTo(dest); }
 			String json = extraService.saveExam(case_id, dest.getPath(), app_name, paper_type, test_type, description);
@@ -224,7 +264,7 @@ public class ExtraController {
 								String case_id, String test_type, String description, String app_name) {
 		try {
 
-			File dest = new File("/Users/hannatao/Downloads/" + file_name);
+			File dest = new File("/Users/guochao/Downloads/" + file_name);
 			if(!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); }
 			//从oss下载文件
 			// 统一资源
@@ -277,7 +317,7 @@ public class ExtraController {
 //								String if_test_case,String if_bug) {
 //		try {
 //
-//			File dest = new File("/Users/hannatao/Downloads/" + file_name);
+//			File dest = new File("/Users/guochao/Downloads/" + file_name);
 //			if(!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); }
 //			//从oss下载文件
 //			// 统一资源
@@ -344,8 +384,12 @@ public class ExtraController {
 			e.printStackTrace();
 		}
 	}
-	
-	//获取题目信息
+
+	/**
+	 * 获取考试的操作类型信息
+	 * @param id    考试id
+	 * @param response
+	 */
 	@RequestMapping(value = "/getExam")
 	@ResponseBody
 	public void getExam(String id, HttpServletResponse response) {
@@ -366,8 +410,14 @@ public class ExtraController {
 			e.printStackTrace();
 		}
 	}
-	
-	//上传测试用例
+
+	/**
+	 * 上传测试用例   /uploadTestCase
+	 * @param report_id 报告id
+	 * @param if_execute    是否执行
+	 * @param if_bug    是否是bug
+	 * @param response
+	 */
 	@RequestMapping(value = "/uploadTestCase", method = RequestMethod.POST)
 	@ResponseBody
 	public void uploadTestCase(String report_id, String name, String front, String behind, 
@@ -410,8 +460,17 @@ public class ExtraController {
 			e.printStackTrace();
 		}
 	}
-	
-	//更新测试用例
+
+	/**
+	 * 更新测试用例   /updateTestCase
+	 * @param id    用例id
+	 * @param report_id 报告id
+	 * @param name  用例名称
+	 * @param front 前置条件
+	 * @param behind    测试步骤
+	 * @param description   预期结果
+	 * @param response
+	 */
 	@RequestMapping(value = "/updateTestCase", method = RequestMethod.POST)
 	@ResponseBody
 	public void updateTestCase(String id, String report_id, String name, String front, String behind, 

+ 1 - 1
src/main/java/edu/nju/controller/OssController.java

@@ -50,7 +50,7 @@ public class OssController {
     @RequestMapping(value = "/ossUpload", method = RequestMethod.POST)
     @ResponseBody
     public String ossUpload(@RequestParam("file") MultipartFile file, String path) {
-        File dest = new File("/Users/hannatao/Downloads" + path);
+        File dest = new File("/Users/guochao/Downloads" + path);
         if(!dest.getParentFile().exists()) { dest.getParentFile().mkdirs(); }
         try {
             if(!file.isEmpty()) { file.transferTo(dest); }

+ 22 - 6
src/main/java/edu/nju/controller/RelationController.java

@@ -17,12 +17,19 @@ import edu.nju.service.CTBService;
 @Controller
 @RequestMapping(value = "/relation")
 @CrossOrigin(origins = "*", maxAge = 3600, allowCredentials = "true")
+/**
+ * bug相关接口
+ */
 public class RelationController {
 	
 	@Autowired
 	CTBService ctbservice;
-	
-	//获取用例下的所有bug
+
+	/**
+	 * 获取用例下的所有bug  /CTB
+	 * @param useCase   用例id
+	 * @param response
+	 */
 	@RequestMapping(value = "/CTB")
 	@ResponseBody
 	public void getCTB(String useCase, HttpServletResponse response) {
@@ -35,8 +42,13 @@ public class RelationController {
 			e.printStackTrace();
 		}
 	}
-	
-	//删除单条bug
+
+	/**
+	 * 删除单条bug  /remove
+	 * @param useCase   用例id
+	 * @param bug_id    bug id
+	 * @param response
+	 */
 	@RequestMapping(value = "/remove")
 	@ResponseBody
 	public void removeCTB(String useCase, String bug_id, HttpServletResponse response) {
@@ -52,8 +64,12 @@ public class RelationController {
 			e.printStackTrace();
 		}
 	}
-	
-	//删除一个用例下的所有bug
+
+	/**
+	 * 删除一个用例下的所有bug    /removeAll
+	 * @param useCase   用例id
+	 * @param response
+	 */
 	@RequestMapping(value = "/removeAll")
 	@ResponseBody
 	public void removeCase(String useCase, HttpServletResponse response) {

File diff suppressed because it is too large
+ 0 - 0
src/main/resources/apidoc/V1.0/.cache.json


+ 214 - 0
src/main/resources/apidoc/V1.0/apidoc.log

@@ -0,0 +1,214 @@
+四月 28, 2021 11:54:27 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find java src paths:  [/Users/guochao/Desktop/project/crowdsource-backend/src/main/java/]
+四月 28, 2021 11:54:27 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: project type not set, try to figure out...
+四月 28, 2021 11:54:27 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start find controllers in path : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : DeleteController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ReviewJobController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ReviewAnalyzeController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ExtraController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : RecommendController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ExportController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : AnalyzeController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : AnnotationController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : DataController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ReviewController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : UploadController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : HistoryController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : GraphController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : RelationController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : OAuthController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : OssController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ReportController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : NodeController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : ReviewPaperController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: find controller file : CrowdsourcingToReviewController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : DeleteController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : DeleteController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ReviewJobController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ReviewJobController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ReviewAnalyzeController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ReviewAnalyzeController.java
+四月 28, 2021 11:54:28 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ExtraController.java
+四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ExtraController.java
+四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : RecommendController.java
+四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : RecommendController.java
+四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ExportController.java
+四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ExportController.java
+四月 28, 2021 11:54:29 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : AnalyzeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : AnalyzeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : AnnotationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : AnnotationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : DataController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : DataController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : UploadController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : UploadController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : HistoryController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : HistoryController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : GraphController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : GraphController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : RelationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : RelationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : OAuthController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : OAuthController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : OssController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : OssController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ReportController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ReportController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : NodeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : NodeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : ReviewPaperController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : ReviewPaperController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to parse controller file : CrowdsourcingToReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to parse controller file : CrowdsourcingToReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: generate api docs start...
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DeleteController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DeleteController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewJobController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewJobController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewAnalyzeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewAnalyzeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExtraController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExtraController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RecommendController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RecommendController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExportController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ExportController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnalyzeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnalyzeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnnotationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/AnnotationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DataController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/DataController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/UploadController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/UploadController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/HistoryController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/HistoryController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/GraphController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/GraphController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RelationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/RelationController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OAuthController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OAuthController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OssController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/OssController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReportController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReportController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/NodeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/NodeController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewPaperController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/ReviewPaperController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: start to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/CrowdsourcingToReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: success to generate docs for controller file : /Users/guochao/Desktop/project/crowdsource-backend/src/main/java/edu/nju/controller/CrowdsourcingToReviewController.java
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: generate index start !!!
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: generate index done !!!
+四月 28, 2021 11:54:30 上午 io.github.yedaxia.apidocs.LogUtils info
+信息: info: generate api docs done !!!

+ 0 - 0
src/main/resources/apidoc/V1.0/apidoc.log.lck


+ 1410 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_AnalyzeController.html

@@ -0,0 +1,1410 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>AnalyzeController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse in " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getValid"><a href="#">getValid </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/valid</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getValidByBugId"><a href="#">getValidByBugId </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/validByBugId</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getBugDataVO"><a href="#">getBugDataVO </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/bugData</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">[{
+	"bugId":"string",
+	"bugCategory":"string",
+	"severity":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"badNum":"int",
+	"reportId":"string",
+	"workerId":"string"
+}]</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_AnalyzeController_getBugDataVO_BugDataVO.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_AnalyzeController_getBugDataVO_BugDataVO.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getThums"><a href="#">getThums </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/thums</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getScores"><a href="#">47.99.140.117:9001/Bug/api/analyze/scores </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/scores</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>caseId - taskId,示例1632-2927</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getNewScores"><a href="#">47.99.140.117:9001/Bug/api/analyze/newScores </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/newScores</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>caseId - taskId,示例1632-2927</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getUsers"><a href="#">getUsers </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/users</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getUserss"><a href="#">getUserss </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/workers</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">long[]</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getGrade"><a href="#">getGrade </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/grade</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="saveGrade"><a href="#">saveGrade </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/save</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="saveSimiliarGrade"><a href="#">saveSimiliarGrade </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/saveSimiliar</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="saveGradeByWorker"><a href="#">saveGradeByWorker </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/saveByWorker</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getDetail"><a href="#">getDetail </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/bugDetail</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getAllGrades"><a href="#">getAllGrades </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/allGrades</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getDiff"><a href="#">getDiff </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/diff</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getUserPath"><a href="#">getUserPath </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/path</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getAfterSimilarBug"><a href="#">getAfterSimilarBug </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/afterSimilarBug</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseExam"><a href="#">analyseExam </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyseExam</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analysePeople"><a href="#">todo 引进 guvva 来做缓存 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analysePeople</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>caseId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>taskId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>workId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getAnalyseTaskToken"><a href="#">getAnalyseTaskToken </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyse/getTaskToken</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseTask"><a href="#">analyseTask </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyse/task</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseSinglePeople"><a href="#">todo 引进 guvva 来做缓存 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyse/people</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>workId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getHistoricalData"><a href="#">getHistoricalData </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/historicalData</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{
+	"reportNum":"int",
+	"scoreList":"double[] //各个报告的得分",
+	"totalScore":"double //报告总分",
+	"participateNum":"int //参加的和本次考试类型有关的众包测试次数",
+	"totalParticipateNum":"int //参加众包考试次数"
+}</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_AnalyzeController_getHistoricalData_HistoricalDataVO.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_AnalyzeController_getHistoricalData_HistoricalDataVO.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadTestReport"><a href="#">uploadTestReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/uploadTestReportToBlockChain</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseExam2"><a href="#">analyseExam2 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyseExam2</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analysePageCover"><a href="#">analysePageCover </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analysePageCover</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseBugInfo"><a href="#">analyseBugInfo </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyseBugInfo</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseBugInfoByToken"><a href="#">analyseBugInfoByToken </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyse/BugInfo</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseBugSubmitInfo"><a href="#">analyseBugSubmitInfo </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyseBugSubmitInfo</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="analyseBugSubmitInfoByToken"><a href="#">analyseBugSubmitInfoByToken </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/analyse/BugSubmitInfo</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="tokenToDetailUrl"><a href="#">根据token获取众测任务具体信息 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/tokenToDetail</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>token</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="detailToToken"><a href="#">根据众测信息获取对应token </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/detailToToken</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>examId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>caseId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>userId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>beginTime</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>endTime</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="crowdTestProgress"><a href="#">crowdTestProgress </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/analyze/progress</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">double{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 896 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_AnnotationController.html

@@ -0,0 +1,896 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>AnnotationController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse in " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="saveAnnotation"><a href="#">saveAnnotation </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/annotation/save</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getAnnotation"><a href="#">getAnnotation </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/annotation/get</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="deleteAnnotation"><a href="#">deleteAnnotation </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/annotation/delete</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 885 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_CrowdsourcingToReviewController.html

@@ -0,0 +1,885 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>CrowdsourcingToReviewController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse in " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getExamIdByJobId"><a href="#">getExamIdByJobId </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/crowdsourcingToReview/examId</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getJobIdByExamId"><a href="#">getJobIdByExamId </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/crowdsourcingToReview/jobId</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string[]</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 1033 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_DataController.html

@@ -0,0 +1,1033 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>DataController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse in " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getBugDetailByCaseId"><a href="#">根据caseId获取bug报告 </a></h2>
+    <p class="text-muted"><em>作者: JiaWei Xu</em></p>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/data/outputByCaseId</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>caseId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">[{
+	"id":"string //bug属性",
+	"bugCategory":"string",
+	"severity":"string",
+	"recurrent":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"title":"string",
+	"bugDescription":"string",
+	"imgUrl":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"goodWorkerId":"string[]",
+	"badNum":"int",
+	"badWorkerId":"string[]",
+	"testCaseId":"string //测试用例属性",
+	"testCaseName":"string",
+	"testCaseFront":"string",
+	"testCaseBehind":"string",
+	"testCaseDescription":"string",
+	"testCaseCreateTime":"string",
+	"reportId":"string //report属性",
+	"reportName":"string",
+	"reportCreateTime":"string",
+	"scriptLocation":"string",
+	"reportLocation":"string",
+	"logLocation":"string",
+	"deviceModel":"string",
+	"deviceBrand":"string",
+	"deviceOs":"string",
+	"workerId":"string //工人属性",
+	"caseAppName":"string //众测任务属性",
+	"casePaperType":"string",
+	"caseTestType":"string",
+	"caseDescription":"string",
+	"caseRequireDoc":"string",
+	"caseTakeId":"string //原系统中的case_take_id",
+	"originalCaseId":"string //与目前系统中的哪个case对应",
+	"cpSerialNum":"string //cp系统序列号"
+}]</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_DataController_getBugDetailByCaseId_BugDetail.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_DataController_getBugDetailByCaseId_BugDetail.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="saveBugDetailFromFile"><a href="#">bug数据导入 </a></h2>
+    <p class="text-muted"><em>作者: JiaWei Xu</em></p>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/data/inputFromFile</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>zipFile</td>
+                        <td>file</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>jsonFile</td>
+                        <td>file</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>originalCaseId</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>与目前系统哪个case对应</td>
+                    </tr>
+                    <tr>
+                        <td>cpSerialNum</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>来自哪个cp</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">[{
+	"id":"string //bug属性",
+	"bugCategory":"string",
+	"severity":"string",
+	"recurrent":"string",
+	"bugCreateTime":"string",
+	"bugPage":"string",
+	"title":"string",
+	"bugDescription":"string",
+	"imgUrl":"string",
+	"score":"int",
+	"parent":"string",
+	"children":"string[]",
+	"root":"string",
+	"goodNum":"int",
+	"goodWorkerId":"string[]",
+	"badNum":"int",
+	"badWorkerId":"string[]",
+	"testCaseId":"string //测试用例属性",
+	"testCaseName":"string",
+	"testCaseFront":"string",
+	"testCaseBehind":"string",
+	"testCaseDescription":"string",
+	"testCaseCreateTime":"string",
+	"reportId":"string //report属性",
+	"reportName":"string",
+	"reportCreateTime":"string",
+	"scriptLocation":"string",
+	"reportLocation":"string",
+	"logLocation":"string",
+	"deviceModel":"string",
+	"deviceBrand":"string",
+	"deviceOs":"string",
+	"workerId":"string //工人属性",
+	"caseAppName":"string //众测任务属性",
+	"casePaperType":"string",
+	"caseTestType":"string",
+	"caseDescription":"string",
+	"caseRequireDoc":"string",
+	"caseTakeId":"string //原系统中的case_take_id",
+	"originalCaseId":"string //与目前系统中的哪个case对应",
+	"cpSerialNum":"string //cp系统序列号"
+}]</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_DataController_saveBugDetailFromFile_BugDetail.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_DataController_saveBugDetailFromFile_BugDetail.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 909 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_DeleteController.html

@@ -0,0 +1,909 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>DeleteController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="deleteCase"><a href="#">deleteCase </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/delete/case</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="deleteOne"><a href="#">deleteOne </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/delete/one</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="deleteBug"><a href="#">deleteBug </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/delete/bug</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="update_case_take"><a href="#">update_case_take </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/delete/update</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 873 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ExportController.html

@@ -0,0 +1,873 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>ExportController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse in " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getValid"><a href="#">getValid </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/export/exportBug</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 1458 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ExtraController.html

@@ -0,0 +1,1458 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>额外接口/extra</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse in " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="uploadReport"><a href="#">上传测试报告   /uploadReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/uploadReport</code>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例id</td>
+                    </tr>
+                    <tr>
+                        <td>task_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>任务id</td>
+                    </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例-任务id</td>
+                    </tr>
+                    <tr>
+                        <td>worker_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>人员id</td>
+                    </tr>
+                    <tr>
+                        <td>name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>报告名称</td>
+                    </tr>
+                    <tr>
+                        <td>device_model</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>设备品牌</td>
+                    </tr>
+                    <tr>
+                        <td>device_brand</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>设备名称</td>
+                    </tr>
+                    <tr>
+                        <td>device_os</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>操作系统</td>
+                    </tr>
+                    <tr>
+                        <td>script_location</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>report_location</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>log_location</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="updateReport"><a href="#">更新测试报告   /updateReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/updateReport</code>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>case_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>task_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>worker_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>device_model</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>device_brand</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>device_os</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>script_location</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>report_location</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>log_location</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getReport"><a href="#">getReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getReport</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="findPage"><a href="#">findPage </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getPageVo</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{
+	"examId":"long",
+	"caseId":"long",
+	"examVO":{
+		"id":"long",
+		"caseId":"long",
+		"state":"int",
+		"caseTypeId":"int",
+		"beginTime":"date",
+		"endTime":"date"
+	},
+	"caseTypeId":"int //web:0 app:1",
+	"pageContent":"string"
+}</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_ExtraController_findPage_PageExamVO.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_ExtraController_findPage_PageExamVO.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="findByWorker"><a href="#">findByWorker </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/findByWorker</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getCaseList"><a href="#">获取测试用例列表 /getCaseList </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getCaseList</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>报告id</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getBugList"><a href="#">获取测试Bug列表    /getBugList </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getBugList</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>报告id</td>
+                    </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例-任务id</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadExam"><a href="#">47.99.140.117:9001/Bug/api/extra/uploadExam </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/uploadExam</code>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>file</td>
+                        <td>file</td>
+                        <td></td>
+                        <td>文件流</td>
+                    </tr>
+                    <tr>
+                        <td>case_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>测试目标id</td>
+                    </tr>
+                    <tr>
+                        <td>file_name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>上传excel的文件名</td>
+                    </tr>
+                    <tr>
+                        <td>paper_type</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>试卷类型,即试卷的显示矩阵</td>
+                    </tr>
+                    <tr>
+                        <td>test_type</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>测试分类,如工具</td>
+                    </tr>
+                    <tr>
+                        <td>description</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>测试说明</td>
+                    </tr>
+                    <tr>
+                        <td>app_name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>测试目标的名称</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadExamUrl"><a href="#"> </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/uploadExamUrl</code>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>file</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>文件oss的url</td>
+                    </tr>
+                    <tr>
+                        <td>file_name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>paper_type</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>case_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>test_type</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>description</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>app_name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getExamList"><a href="#">47.99.140.117:9001/Bug/api/extra/getExamList </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getExamList</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getExam"><a href="#">获取考试的操作类型信息 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getExam</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>考试id</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadTestCase"><a href="#">上传测试用例   /uploadTestCase </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/uploadTestCase</code>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>报告id</td>
+                    </tr>
+                    <tr>
+                        <td>if_execute</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>是否执行</td>
+                    </tr>
+                    <tr>
+                        <td>if_bug</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>是否是bug</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getTestCase"><a href="#">getTestCase </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getTestCase</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="updateTestCase"><a href="#">更新测试用例   /updateTestCase </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/updateTestCase</code>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例id</td>
+                    </tr>
+                    <tr>
+                        <td>report_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>报告id</td>
+                    </tr>
+                    <tr>
+                        <td>name</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例名称</td>
+                    </tr>
+                    <tr>
+                        <td>front</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>前置条件</td>
+                    </tr>
+                    <tr>
+                        <td>behind</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>测试步骤</td>
+                    </tr>
+                    <tr>
+                        <td>description</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>预期结果</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="updateTask"><a href="#">updateTask </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/updateTask</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getTask"><a href="#">getTask </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/getTask</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getTask"><a href="#">getTask </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/extra/reportsToReviewPaper</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 945 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_GraphController.html

@@ -0,0 +1,945 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>GraphController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse in " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="get_case_bug_valid"><a href="#">get_case_bug_valid </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/11</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="get_thums_total_valid"><a href="#">get_thums_total_valid </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/12</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="get_valid_thums"><a href="#">get_valid_thums </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/13</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="get_valid_fork"><a href="#">get_valid_fork </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/14</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="ThumsToScores"><a href="#">ThumsToScores </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/21</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="get_bug_fork"><a href="#">get_bug_fork </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/22</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="get_rec_fork_valid_thums"><a href="#">get_rec_fork_valid_thums </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/graph/31</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 993 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_HistoryController.html

@@ -0,0 +1,993 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>HistoryController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse in " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getHistory"><a href="#">getHistory </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getHistory</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getRoots"><a href="#">getRoots </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getRoots</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getTrees"><a href="#">getTrees </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getTrees</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getTreesStu"><a href="#">getTreesStu </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getTreesStu</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getSingle"><a href="#">getSingle </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getSingle</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getAll"><a href="#">getAll </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getAll</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getSingleStu"><a href="#">getSingleStu </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getSingleStu</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getPath"><a href="#">getPath </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getPath</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="fresh"><a href="#">fresh </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/fresh</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getSingleByCondition"><a href="#">getSingleByCondition </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/getSingleByCondition</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getBugByPage"><a href="#">getBugByPage </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/history/test</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 933 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_NodeController.html

@@ -0,0 +1,933 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>NodeController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse in " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="generateBasicNode"><a href="#">generateBasicNode </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/node/generateBasicNode</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="generateCatchNode"><a href="#">generateCatchNode </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/node/generateCatchNode</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getBasicNode"><a href="#">getBasicNode </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/node/getBasicNode</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadCatchNode"><a href="#">uploadCatchNode </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/node/uploadCatchNode</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadSingleCatchNode"><a href="#">uploadSingleCatchNode </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/node/uploadSingleCatchNode</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadSingleCatchNodes"><a href="#">uploadSingleCatchNodes </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/node/uploadSingleCatchNodes</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 897 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_OAuthController.html

@@ -0,0 +1,897 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>OAuthController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse in " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="auth"><a href="#">auth </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/auth</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getLoginUser"><a href="#">getLoginUser </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/auth/user</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{
+	"id":"long",
+	"email":"string",
+	"name":"string",
+	"mobile":"string",
+	"school":"string",
+	"open_id":"string"
+}</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_OAuthController_getLoginUser_UserInfo.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_OAuthController_getLoginUser_UserInfo.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 896 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_OssController.html

@@ -0,0 +1,896 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>OssController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse in " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getOssConf"><a href="#">getOssConf </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/oss/ossConf</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getFeatureConf"><a href="#">getFeatureConf </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/oss/featureConf</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="ossUpload"><a href="#">ossUpload </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/oss/ossUpload</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 793 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_RecommendController.html

@@ -0,0 +1,793 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>RecommendController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse in " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getList"><a href="#">每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/rec/getList</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>case_take_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getDetail"><a href="#">用户点击查看一个Bug的详细信息 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/rec/getDetail</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="recommend"><a href="#">用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口 </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/rec/recommend</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>type("category",</td>
+                        <td>FreeMarker template error (DEBUG mode; use RETHROW in production!):
+The following has evaluated to null or missing:
+==> paramNode.type  [in template "api-request-node.html.ftl" at line 41, column 31]
+
+----
+Tip: It's the step after the last dot that caused this error, not those before it.
+----
+Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
+----
+
+----
+FTL stack trace ("~" means nesting-related):
+	- Failed at: ${paramNode.type}  [in template "api-request-node.html.ftl" at line 41, column 29]
+	- Reached through: #include "api-request-node.html.ftl"  [in template "api-controller.html.ftl" at line 70, column 29]
+----
+
+Java stack trace (for programmers):
+----
+freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
+	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
+	at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:467)
+	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:389)
+	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:358)
+	at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
+	at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:372)
+	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
+	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
+	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
+	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
+	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
+	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:336)
+	at freemarker.core.Environment.visit(Environment.java:336)
+	at freemarker.core.Environment.visit(Environment.java:336)
+	at freemarker.core.Environment.include(Environment.java:2582)
+	at freemarker.core.Include.accept(Include.java:171)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:372)
+	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
+	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
+	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
+	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
+	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
+	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:336)
+	at freemarker.core.Environment.process(Environment.java:309)
+	at freemarker.template.Template.process(Template.java:384)
+	at io.github.yedaxia.apidocs.doc.HtmlControllerDocBuilder.buildDoc(HtmlControllerDocBuilder.java:53)
+	at io.github.yedaxia.apidocs.doc.AbsDocGenerator.generateControllersDocs(AbsDocGenerator.java:66)
+	at io.github.yedaxia.apidocs.doc.AbsDocGenerator.generateDocs(AbsDocGenerator.java:35)
+	at io.github.yedaxia.apidocs.Docs.buildHtmlDocs(Docs.java:30)
+	at edu.nju.BugApplication.main(BugApplication.java:30)

+ 948 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_RelationController.html

@@ -0,0 +1,948 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>RelationController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse in " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getCTB"><a href="#">获取用例下的所有bug  /CTB </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/relation/CTB</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>useCase</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例id</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="removeCTB"><a href="#">删除单条bug  /remove </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/relation/remove</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>useCase</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例id</td>
+                    </tr>
+                    <tr>
+                        <td>bug_id</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>bug id</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="removeCase"><a href="#">删除一个用例下的所有bug    /removeAll </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/relation/removeAll</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+        <p><strong>请求参数</strong> <span class="badge">application/x-www-form-urlencoded</span></p>
+        <table class="table table-bordered">
+            <tr>
+                <th>参数名</th>
+                <th>类型</th>
+                <th>必须</th>
+                <th>描述</th>
+            </tr>
+                    <tr>
+                        <td>useCase</td>
+                        <td>string</td>
+                        <td></td>
+                        <td>用例id</td>
+                    </tr>
+        </table>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 981 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReportController.html

@@ -0,0 +1,981 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>ReportController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse in " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getReport"><a href="#">getReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/report</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getReportReview"><a href="#">getReportReview </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/reportReview</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="ThumsRank"><a href="#">ThumsRank </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/ThumsRank</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="ForkRank"><a href="#">ForkRank </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/ForkRank</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="relations"><a href="#">relations </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/c</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="keyWords"><a href="#">keyWords </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/keyWords</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="charm"><a href="#">charm </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/charm</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="userRecord"><a href="#">userRecord </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/record</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="pageRec"><a href="#">pageRec </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/pageRec</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="bugRec"><a href="#">bugRec </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/report/bugRec</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 906 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewAnalyzeController.html

@@ -0,0 +1,906 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>ReviewAnalyzeController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse in " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="analyzeItem"><a href="#">analyzeItem </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/reviewAnalyze/analyzeItem</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getExcel"><a href="#">getExcel </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/reviewAnalyze/job/excel</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getJson"><a href="#">getJson </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/reviewAnalyze/job/json</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="crowdReviewGradeToCrowdTest"><a href="#">crowdReviewGradeToCrowdTest </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/reviewAnalyze/job/crowdReviewGradeToCrowdTest</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 978 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewController.html

@@ -0,0 +1,978 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>ReviewController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse in " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getReportListByWorkerJob"><a href="#">getReportListByWorkerJob </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getReportsByWorkerJob</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getItemsByReport"><a href="#">getItemsByReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getItemsByReport</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getAnswerByWorkerJobReportItem"><a href="#">getAnswerByWorkerJobReportItem </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getAnswerByWorkerJobReportItem</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="saveAnswer"><a href="#">saveAnswer </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/saveAnswer</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getWorkers"><a href="#">getWorkers </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getWorkersByJob</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getReportsByJob"><a href="#">getReportsByJob </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getReportsByJob</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getCorrectAnswerByReportItem"><a href="#">getCorrectAnswerByReportItem </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getCorrectAnswerByReportItemJob</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="updateCorrectAnswer"><a href="#">updateCorrectAnswer </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/saveCorrectAnswer</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getItemReportJobAnswers"><a href="#">getItemReportJobAnswers </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/getItemAnswers</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="setGrade"><a href="#">setGrade </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/review/setGrade</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 964 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewJobController.html

@@ -0,0 +1,964 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>ReviewJobController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse in " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="getJobById"><a href="#">getJobById </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/getJob</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getJobs"><a href="#">getJobs </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/getJobs</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadJob"><a href="#">uploadJob </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/uploadJob</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadJobByJson"><a href="#">uploadJobByJson </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/uploadJobByJson</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{
+	"status":"string",
+	"message":"string"
+}</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_ReviewJobController_uploadJobByJson_MessageVO.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_ReviewJobController_uploadJobByJson_MessageVO.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="updateJob"><a href="#">updateJob </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/updateJob</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="deleteJob"><a href="#">deleteJob </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/delJob</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getJobsByPaper"><a href="#">getJobsByPaper </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/getJobsByPaper</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getJobsByExamCase"><a href="#">getJobsByExamCase </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/job/getJobsByExamCase</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 988 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_ReviewPaperController.html

@@ -0,0 +1,988 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>ReviewPaperController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse in " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="uploadReport"><a href="#">uploadReport </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/uploadReport</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{
+	"status":"string",
+	"message":"string"
+}</pre>
+        <div class="form-group">
+            <a type="button" class="btn btn-sm btn-default" href="javaCodes/edu_nju_controller_ReviewPaperController_uploadReport_CrowdReviewReportVO.html"><i
+                        class="fa fa-android" aria-hidden="true"></i> Android Model</a>
+            <a type="button" class="btn btn-sm btn-default" href="iosCodes/edu_nju_controller_ReviewPaperController_uploadReport_CrowdReviewReportVO.html"><i class="fa fa-apple"
+                                                                                                 aria-hidden="true"></i>
+                iOS Model</a>
+        </div>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="uploadPaper"><a href="#">uploadPaper </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/uploadPaper</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getPaperJson"><a href="#">getPaperJson </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/getPaperJson</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getPaperById"><a href="#">getPaperById </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/getPaper</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getReportsByPaper"><a href="#">getReportsByPaper </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/getReportsByPaper</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getPapers"><a href="#">getPapers </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/getPapers</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="deletePaper"><a href="#">deletePaper </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/delPaper</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="updatePaper"><a href="#">updatePaper </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/updatePaper</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getPaperByWorker"><a href="#">getPaperByWorker </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/getPaperByWorker</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">string{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="getPaperAnswerJson"><a href="#">getPaperAnswerJson </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/paper/answer</code>
+        <span class="label label-default">GET</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 966 - 0
src/main/resources/apidoc/V1.0/edu_nju_controller_UploadController.html

@@ -0,0 +1,966 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>UploadController</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse in " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                            class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="action-list">
+                        <div class="action-item">
+<h2 id="submit"><a href="#">submit </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/submit</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="good"><a href="#">good </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/good</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="cancelGood"><a href="#">cancelGood </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/cancelGood</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="bad"><a href="#">bad </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/bad</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="cancelBad"><a href="#">cancelBad </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/cancelBad</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="repair"><a href="#">repair </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/repair</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="saveTitle"><a href="#">saveTitle </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/title</code>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="repairThums"><a href="#">repairThums </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/thums</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                        <div class="action-item">
+<h2 id="repairTime"><a href="#">repairTime </a></h2>
+<p><strong>请求URL</strong></p>
+<p>
+    <code>/upload/time</code>
+        <span class="label label-default">GET</span>
+        <span class="label label-default">POST</span>
+</p>
+    <p><strong>返回结果</strong></p>
+    <pre class="prettyprint lang-json">{}</pre>
+                        </div>
+                        <hr>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+            {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+            {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+            {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+            {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+            {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+            {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+            {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+            {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+            {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+            {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+            {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+            {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+            {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+            {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+            {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+            {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+            {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+            {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+            {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+            {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+            {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+            {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+            {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+            {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+            {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+            {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+            {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+            {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+            {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+            {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+            {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+            {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+            {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+            {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+            {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+            {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+            {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+            {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+            {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+            {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+            {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+            {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+            {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+            {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+            {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+            {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+            {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+            {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+            {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+            {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+            {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+            {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+            {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+            {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+            {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+            {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+            {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+            {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+            {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+            {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+            {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+            {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+            {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+            {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+            {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+            {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+            {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+            {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+            {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+            {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+            {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+            {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+            {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+            {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+            {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+            {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+            {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+            {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+            {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+            {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+            {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+            {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+            {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+            {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+            {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+            {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+            {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+            {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+            {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+            {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+            {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+            {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+            {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+            {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+            {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+            {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+            {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+            {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+            {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+            {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+            {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+            {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+            {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+            {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+            {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+            {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+            {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+            {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+            {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+            {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+            {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+            {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+            {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+            {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+            {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+            {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+            {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+            {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+            {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+            {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+            {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+            {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+            {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+            {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+            {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+            {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+            {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+            {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+            {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+            {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+            {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+            {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+            {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+            {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+            {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+            {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+            {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+            {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+            {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+            {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+            {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+            {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+            {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+            {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+            {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 884 - 0
src/main/resources/apidoc/V1.0/index.html

@@ -0,0 +1,884 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <title>众测服务API Documentation</title>
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+    <link rel="stylesheet" href="style.css">
+</head>
+<body onload="PR.prettyPrint()">
+<nav class="navbar">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" href="index.html">
+                众测服务
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                <li><a href="https://github.com/YeDaxia/JApiDocs" target="_blank">GitHub</a></li>
+                <li class="dropdown">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">V1.0<span class="caret"></span></a>
+                    <ul class="dropdown-menu">
+                    </ul>
+                </li>
+            </ul>
+        </div>
+    </div>
+</nav>
+<div class="book with-summary">
+    <div class="book-summary">
+<div class="search-box form-group">
+    <input type="text" class="form-control" id="inputSearch" placeholder="搜索接口">
+    <span class="glyphicon glyphicon-search form-control-feedback" aria-hidden="true"></span>
+</div>
+<div id="accordion" class="catalog">
+        <div class="panel">
+            <div id="heading0" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse0" aria-controls="collapse0">
+                <i class="glyphicon glyphicon-align-justify"></i> DeleteController
+            </div>
+            <div id="collapse0" class="collapse in " aria-labelledby="heading0">
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteCase">
+                        deleteCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteOne">
+                        deleteOne
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#deleteBug">
+                        deleteBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DeleteController.html#update_case_take">
+                        update_case_take
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading1" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse1" aria-controls="collapse1">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewJobController
+            </div>
+            <div id="collapse1" class="collapse " aria-labelledby="heading1">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobById">
+                        getJobById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobs">
+                        getJobs
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJob">
+                        uploadJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#uploadJobByJson">
+                        uploadJobByJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#updateJob">
+                        updateJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#deleteJob">
+                        deleteJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByPaper">
+                        getJobsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewJobController.html#getJobsByExamCase">
+                        getJobsByExamCase
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading2" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse2" aria-controls="collapse2">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewAnalyzeController
+            </div>
+            <div id="collapse2" class="collapse " aria-labelledby="heading2">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#analyzeItem">
+                        analyzeItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getExcel">
+                        getExcel
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#getJson">
+                        getJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest">
+                        crowdReviewGradeToCrowdTest
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading3" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse3" aria-controls="collapse3">
+                <i class="glyphicon glyphicon-align-justify"></i> 额外接口/extra
+            </div>
+            <div id="collapse3" class="collapse " aria-labelledby="heading3">
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadReport">
+                        上传测试报告   /uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateReport">
+                        更新测试报告   /updateReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findPage">
+                        findPage
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#findByWorker">
+                        findByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getCaseList">
+                        获取测试用例列表 /getCaseList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getBugList">
+                        获取测试Bug列表    /getBugList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExam">
+                        47.99.140.117:9001/Bug/api/extra/uploadExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadExamUrl">
+                        
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExamList">
+                        47.99.140.117:9001/Bug/api/extra/getExamList
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getExam">
+                        获取考试的操作类型信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#uploadTestCase">
+                        上传测试用例   /uploadTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTestCase">
+                        getTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTestCase">
+                        更新测试用例   /updateTestCase
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#updateTask">
+                        updateTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ExtraController.html#getTask">
+                        getTask
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading4" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse4" aria-controls="collapse4">
+                <i class="glyphicon glyphicon-align-justify"></i> RecommendController
+            </div>
+            <div id="collapse4" class="collapse " aria-labelledby="heading4">
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getList">
+                        每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getDetail">
+                        用户点击查看一个Bug的详细信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#recommend">
+                        用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#diversityRec">
+                        diversityRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#getTitle">
+                        getTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RecommendController.html#fork">
+                        fork
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading5" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse5" aria-controls="collapse5">
+                <i class="glyphicon glyphicon-align-justify"></i> ExportController
+            </div>
+            <div id="collapse5" class="collapse " aria-labelledby="heading5">
+                    <a class="catalog-item" href="edu_nju_controller_ExportController.html#getValid">
+                        getValid
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading6" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse6" aria-controls="collapse6">
+                <i class="glyphicon glyphicon-align-justify"></i> AnalyzeController
+            </div>
+            <div id="collapse6" class="collapse " aria-labelledby="heading6">
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValid">
+                        getValid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getValidByBugId">
+                        getValidByBugId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getBugDataVO">
+                        getBugDataVO
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getThums">
+                        getThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getScores">
+                        47.99.140.117:9001/Bug/api/analyze/scores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getNewScores">
+                        47.99.140.117:9001/Bug/api/analyze/newScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUsers">
+                        getUsers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserss">
+                        getUserss
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getGrade">
+                        getGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGrade">
+                        saveGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveSimiliarGrade">
+                        saveSimiliarGrade
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#saveGradeByWorker">
+                        saveGradeByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDetail">
+                        getDetail
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAllGrades">
+                        getAllGrades
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getDiff">
+                        getDiff
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getUserPath">
+                        getUserPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAfterSimilarBug">
+                        getAfterSimilarBug
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam">
+                        analyseExam
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken">
+                        getAnalyseTaskToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseTask">
+                        analyseTask
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseSinglePeople">
+                        todo 引进 guvva 来做缓存
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#getHistoricalData">
+                        getHistoricalData
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#uploadTestReport">
+                        uploadTestReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseExam2">
+                        analyseExam2
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analysePageCover">
+                        analysePageCover
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfo">
+                        analyseBugInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken">
+                        analyseBugInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo">
+                        analyseBugSubmitInfo
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken">
+                        analyseBugSubmitInfoByToken
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#tokenToDetailUrl">
+                        根据token获取众测任务具体信息
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#detailToToken">
+                        根据众测信息获取对应token
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnalyzeController.html#crowdTestProgress">
+                        crowdTestProgress
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading7" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse7" aria-controls="collapse7">
+                <i class="glyphicon glyphicon-align-justify"></i> AnnotationController
+            </div>
+            <div id="collapse7" class="collapse " aria-labelledby="heading7">
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#saveAnnotation">
+                        saveAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#getAnnotation">
+                        getAnnotation
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_AnnotationController.html#deleteAnnotation">
+                        deleteAnnotation
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading8" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse8" aria-controls="collapse8">
+                <i class="glyphicon glyphicon-align-justify"></i> DataController
+            </div>
+            <div id="collapse8" class="collapse " aria-labelledby="heading8">
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#getBugDetailByCaseId">
+                        根据caseId获取bug报告
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_DataController.html#saveBugDetailFromFile">
+                        bug数据导入
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading9" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse9" aria-controls="collapse9">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewController
+            </div>
+            <div id="collapse9" class="collapse " aria-labelledby="heading9">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportListByWorkerJob">
+                        getReportListByWorkerJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemsByReport">
+                        getItemsByReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem">
+                        getAnswerByWorkerJobReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#saveAnswer">
+                        saveAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getWorkers">
+                        getWorkers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getReportsByJob">
+                        getReportsByJob
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem">
+                        getCorrectAnswerByReportItem
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#updateCorrectAnswer">
+                        updateCorrectAnswer
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#getItemReportJobAnswers">
+                        getItemReportJobAnswers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewController.html#setGrade">
+                        setGrade
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading10" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse10" aria-controls="collapse10">
+                <i class="glyphicon glyphicon-align-justify"></i> UploadController
+            </div>
+            <div id="collapse10" class="collapse " aria-labelledby="heading10">
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#submit">
+                        submit
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#good">
+                        good
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelGood">
+                        cancelGood
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#bad">
+                        bad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#cancelBad">
+                        cancelBad
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repair">
+                        repair
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#saveTitle">
+                        saveTitle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairThums">
+                        repairThums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_UploadController.html#repairTime">
+                        repairTime
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading11" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse11" aria-controls="collapse11">
+                <i class="glyphicon glyphicon-align-justify"></i> HistoryController
+            </div>
+            <div id="collapse11" class="collapse " aria-labelledby="heading11">
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getHistory">
+                        getHistory
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getRoots">
+                        getRoots
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTrees">
+                        getTrees
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getTreesStu">
+                        getTreesStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingle">
+                        getSingle
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getAll">
+                        getAll
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleStu">
+                        getSingleStu
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getPath">
+                        getPath
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#fresh">
+                        fresh
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getSingleByCondition">
+                        getSingleByCondition
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_HistoryController.html#getBugByPage">
+                        getBugByPage
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading12" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse12" aria-controls="collapse12">
+                <i class="glyphicon glyphicon-align-justify"></i> GraphController
+            </div>
+            <div id="collapse12" class="collapse " aria-labelledby="heading12">
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_case_bug_valid">
+                        get_case_bug_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_thums_total_valid">
+                        get_thums_total_valid
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_thums">
+                        get_valid_thums
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_valid_fork">
+                        get_valid_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#ThumsToScores">
+                        ThumsToScores
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_bug_fork">
+                        get_bug_fork
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_GraphController.html#get_rec_fork_valid_thums">
+                        get_rec_fork_valid_thums
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading13" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse13" aria-controls="collapse13">
+                <i class="glyphicon glyphicon-align-justify"></i> RelationController
+            </div>
+            <div id="collapse13" class="collapse " aria-labelledby="heading13">
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#getCTB">
+                        获取用例下的所有bug  /CTB
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCTB">
+                        删除单条bug  /remove
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_RelationController.html#removeCase">
+                        删除一个用例下的所有bug    /removeAll
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading14" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse14" aria-controls="collapse14">
+                <i class="glyphicon glyphicon-align-justify"></i> OAuthController
+            </div>
+            <div id="collapse14" class="collapse " aria-labelledby="heading14">
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#auth">
+                        auth
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OAuthController.html#getLoginUser">
+                        getLoginUser
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading15" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse15" aria-controls="collapse15">
+                <i class="glyphicon glyphicon-align-justify"></i> OssController
+            </div>
+            <div id="collapse15" class="collapse " aria-labelledby="heading15">
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getOssConf">
+                        getOssConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#getFeatureConf">
+                        getFeatureConf
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_OssController.html#ossUpload">
+                        ossUpload
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading16" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse16" aria-controls="collapse16">
+                <i class="glyphicon glyphicon-align-justify"></i> ReportController
+            </div>
+            <div id="collapse16" class="collapse " aria-labelledby="heading16">
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReport">
+                        getReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#getReportReview">
+                        getReportReview
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ThumsRank">
+                        ThumsRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#ForkRank">
+                        ForkRank
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#relations">
+                        relations
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#keyWords">
+                        keyWords
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#charm">
+                        charm
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#userRecord">
+                        userRecord
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#pageRec">
+                        pageRec
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReportController.html#bugRec">
+                        bugRec
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading17" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse17" aria-controls="collapse17">
+                <i class="glyphicon glyphicon-align-justify"></i> NodeController
+            </div>
+            <div id="collapse17" class="collapse " aria-labelledby="heading17">
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateBasicNode">
+                        generateBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#generateCatchNode">
+                        generateCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#getBasicNode">
+                        getBasicNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadCatchNode">
+                        uploadCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNode">
+                        uploadSingleCatchNode
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_NodeController.html#uploadSingleCatchNodes">
+                        uploadSingleCatchNodes
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading18" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse18" aria-controls="collapse18">
+                <i class="glyphicon glyphicon-align-justify"></i> ReviewPaperController
+            </div>
+            <div id="collapse18" class="collapse " aria-labelledby="heading18">
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadReport">
+                        uploadReport
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#uploadPaper">
+                        uploadPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperJson">
+                        getPaperJson
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperById">
+                        getPaperById
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getReportsByPaper">
+                        getReportsByPaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPapers">
+                        getPapers
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#deletePaper">
+                        deletePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#updatePaper">
+                        updatePaper
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperByWorker">
+                        getPaperByWorker
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson">
+                        getPaperAnswerJson
+                    </a>
+            </div>
+        </div>
+        <div class="panel">
+            <div id="heading19" data-parent="#accordion" class="catalog-title" data-toggle="collapse"
+                 aria-expanded="true" data-target="#collapse19" aria-controls="collapse19">
+                <i class="glyphicon glyphicon-align-justify"></i> CrowdsourcingToReviewController
+            </div>
+            <div id="collapse19" class="collapse " aria-labelledby="heading19">
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId">
+                        getExamIdByJobId
+                    </a>
+                    <a class="catalog-item" href="edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId">
+                        getJobIdByExamId
+                    </a>
+            </div>
+        </div>
+</div>    </div>
+    <div class="book-body">
+        <div class="body-inner">
+            <div class="book-header">
+                <div class="d-flex justify-content-between">
+                    <a class="header-menu toggle-catalog" href="javascript:void(0)"><i
+                                class="glyphicon glyphicon-align-justify"></i> 目录</a>
+                </div>
+            </div>
+            <div class="page-wrapper">
+                <div class="page-inner">
+                    <div class="main-content">
+                        <img src="http://static.nowait.xin/pic/japidocs-logo.png" width="200" height="200">
+                        <h4 style="margin: 20px">本文档由JApiDocs生成</h4>
+                        <div class="list-group" style="min-width: 200px">
+                                <a href="edu_nju_controller_DeleteController.html" class="list-group-item">DeleteController</a>
+                                <a href="edu_nju_controller_ReviewJobController.html" class="list-group-item">ReviewJobController</a>
+                                <a href="edu_nju_controller_ReviewAnalyzeController.html" class="list-group-item">ReviewAnalyzeController</a>
+                                <a href="edu_nju_controller_ExtraController.html" class="list-group-item">额外接口/extra</a>
+                                <a href="edu_nju_controller_RecommendController.html" class="list-group-item">RecommendController</a>
+                                <a href="edu_nju_controller_ExportController.html" class="list-group-item">ExportController</a>
+                                <a href="edu_nju_controller_AnalyzeController.html" class="list-group-item">AnalyzeController</a>
+                                <a href="edu_nju_controller_AnnotationController.html" class="list-group-item">AnnotationController</a>
+                                <a href="edu_nju_controller_DataController.html" class="list-group-item">DataController</a>
+                                <a href="edu_nju_controller_ReviewController.html" class="list-group-item">ReviewController</a>
+                                <a href="edu_nju_controller_UploadController.html" class="list-group-item">UploadController</a>
+                                <a href="edu_nju_controller_HistoryController.html" class="list-group-item">HistoryController</a>
+                                <a href="edu_nju_controller_GraphController.html" class="list-group-item">GraphController</a>
+                                <a href="edu_nju_controller_RelationController.html" class="list-group-item">RelationController</a>
+                                <a href="edu_nju_controller_OAuthController.html" class="list-group-item">OAuthController</a>
+                                <a href="edu_nju_controller_OssController.html" class="list-group-item">OssController</a>
+                                <a href="edu_nju_controller_ReportController.html" class="list-group-item">ReportController</a>
+                                <a href="edu_nju_controller_NodeController.html" class="list-group-item">NodeController</a>
+                                <a href="edu_nju_controller_ReviewPaperController.html" class="list-group-item">ReviewPaperController</a>
+                                <a href="edu_nju_controller_CrowdsourcingToReviewController.html" class="list-group-item">CrowdsourcingToReviewController</a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
+<script src="https://cdn.jsdelivr.net/autocomplete.js/0/autocomplete.jquery.min.js"></script>
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+<script>
+
+    var search_source_data = [
+        {name: 'DeleteController.deleteCase', url: 'edu_nju_controller_DeleteController.html#deleteCase'},
+        {name: 'DeleteController.deleteOne', url: 'edu_nju_controller_DeleteController.html#deleteOne'},
+        {name: 'DeleteController.deleteBug', url: 'edu_nju_controller_DeleteController.html#deleteBug'},
+        {name: 'DeleteController.update_case_take', url: 'edu_nju_controller_DeleteController.html#update_case_take'},
+        {name: 'ReviewJobController.getJobById', url: 'edu_nju_controller_ReviewJobController.html#getJobById'},
+        {name: 'ReviewJobController.getJobs', url: 'edu_nju_controller_ReviewJobController.html#getJobs'},
+        {name: 'ReviewJobController.uploadJob', url: 'edu_nju_controller_ReviewJobController.html#uploadJob'},
+        {name: 'ReviewJobController.uploadJobByJson', url: 'edu_nju_controller_ReviewJobController.html#uploadJobByJson'},
+        {name: 'ReviewJobController.updateJob', url: 'edu_nju_controller_ReviewJobController.html#updateJob'},
+        {name: 'ReviewJobController.deleteJob', url: 'edu_nju_controller_ReviewJobController.html#deleteJob'},
+        {name: 'ReviewJobController.getJobsByPaper', url: 'edu_nju_controller_ReviewJobController.html#getJobsByPaper'},
+        {name: 'ReviewJobController.getJobsByExamCase', url: 'edu_nju_controller_ReviewJobController.html#getJobsByExamCase'},
+        {name: 'ReviewAnalyzeController.analyzeItem', url: 'edu_nju_controller_ReviewAnalyzeController.html#analyzeItem'},
+        {name: 'ReviewAnalyzeController.getExcel', url: 'edu_nju_controller_ReviewAnalyzeController.html#getExcel'},
+        {name: 'ReviewAnalyzeController.getJson', url: 'edu_nju_controller_ReviewAnalyzeController.html#getJson'},
+        {name: 'ReviewAnalyzeController.crowdReviewGradeToCrowdTest', url: 'edu_nju_controller_ReviewAnalyzeController.html#crowdReviewGradeToCrowdTest'},
+        {name: '额外接口/extra.上传测试报告   /uploadReport', url: 'edu_nju_controller_ExtraController.html#uploadReport'},
+        {name: '额外接口/extra.更新测试报告   /updateReport', url: 'edu_nju_controller_ExtraController.html#updateReport'},
+        {name: '额外接口/extra.getReport', url: 'edu_nju_controller_ExtraController.html#getReport'},
+        {name: '额外接口/extra.findPage', url: 'edu_nju_controller_ExtraController.html#findPage'},
+        {name: '额外接口/extra.findByWorker', url: 'edu_nju_controller_ExtraController.html#findByWorker'},
+        {name: '额外接口/extra.获取测试用例列表 /getCaseList', url: 'edu_nju_controller_ExtraController.html#getCaseList'},
+        {name: '额外接口/extra.获取测试Bug列表    /getBugList', url: 'edu_nju_controller_ExtraController.html#getBugList'},
+        {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/uploadExam', url: 'edu_nju_controller_ExtraController.html#uploadExam'},
+        {name: '额外接口/extra.', url: 'edu_nju_controller_ExtraController.html#uploadExamUrl'},
+        {name: '额外接口/extra.47.99.140.117:9001/Bug/api/extra/getExamList', url: 'edu_nju_controller_ExtraController.html#getExamList'},
+        {name: '额外接口/extra.获取考试的操作类型信息', url: 'edu_nju_controller_ExtraController.html#getExam'},
+        {name: '额外接口/extra.上传测试用例   /uploadTestCase', url: 'edu_nju_controller_ExtraController.html#uploadTestCase'},
+        {name: '额外接口/extra.getTestCase', url: 'edu_nju_controller_ExtraController.html#getTestCase'},
+        {name: '额外接口/extra.更新测试用例   /updateTestCase', url: 'edu_nju_controller_ExtraController.html#updateTestCase'},
+        {name: '额外接口/extra.updateTask', url: 'edu_nju_controller_ExtraController.html#updateTask'},
+        {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+        {name: '额外接口/extra.getTask', url: 'edu_nju_controller_ExtraController.html#getTask'},
+        {name: 'RecommendController.每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作', url: 'edu_nju_controller_RecommendController.html#getList'},
+        {name: 'RecommendController.用户点击查看一个Bug的详细信息', url: 'edu_nju_controller_RecommendController.html#getDetail'},
+        {name: 'RecommendController.用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口', url: 'edu_nju_controller_RecommendController.html#recommend'},
+        {name: 'RecommendController.diversityRec', url: 'edu_nju_controller_RecommendController.html#diversityRec'},
+        {name: 'RecommendController.getTitle', url: 'edu_nju_controller_RecommendController.html#getTitle'},
+        {name: 'RecommendController.fork', url: 'edu_nju_controller_RecommendController.html#fork'},
+        {name: 'ExportController.getValid', url: 'edu_nju_controller_ExportController.html#getValid'},
+        {name: 'AnalyzeController.getValid', url: 'edu_nju_controller_AnalyzeController.html#getValid'},
+        {name: 'AnalyzeController.getValidByBugId', url: 'edu_nju_controller_AnalyzeController.html#getValidByBugId'},
+        {name: 'AnalyzeController.getBugDataVO', url: 'edu_nju_controller_AnalyzeController.html#getBugDataVO'},
+        {name: 'AnalyzeController.getThums', url: 'edu_nju_controller_AnalyzeController.html#getThums'},
+        {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/scores', url: 'edu_nju_controller_AnalyzeController.html#getScores'},
+        {name: 'AnalyzeController.47.99.140.117:9001/Bug/api/analyze/newScores', url: 'edu_nju_controller_AnalyzeController.html#getNewScores'},
+        {name: 'AnalyzeController.getUsers', url: 'edu_nju_controller_AnalyzeController.html#getUsers'},
+        {name: 'AnalyzeController.getUserss', url: 'edu_nju_controller_AnalyzeController.html#getUserss'},
+        {name: 'AnalyzeController.getGrade', url: 'edu_nju_controller_AnalyzeController.html#getGrade'},
+        {name: 'AnalyzeController.saveGrade', url: 'edu_nju_controller_AnalyzeController.html#saveGrade'},
+        {name: 'AnalyzeController.saveSimiliarGrade', url: 'edu_nju_controller_AnalyzeController.html#saveSimiliarGrade'},
+        {name: 'AnalyzeController.saveGradeByWorker', url: 'edu_nju_controller_AnalyzeController.html#saveGradeByWorker'},
+        {name: 'AnalyzeController.getDetail', url: 'edu_nju_controller_AnalyzeController.html#getDetail'},
+        {name: 'AnalyzeController.getAllGrades', url: 'edu_nju_controller_AnalyzeController.html#getAllGrades'},
+        {name: 'AnalyzeController.getDiff', url: 'edu_nju_controller_AnalyzeController.html#getDiff'},
+        {name: 'AnalyzeController.getUserPath', url: 'edu_nju_controller_AnalyzeController.html#getUserPath'},
+        {name: 'AnalyzeController.getAfterSimilarBug', url: 'edu_nju_controller_AnalyzeController.html#getAfterSimilarBug'},
+        {name: 'AnalyzeController.analyseExam', url: 'edu_nju_controller_AnalyzeController.html#analyseExam'},
+        {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analysePeople'},
+        {name: 'AnalyzeController.getAnalyseTaskToken', url: 'edu_nju_controller_AnalyzeController.html#getAnalyseTaskToken'},
+        {name: 'AnalyzeController.analyseTask', url: 'edu_nju_controller_AnalyzeController.html#analyseTask'},
+        {name: 'AnalyzeController.todo 引进 guvva 来做缓存', url: 'edu_nju_controller_AnalyzeController.html#analyseSinglePeople'},
+        {name: 'AnalyzeController.getHistoricalData', url: 'edu_nju_controller_AnalyzeController.html#getHistoricalData'},
+        {name: 'AnalyzeController.uploadTestReport', url: 'edu_nju_controller_AnalyzeController.html#uploadTestReport'},
+        {name: 'AnalyzeController.analyseExam2', url: 'edu_nju_controller_AnalyzeController.html#analyseExam2'},
+        {name: 'AnalyzeController.analysePageCover', url: 'edu_nju_controller_AnalyzeController.html#analysePageCover'},
+        {name: 'AnalyzeController.analyseBugInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfo'},
+        {name: 'AnalyzeController.analyseBugInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugInfoByToken'},
+        {name: 'AnalyzeController.analyseBugSubmitInfo', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfo'},
+        {name: 'AnalyzeController.analyseBugSubmitInfoByToken', url: 'edu_nju_controller_AnalyzeController.html#analyseBugSubmitInfoByToken'},
+        {name: 'AnalyzeController.根据token获取众测任务具体信息', url: 'edu_nju_controller_AnalyzeController.html#tokenToDetailUrl'},
+        {name: 'AnalyzeController.根据众测信息获取对应token', url: 'edu_nju_controller_AnalyzeController.html#detailToToken'},
+        {name: 'AnalyzeController.crowdTestProgress', url: 'edu_nju_controller_AnalyzeController.html#crowdTestProgress'},
+        {name: 'AnnotationController.saveAnnotation', url: 'edu_nju_controller_AnnotationController.html#saveAnnotation'},
+        {name: 'AnnotationController.getAnnotation', url: 'edu_nju_controller_AnnotationController.html#getAnnotation'},
+        {name: 'AnnotationController.deleteAnnotation', url: 'edu_nju_controller_AnnotationController.html#deleteAnnotation'},
+        {name: 'DataController.根据caseId获取bug报告', url: 'edu_nju_controller_DataController.html#getBugDetailByCaseId'},
+        {name: 'DataController.bug数据导入', url: 'edu_nju_controller_DataController.html#saveBugDetailFromFile'},
+        {name: 'ReviewController.getReportListByWorkerJob', url: 'edu_nju_controller_ReviewController.html#getReportListByWorkerJob'},
+        {name: 'ReviewController.getItemsByReport', url: 'edu_nju_controller_ReviewController.html#getItemsByReport'},
+        {name: 'ReviewController.getAnswerByWorkerJobReportItem', url: 'edu_nju_controller_ReviewController.html#getAnswerByWorkerJobReportItem'},
+        {name: 'ReviewController.saveAnswer', url: 'edu_nju_controller_ReviewController.html#saveAnswer'},
+        {name: 'ReviewController.getWorkers', url: 'edu_nju_controller_ReviewController.html#getWorkers'},
+        {name: 'ReviewController.getReportsByJob', url: 'edu_nju_controller_ReviewController.html#getReportsByJob'},
+        {name: 'ReviewController.getCorrectAnswerByReportItem', url: 'edu_nju_controller_ReviewController.html#getCorrectAnswerByReportItem'},
+        {name: 'ReviewController.updateCorrectAnswer', url: 'edu_nju_controller_ReviewController.html#updateCorrectAnswer'},
+        {name: 'ReviewController.getItemReportJobAnswers', url: 'edu_nju_controller_ReviewController.html#getItemReportJobAnswers'},
+        {name: 'ReviewController.setGrade', url: 'edu_nju_controller_ReviewController.html#setGrade'},
+        {name: 'UploadController.submit', url: 'edu_nju_controller_UploadController.html#submit'},
+        {name: 'UploadController.good', url: 'edu_nju_controller_UploadController.html#good'},
+        {name: 'UploadController.cancelGood', url: 'edu_nju_controller_UploadController.html#cancelGood'},
+        {name: 'UploadController.bad', url: 'edu_nju_controller_UploadController.html#bad'},
+        {name: 'UploadController.cancelBad', url: 'edu_nju_controller_UploadController.html#cancelBad'},
+        {name: 'UploadController.repair', url: 'edu_nju_controller_UploadController.html#repair'},
+        {name: 'UploadController.saveTitle', url: 'edu_nju_controller_UploadController.html#saveTitle'},
+        {name: 'UploadController.repairThums', url: 'edu_nju_controller_UploadController.html#repairThums'},
+        {name: 'UploadController.repairTime', url: 'edu_nju_controller_UploadController.html#repairTime'},
+        {name: 'HistoryController.getHistory', url: 'edu_nju_controller_HistoryController.html#getHistory'},
+        {name: 'HistoryController.getRoots', url: 'edu_nju_controller_HistoryController.html#getRoots'},
+        {name: 'HistoryController.getTrees', url: 'edu_nju_controller_HistoryController.html#getTrees'},
+        {name: 'HistoryController.getTreesStu', url: 'edu_nju_controller_HistoryController.html#getTreesStu'},
+        {name: 'HistoryController.getSingle', url: 'edu_nju_controller_HistoryController.html#getSingle'},
+        {name: 'HistoryController.getAll', url: 'edu_nju_controller_HistoryController.html#getAll'},
+        {name: 'HistoryController.getSingleStu', url: 'edu_nju_controller_HistoryController.html#getSingleStu'},
+        {name: 'HistoryController.getPath', url: 'edu_nju_controller_HistoryController.html#getPath'},
+        {name: 'HistoryController.fresh', url: 'edu_nju_controller_HistoryController.html#fresh'},
+        {name: 'HistoryController.getSingleByCondition', url: 'edu_nju_controller_HistoryController.html#getSingleByCondition'},
+        {name: 'HistoryController.getBugByPage', url: 'edu_nju_controller_HistoryController.html#getBugByPage'},
+        {name: 'GraphController.get_case_bug_valid', url: 'edu_nju_controller_GraphController.html#get_case_bug_valid'},
+        {name: 'GraphController.get_thums_total_valid', url: 'edu_nju_controller_GraphController.html#get_thums_total_valid'},
+        {name: 'GraphController.get_valid_thums', url: 'edu_nju_controller_GraphController.html#get_valid_thums'},
+        {name: 'GraphController.get_valid_fork', url: 'edu_nju_controller_GraphController.html#get_valid_fork'},
+        {name: 'GraphController.ThumsToScores', url: 'edu_nju_controller_GraphController.html#ThumsToScores'},
+        {name: 'GraphController.get_bug_fork', url: 'edu_nju_controller_GraphController.html#get_bug_fork'},
+        {name: 'GraphController.get_rec_fork_valid_thums', url: 'edu_nju_controller_GraphController.html#get_rec_fork_valid_thums'},
+        {name: 'RelationController.获取用例下的所有bug  /CTB', url: 'edu_nju_controller_RelationController.html#getCTB'},
+        {name: 'RelationController.删除单条bug  /remove', url: 'edu_nju_controller_RelationController.html#removeCTB'},
+        {name: 'RelationController.删除一个用例下的所有bug    /removeAll', url: 'edu_nju_controller_RelationController.html#removeCase'},
+        {name: 'OAuthController.auth', url: 'edu_nju_controller_OAuthController.html#auth'},
+        {name: 'OAuthController.getLoginUser', url: 'edu_nju_controller_OAuthController.html#getLoginUser'},
+        {name: 'OssController.getOssConf', url: 'edu_nju_controller_OssController.html#getOssConf'},
+        {name: 'OssController.getFeatureConf', url: 'edu_nju_controller_OssController.html#getFeatureConf'},
+        {name: 'OssController.ossUpload', url: 'edu_nju_controller_OssController.html#ossUpload'},
+        {name: 'ReportController.getReport', url: 'edu_nju_controller_ReportController.html#getReport'},
+        {name: 'ReportController.getReportReview', url: 'edu_nju_controller_ReportController.html#getReportReview'},
+        {name: 'ReportController.ThumsRank', url: 'edu_nju_controller_ReportController.html#ThumsRank'},
+        {name: 'ReportController.ForkRank', url: 'edu_nju_controller_ReportController.html#ForkRank'},
+        {name: 'ReportController.relations', url: 'edu_nju_controller_ReportController.html#relations'},
+        {name: 'ReportController.keyWords', url: 'edu_nju_controller_ReportController.html#keyWords'},
+        {name: 'ReportController.charm', url: 'edu_nju_controller_ReportController.html#charm'},
+        {name: 'ReportController.userRecord', url: 'edu_nju_controller_ReportController.html#userRecord'},
+        {name: 'ReportController.pageRec', url: 'edu_nju_controller_ReportController.html#pageRec'},
+        {name: 'ReportController.bugRec', url: 'edu_nju_controller_ReportController.html#bugRec'},
+        {name: 'NodeController.generateBasicNode', url: 'edu_nju_controller_NodeController.html#generateBasicNode'},
+        {name: 'NodeController.generateCatchNode', url: 'edu_nju_controller_NodeController.html#generateCatchNode'},
+        {name: 'NodeController.getBasicNode', url: 'edu_nju_controller_NodeController.html#getBasicNode'},
+        {name: 'NodeController.uploadCatchNode', url: 'edu_nju_controller_NodeController.html#uploadCatchNode'},
+        {name: 'NodeController.uploadSingleCatchNode', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNode'},
+        {name: 'NodeController.uploadSingleCatchNodes', url: 'edu_nju_controller_NodeController.html#uploadSingleCatchNodes'},
+        {name: 'ReviewPaperController.uploadReport', url: 'edu_nju_controller_ReviewPaperController.html#uploadReport'},
+        {name: 'ReviewPaperController.uploadPaper', url: 'edu_nju_controller_ReviewPaperController.html#uploadPaper'},
+        {name: 'ReviewPaperController.getPaperJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperJson'},
+        {name: 'ReviewPaperController.getPaperById', url: 'edu_nju_controller_ReviewPaperController.html#getPaperById'},
+        {name: 'ReviewPaperController.getReportsByPaper', url: 'edu_nju_controller_ReviewPaperController.html#getReportsByPaper'},
+        {name: 'ReviewPaperController.getPapers', url: 'edu_nju_controller_ReviewPaperController.html#getPapers'},
+        {name: 'ReviewPaperController.deletePaper', url: 'edu_nju_controller_ReviewPaperController.html#deletePaper'},
+        {name: 'ReviewPaperController.updatePaper', url: 'edu_nju_controller_ReviewPaperController.html#updatePaper'},
+        {name: 'ReviewPaperController.getPaperByWorker', url: 'edu_nju_controller_ReviewPaperController.html#getPaperByWorker'},
+        {name: 'ReviewPaperController.getPaperAnswerJson', url: 'edu_nju_controller_ReviewPaperController.html#getPaperAnswerJson'},
+        {name: 'CrowdsourcingToReviewController.getExamIdByJobId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getExamIdByJobId'},
+        {name: 'CrowdsourcingToReviewController.getJobIdByExamId', url: 'edu_nju_controller_CrowdsourcingToReviewController.html#getJobIdByExamId'},
+    ];
+
+
+    $('.toggle-catalog').click(function () {
+        $('.book').toggleClass('with-summary');
+    });
+
+    $('#inputSearch').autocomplete({hint: false}, [
+        {
+            source: function (query, callback) {
+                var result = [];
+                for(var i = 0; i !== search_source_data.length; i++){
+                    if(search_source_data[i].name.indexOf(query) !== -1){
+                        result.push(search_source_data[i]);
+                    }
+                }
+                callback(result);
+            },
+            displayKey: 'name',
+            templates: {
+                suggestion: function (suggestion) {
+                    return suggestion.name;
+                }
+            }
+        }
+    ]).on('autocomplete:selected', function (event, suggestion, dataset, context) {
+        self.location = suggestion.url;
+    });
+</script>
+</body>
+</html>

+ 51 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_AnalyzeController_getBugDataVO_BugDataVO.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDataVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface BugDataVO : NSObject
+
+//
+@property (nonatomic, assign) NSString bugId;
+//
+@property (nonatomic, assign) NSString bugCategory;
+//
+@property (nonatomic, assign) NSString severity;
+//
+@property (nonatomic, assign) NSString bugCreateTime;
+//
+@property (nonatomic, assign) NSString bugPage;
+//
+@property (nonatomic, strong) NSInteger score;
+//
+@property (nonatomic, assign) NSString parent;
+//
+@property (nonatomic, strong) string[] children;
+//
+@property (nonatomic, assign) NSString root;
+//
+@property (nonatomic, strong) NSInteger goodNum;
+//
+@property (nonatomic, strong) NSInteger badNum;
+//
+@property (nonatomic, assign) NSString reportId;
+//
+@property (nonatomic, assign) NSString workerId;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 35 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_AnalyzeController_getHistoricalData_HistoricalDataVO.html

@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>HistoricalDataVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface HistoricalDataVO : NSObject
+
+//
+@property (nonatomic, strong) NSInteger reportNum;
+//各个报告的得分
+@property (nonatomic, strong) double[] scoreList;
+//报告总分
+@property (nonatomic, strong) double totalScore;
+//参加的和本次考试类型有关的众包测试次数
+@property (nonatomic, strong) NSInteger participateNum;
+//参加众包考试次数
+@property (nonatomic, strong) NSInteger totalParticipateNum;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 107 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_DataController_getBugDetailByCaseId_BugDetail.html

@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDetail</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface BugDetail : NSObject
+
+//bug属性
+@property (nonatomic, assign) NSString id;
+//
+@property (nonatomic, assign) NSString bugCategory;
+//
+@property (nonatomic, assign) NSString severity;
+//
+@property (nonatomic, assign) NSString recurrent;
+//
+@property (nonatomic, assign) NSString bugCreateTime;
+//
+@property (nonatomic, assign) NSString bugPage;
+//
+@property (nonatomic, assign) NSString title;
+//
+@property (nonatomic, assign) NSString bugDescription;
+//
+@property (nonatomic, assign) NSString imgUrl;
+//
+@property (nonatomic, strong) NSInteger score;
+//
+@property (nonatomic, assign) NSString parent;
+//
+@property (nonatomic, strong) string[] children;
+//
+@property (nonatomic, assign) NSString root;
+//
+@property (nonatomic, strong) NSInteger goodNum;
+//
+@property (nonatomic, strong) string[] goodWorkerId;
+//
+@property (nonatomic, strong) NSInteger badNum;
+//
+@property (nonatomic, strong) string[] badWorkerId;
+//测试用例属性
+@property (nonatomic, assign) NSString testCaseId;
+//
+@property (nonatomic, assign) NSString testCaseName;
+//
+@property (nonatomic, assign) NSString testCaseFront;
+//
+@property (nonatomic, assign) NSString testCaseBehind;
+//
+@property (nonatomic, assign) NSString testCaseDescription;
+//
+@property (nonatomic, assign) NSString testCaseCreateTime;
+//report属性
+@property (nonatomic, assign) NSString reportId;
+//
+@property (nonatomic, assign) NSString reportName;
+//
+@property (nonatomic, assign) NSString reportCreateTime;
+//
+@property (nonatomic, assign) NSString scriptLocation;
+//
+@property (nonatomic, assign) NSString reportLocation;
+//
+@property (nonatomic, assign) NSString logLocation;
+//
+@property (nonatomic, assign) NSString deviceModel;
+//
+@property (nonatomic, assign) NSString deviceBrand;
+//
+@property (nonatomic, assign) NSString deviceOs;
+//工人属性
+@property (nonatomic, assign) NSString workerId;
+//众测任务属性
+@property (nonatomic, assign) NSString caseAppName;
+//
+@property (nonatomic, assign) NSString casePaperType;
+//
+@property (nonatomic, assign) NSString caseTestType;
+//
+@property (nonatomic, assign) NSString caseDescription;
+//
+@property (nonatomic, assign) NSString caseRequireDoc;
+//原系统中的case_take_id
+@property (nonatomic, assign) NSString caseTakeId;
+//与目前系统中的哪个case对应
+@property (nonatomic, assign) NSString originalCaseId;
+//cp系统序列号
+@property (nonatomic, assign) NSString cpSerialNum;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 107 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_DataController_saveBugDetailFromFile_BugDetail.html

@@ -0,0 +1,107 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDetail</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface BugDetail : NSObject
+
+//bug属性
+@property (nonatomic, assign) NSString id;
+//
+@property (nonatomic, assign) NSString bugCategory;
+//
+@property (nonatomic, assign) NSString severity;
+//
+@property (nonatomic, assign) NSString recurrent;
+//
+@property (nonatomic, assign) NSString bugCreateTime;
+//
+@property (nonatomic, assign) NSString bugPage;
+//
+@property (nonatomic, assign) NSString title;
+//
+@property (nonatomic, assign) NSString bugDescription;
+//
+@property (nonatomic, assign) NSString imgUrl;
+//
+@property (nonatomic, strong) NSInteger score;
+//
+@property (nonatomic, assign) NSString parent;
+//
+@property (nonatomic, strong) string[] children;
+//
+@property (nonatomic, assign) NSString root;
+//
+@property (nonatomic, strong) NSInteger goodNum;
+//
+@property (nonatomic, strong) string[] goodWorkerId;
+//
+@property (nonatomic, strong) NSInteger badNum;
+//
+@property (nonatomic, strong) string[] badWorkerId;
+//测试用例属性
+@property (nonatomic, assign) NSString testCaseId;
+//
+@property (nonatomic, assign) NSString testCaseName;
+//
+@property (nonatomic, assign) NSString testCaseFront;
+//
+@property (nonatomic, assign) NSString testCaseBehind;
+//
+@property (nonatomic, assign) NSString testCaseDescription;
+//
+@property (nonatomic, assign) NSString testCaseCreateTime;
+//report属性
+@property (nonatomic, assign) NSString reportId;
+//
+@property (nonatomic, assign) NSString reportName;
+//
+@property (nonatomic, assign) NSString reportCreateTime;
+//
+@property (nonatomic, assign) NSString scriptLocation;
+//
+@property (nonatomic, assign) NSString reportLocation;
+//
+@property (nonatomic, assign) NSString logLocation;
+//
+@property (nonatomic, assign) NSString deviceModel;
+//
+@property (nonatomic, assign) NSString deviceBrand;
+//
+@property (nonatomic, assign) NSString deviceOs;
+//工人属性
+@property (nonatomic, assign) NSString workerId;
+//众测任务属性
+@property (nonatomic, assign) NSString caseAppName;
+//
+@property (nonatomic, assign) NSString casePaperType;
+//
+@property (nonatomic, assign) NSString caseTestType;
+//
+@property (nonatomic, assign) NSString caseDescription;
+//
+@property (nonatomic, assign) NSString caseRequireDoc;
+//原系统中的case_take_id
+@property (nonatomic, assign) NSString caseTakeId;
+//与目前系统中的哪个case对应
+@property (nonatomic, assign) NSString originalCaseId;
+//cp系统序列号
+@property (nonatomic, assign) NSString cpSerialNum;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 59 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_ExtraController_findPage_PageExamVO.html

@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>PageExamVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface PageExamVO : NSObject
+
+//
+@property (nonatomic, strong) long examId;
+//
+@property (nonatomic, strong) long caseId;
+//
+@property (nonatomic, strong) ExamVO examVO;
+//web:0 app:1
+@property (nonatomic, strong) NSInteger caseTypeId;
+//
+@property (nonatomic, assign) NSString pageContent;
+
+
+@end
+</xmp>
+</pre>
+
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface ExamVO : NSObject
+
+//
+@property (nonatomic, strong) long id;
+//
+@property (nonatomic, strong) long caseId;
+//
+@property (nonatomic, strong) NSInteger state;
+//
+@property (nonatomic, strong) NSInteger caseTypeId;
+//
+@property (nonatomic, assign) NSString beginTime;
+//
+@property (nonatomic, assign) NSString endTime;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 37 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_OAuthController_getLoginUser_UserInfo.html

@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>UserInfo</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface UserInfo : NSObject
+
+//
+@property (nonatomic, strong) long id;
+//
+@property (nonatomic, assign) NSString email;
+//
+@property (nonatomic, assign) NSString name;
+//
+@property (nonatomic, assign) NSString mobile;
+//
+@property (nonatomic, assign) NSString school;
+//
+@property (nonatomic, assign) NSString openId;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 29 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_ReviewJobController_uploadJobByJson_MessageVO.html

@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>MessageVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface MessageVO : NSObject
+
+//
+@property (nonatomic, assign) NSString status;
+//
+@property (nonatomic, assign) NSString message;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 29 - 0
src/main/resources/apidoc/V1.0/iosCodes/edu_nju_controller_ReviewPaperController_uploadReport_CrowdReviewReportVO.html

@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CrowdReviewReportVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint">
+<xmp>
+#import <Foundation/Foundation>;
+
+@interface CrowdReviewReportVO : NSObject
+
+//
+@property (nonatomic, assign) NSString status;
+//
+@property (nonatomic, assign) NSString message;
+
+
+@end
+</xmp>
+</pre>
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 138 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_AnalyzeController_getBugDataVO_BugDataVO.html

@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDataVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class BugDataVO implements Serializable{
+
+    private String bugId; //
+    private String bugCategory; //
+    private String severity; //
+    private String bugCreateTime; //
+    private String bugPage; //
+    private int score; //
+    private String parent; //
+    private string[] children; //
+    private String root; //
+    private int goodNum; //
+    private int badNum; //
+    private String reportId; //
+    private String workerId; //
+
+    public String getBugId(){
+        return bugId;
+    }
+
+    public void setBugId(String bugId){
+        this.bugId = bugId;
+    }
+
+    public String getBugCategory(){
+        return bugCategory;
+    }
+
+    public void setBugCategory(String bugCategory){
+        this.bugCategory = bugCategory;
+    }
+
+    public String getSeverity(){
+        return severity;
+    }
+
+    public void setSeverity(String severity){
+        this.severity = severity;
+    }
+
+    public String getBugCreateTime(){
+        return bugCreateTime;
+    }
+
+    public void setBugCreateTime(String bugCreateTime){
+        this.bugCreateTime = bugCreateTime;
+    }
+
+    public String getBugPage(){
+        return bugPage;
+    }
+
+    public void setBugPage(String bugPage){
+        this.bugPage = bugPage;
+    }
+
+    public int getScore(){
+        return score;
+    }
+
+    public void setScore(int score){
+        this.score = score;
+    }
+
+    public String getParent(){
+        return parent;
+    }
+
+    public void setParent(String parent){
+        this.parent = parent;
+    }
+
+    public string[] getChildren(){
+        return children;
+    }
+
+    public void setChildren(string[] children){
+        this.children = children;
+    }
+
+    public String getRoot(){
+        return root;
+    }
+
+    public void setRoot(String root){
+        this.root = root;
+    }
+
+    public int getGoodNum(){
+        return goodNum;
+    }
+
+    public void setGoodNum(int goodNum){
+        this.goodNum = goodNum;
+    }
+
+    public int getBadNum(){
+        return badNum;
+    }
+
+    public void setBadNum(int badNum){
+        this.badNum = badNum;
+    }
+
+    public String getReportId(){
+        return reportId;
+    }
+
+    public void setReportId(String reportId){
+        this.reportId = reportId;
+    }
+
+    public String getWorkerId(){
+        return workerId;
+    }
+
+    public void setWorkerId(String workerId){
+        this.workerId = workerId;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 66 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_AnalyzeController_getHistoricalData_HistoricalDataVO.html

@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>HistoricalDataVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class HistoricalDataVO implements Serializable{
+
+    private int reportNum; //
+    private double[] scoreList; //各个报告的得分
+    private double totalScore; //报告总分
+    private int participateNum; //参加的和本次考试类型有关的众包测试次数
+    private int totalParticipateNum; //参加众包考试次数
+
+    public int getReportNum(){
+        return reportNum;
+    }
+
+    public void setReportNum(int reportNum){
+        this.reportNum = reportNum;
+    }
+
+    public double[] getScoreList(){
+        return scoreList;
+    }
+
+    public void setScoreList(double[] scoreList){
+        this.scoreList = scoreList;
+    }
+
+    public double getTotalScore(){
+        return totalScore;
+    }
+
+    public void setTotalScore(double totalScore){
+        this.totalScore = totalScore;
+    }
+
+    public int getParticipateNum(){
+        return participateNum;
+    }
+
+    public void setParticipateNum(int participateNum){
+        this.participateNum = participateNum;
+    }
+
+    public int getTotalParticipateNum(){
+        return totalParticipateNum;
+    }
+
+    public void setTotalParticipateNum(int totalParticipateNum){
+        this.totalParticipateNum = totalParticipateNum;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 390 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_DataController_getBugDetailByCaseId_BugDetail.html

@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDetail</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class BugDetail implements Serializable{
+
+    private String id; //bug属性
+    private String bugCategory; //
+    private String severity; //
+    private String recurrent; //
+    private String bugCreateTime; //
+    private String bugPage; //
+    private String title; //
+    private String bugDescription; //
+    private String imgUrl; //
+    private int score; //
+    private String parent; //
+    private string[] children; //
+    private String root; //
+    private int goodNum; //
+    private string[] goodWorkerId; //
+    private int badNum; //
+    private string[] badWorkerId; //
+    private String testCaseId; //测试用例属性
+    private String testCaseName; //
+    private String testCaseFront; //
+    private String testCaseBehind; //
+    private String testCaseDescription; //
+    private String testCaseCreateTime; //
+    private String reportId; //report属性
+    private String reportName; //
+    private String reportCreateTime; //
+    private String scriptLocation; //
+    private String reportLocation; //
+    private String logLocation; //
+    private String deviceModel; //
+    private String deviceBrand; //
+    private String deviceOs; //
+    private String workerId; //工人属性
+    private String caseAppName; //众测任务属性
+    private String casePaperType; //
+    private String caseTestType; //
+    private String caseDescription; //
+    private String caseRequireDoc; //
+    private String caseTakeId; //原系统中的case_take_id
+    private String originalCaseId; //与目前系统中的哪个case对应
+    private String cpSerialNum; //cp系统序列号
+
+    public String getId(){
+        return id;
+    }
+
+    public void setId(String id){
+        this.id = id;
+    }
+
+    public String getBugCategory(){
+        return bugCategory;
+    }
+
+    public void setBugCategory(String bugCategory){
+        this.bugCategory = bugCategory;
+    }
+
+    public String getSeverity(){
+        return severity;
+    }
+
+    public void setSeverity(String severity){
+        this.severity = severity;
+    }
+
+    public String getRecurrent(){
+        return recurrent;
+    }
+
+    public void setRecurrent(String recurrent){
+        this.recurrent = recurrent;
+    }
+
+    public String getBugCreateTime(){
+        return bugCreateTime;
+    }
+
+    public void setBugCreateTime(String bugCreateTime){
+        this.bugCreateTime = bugCreateTime;
+    }
+
+    public String getBugPage(){
+        return bugPage;
+    }
+
+    public void setBugPage(String bugPage){
+        this.bugPage = bugPage;
+    }
+
+    public String getTitle(){
+        return title;
+    }
+
+    public void setTitle(String title){
+        this.title = title;
+    }
+
+    public String getBugDescription(){
+        return bugDescription;
+    }
+
+    public void setBugDescription(String bugDescription){
+        this.bugDescription = bugDescription;
+    }
+
+    public String getImgUrl(){
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl){
+        this.imgUrl = imgUrl;
+    }
+
+    public int getScore(){
+        return score;
+    }
+
+    public void setScore(int score){
+        this.score = score;
+    }
+
+    public String getParent(){
+        return parent;
+    }
+
+    public void setParent(String parent){
+        this.parent = parent;
+    }
+
+    public string[] getChildren(){
+        return children;
+    }
+
+    public void setChildren(string[] children){
+        this.children = children;
+    }
+
+    public String getRoot(){
+        return root;
+    }
+
+    public void setRoot(String root){
+        this.root = root;
+    }
+
+    public int getGoodNum(){
+        return goodNum;
+    }
+
+    public void setGoodNum(int goodNum){
+        this.goodNum = goodNum;
+    }
+
+    public string[] getGoodWorkerId(){
+        return goodWorkerId;
+    }
+
+    public void setGoodWorkerId(string[] goodWorkerId){
+        this.goodWorkerId = goodWorkerId;
+    }
+
+    public int getBadNum(){
+        return badNum;
+    }
+
+    public void setBadNum(int badNum){
+        this.badNum = badNum;
+    }
+
+    public string[] getBadWorkerId(){
+        return badWorkerId;
+    }
+
+    public void setBadWorkerId(string[] badWorkerId){
+        this.badWorkerId = badWorkerId;
+    }
+
+    public String getTestCaseId(){
+        return testCaseId;
+    }
+
+    public void setTestCaseId(String testCaseId){
+        this.testCaseId = testCaseId;
+    }
+
+    public String getTestCaseName(){
+        return testCaseName;
+    }
+
+    public void setTestCaseName(String testCaseName){
+        this.testCaseName = testCaseName;
+    }
+
+    public String getTestCaseFront(){
+        return testCaseFront;
+    }
+
+    public void setTestCaseFront(String testCaseFront){
+        this.testCaseFront = testCaseFront;
+    }
+
+    public String getTestCaseBehind(){
+        return testCaseBehind;
+    }
+
+    public void setTestCaseBehind(String testCaseBehind){
+        this.testCaseBehind = testCaseBehind;
+    }
+
+    public String getTestCaseDescription(){
+        return testCaseDescription;
+    }
+
+    public void setTestCaseDescription(String testCaseDescription){
+        this.testCaseDescription = testCaseDescription;
+    }
+
+    public String getTestCaseCreateTime(){
+        return testCaseCreateTime;
+    }
+
+    public void setTestCaseCreateTime(String testCaseCreateTime){
+        this.testCaseCreateTime = testCaseCreateTime;
+    }
+
+    public String getReportId(){
+        return reportId;
+    }
+
+    public void setReportId(String reportId){
+        this.reportId = reportId;
+    }
+
+    public String getReportName(){
+        return reportName;
+    }
+
+    public void setReportName(String reportName){
+        this.reportName = reportName;
+    }
+
+    public String getReportCreateTime(){
+        return reportCreateTime;
+    }
+
+    public void setReportCreateTime(String reportCreateTime){
+        this.reportCreateTime = reportCreateTime;
+    }
+
+    public String getScriptLocation(){
+        return scriptLocation;
+    }
+
+    public void setScriptLocation(String scriptLocation){
+        this.scriptLocation = scriptLocation;
+    }
+
+    public String getReportLocation(){
+        return reportLocation;
+    }
+
+    public void setReportLocation(String reportLocation){
+        this.reportLocation = reportLocation;
+    }
+
+    public String getLogLocation(){
+        return logLocation;
+    }
+
+    public void setLogLocation(String logLocation){
+        this.logLocation = logLocation;
+    }
+
+    public String getDeviceModel(){
+        return deviceModel;
+    }
+
+    public void setDeviceModel(String deviceModel){
+        this.deviceModel = deviceModel;
+    }
+
+    public String getDeviceBrand(){
+        return deviceBrand;
+    }
+
+    public void setDeviceBrand(String deviceBrand){
+        this.deviceBrand = deviceBrand;
+    }
+
+    public String getDeviceOs(){
+        return deviceOs;
+    }
+
+    public void setDeviceOs(String deviceOs){
+        this.deviceOs = deviceOs;
+    }
+
+    public String getWorkerId(){
+        return workerId;
+    }
+
+    public void setWorkerId(String workerId){
+        this.workerId = workerId;
+    }
+
+    public String getCaseAppName(){
+        return caseAppName;
+    }
+
+    public void setCaseAppName(String caseAppName){
+        this.caseAppName = caseAppName;
+    }
+
+    public String getCasePaperType(){
+        return casePaperType;
+    }
+
+    public void setCasePaperType(String casePaperType){
+        this.casePaperType = casePaperType;
+    }
+
+    public String getCaseTestType(){
+        return caseTestType;
+    }
+
+    public void setCaseTestType(String caseTestType){
+        this.caseTestType = caseTestType;
+    }
+
+    public String getCaseDescription(){
+        return caseDescription;
+    }
+
+    public void setCaseDescription(String caseDescription){
+        this.caseDescription = caseDescription;
+    }
+
+    public String getCaseRequireDoc(){
+        return caseRequireDoc;
+    }
+
+    public void setCaseRequireDoc(String caseRequireDoc){
+        this.caseRequireDoc = caseRequireDoc;
+    }
+
+    public String getCaseTakeId(){
+        return caseTakeId;
+    }
+
+    public void setCaseTakeId(String caseTakeId){
+        this.caseTakeId = caseTakeId;
+    }
+
+    public String getOriginalCaseId(){
+        return originalCaseId;
+    }
+
+    public void setOriginalCaseId(String originalCaseId){
+        this.originalCaseId = originalCaseId;
+    }
+
+    public String getCpSerialNum(){
+        return cpSerialNum;
+    }
+
+    public void setCpSerialNum(String cpSerialNum){
+        this.cpSerialNum = cpSerialNum;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 390 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_DataController_saveBugDetailFromFile_BugDetail.html

@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>BugDetail</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class BugDetail implements Serializable{
+
+    private String id; //bug属性
+    private String bugCategory; //
+    private String severity; //
+    private String recurrent; //
+    private String bugCreateTime; //
+    private String bugPage; //
+    private String title; //
+    private String bugDescription; //
+    private String imgUrl; //
+    private int score; //
+    private String parent; //
+    private string[] children; //
+    private String root; //
+    private int goodNum; //
+    private string[] goodWorkerId; //
+    private int badNum; //
+    private string[] badWorkerId; //
+    private String testCaseId; //测试用例属性
+    private String testCaseName; //
+    private String testCaseFront; //
+    private String testCaseBehind; //
+    private String testCaseDescription; //
+    private String testCaseCreateTime; //
+    private String reportId; //report属性
+    private String reportName; //
+    private String reportCreateTime; //
+    private String scriptLocation; //
+    private String reportLocation; //
+    private String logLocation; //
+    private String deviceModel; //
+    private String deviceBrand; //
+    private String deviceOs; //
+    private String workerId; //工人属性
+    private String caseAppName; //众测任务属性
+    private String casePaperType; //
+    private String caseTestType; //
+    private String caseDescription; //
+    private String caseRequireDoc; //
+    private String caseTakeId; //原系统中的case_take_id
+    private String originalCaseId; //与目前系统中的哪个case对应
+    private String cpSerialNum; //cp系统序列号
+
+    public String getId(){
+        return id;
+    }
+
+    public void setId(String id){
+        this.id = id;
+    }
+
+    public String getBugCategory(){
+        return bugCategory;
+    }
+
+    public void setBugCategory(String bugCategory){
+        this.bugCategory = bugCategory;
+    }
+
+    public String getSeverity(){
+        return severity;
+    }
+
+    public void setSeverity(String severity){
+        this.severity = severity;
+    }
+
+    public String getRecurrent(){
+        return recurrent;
+    }
+
+    public void setRecurrent(String recurrent){
+        this.recurrent = recurrent;
+    }
+
+    public String getBugCreateTime(){
+        return bugCreateTime;
+    }
+
+    public void setBugCreateTime(String bugCreateTime){
+        this.bugCreateTime = bugCreateTime;
+    }
+
+    public String getBugPage(){
+        return bugPage;
+    }
+
+    public void setBugPage(String bugPage){
+        this.bugPage = bugPage;
+    }
+
+    public String getTitle(){
+        return title;
+    }
+
+    public void setTitle(String title){
+        this.title = title;
+    }
+
+    public String getBugDescription(){
+        return bugDescription;
+    }
+
+    public void setBugDescription(String bugDescription){
+        this.bugDescription = bugDescription;
+    }
+
+    public String getImgUrl(){
+        return imgUrl;
+    }
+
+    public void setImgUrl(String imgUrl){
+        this.imgUrl = imgUrl;
+    }
+
+    public int getScore(){
+        return score;
+    }
+
+    public void setScore(int score){
+        this.score = score;
+    }
+
+    public String getParent(){
+        return parent;
+    }
+
+    public void setParent(String parent){
+        this.parent = parent;
+    }
+
+    public string[] getChildren(){
+        return children;
+    }
+
+    public void setChildren(string[] children){
+        this.children = children;
+    }
+
+    public String getRoot(){
+        return root;
+    }
+
+    public void setRoot(String root){
+        this.root = root;
+    }
+
+    public int getGoodNum(){
+        return goodNum;
+    }
+
+    public void setGoodNum(int goodNum){
+        this.goodNum = goodNum;
+    }
+
+    public string[] getGoodWorkerId(){
+        return goodWorkerId;
+    }
+
+    public void setGoodWorkerId(string[] goodWorkerId){
+        this.goodWorkerId = goodWorkerId;
+    }
+
+    public int getBadNum(){
+        return badNum;
+    }
+
+    public void setBadNum(int badNum){
+        this.badNum = badNum;
+    }
+
+    public string[] getBadWorkerId(){
+        return badWorkerId;
+    }
+
+    public void setBadWorkerId(string[] badWorkerId){
+        this.badWorkerId = badWorkerId;
+    }
+
+    public String getTestCaseId(){
+        return testCaseId;
+    }
+
+    public void setTestCaseId(String testCaseId){
+        this.testCaseId = testCaseId;
+    }
+
+    public String getTestCaseName(){
+        return testCaseName;
+    }
+
+    public void setTestCaseName(String testCaseName){
+        this.testCaseName = testCaseName;
+    }
+
+    public String getTestCaseFront(){
+        return testCaseFront;
+    }
+
+    public void setTestCaseFront(String testCaseFront){
+        this.testCaseFront = testCaseFront;
+    }
+
+    public String getTestCaseBehind(){
+        return testCaseBehind;
+    }
+
+    public void setTestCaseBehind(String testCaseBehind){
+        this.testCaseBehind = testCaseBehind;
+    }
+
+    public String getTestCaseDescription(){
+        return testCaseDescription;
+    }
+
+    public void setTestCaseDescription(String testCaseDescription){
+        this.testCaseDescription = testCaseDescription;
+    }
+
+    public String getTestCaseCreateTime(){
+        return testCaseCreateTime;
+    }
+
+    public void setTestCaseCreateTime(String testCaseCreateTime){
+        this.testCaseCreateTime = testCaseCreateTime;
+    }
+
+    public String getReportId(){
+        return reportId;
+    }
+
+    public void setReportId(String reportId){
+        this.reportId = reportId;
+    }
+
+    public String getReportName(){
+        return reportName;
+    }
+
+    public void setReportName(String reportName){
+        this.reportName = reportName;
+    }
+
+    public String getReportCreateTime(){
+        return reportCreateTime;
+    }
+
+    public void setReportCreateTime(String reportCreateTime){
+        this.reportCreateTime = reportCreateTime;
+    }
+
+    public String getScriptLocation(){
+        return scriptLocation;
+    }
+
+    public void setScriptLocation(String scriptLocation){
+        this.scriptLocation = scriptLocation;
+    }
+
+    public String getReportLocation(){
+        return reportLocation;
+    }
+
+    public void setReportLocation(String reportLocation){
+        this.reportLocation = reportLocation;
+    }
+
+    public String getLogLocation(){
+        return logLocation;
+    }
+
+    public void setLogLocation(String logLocation){
+        this.logLocation = logLocation;
+    }
+
+    public String getDeviceModel(){
+        return deviceModel;
+    }
+
+    public void setDeviceModel(String deviceModel){
+        this.deviceModel = deviceModel;
+    }
+
+    public String getDeviceBrand(){
+        return deviceBrand;
+    }
+
+    public void setDeviceBrand(String deviceBrand){
+        this.deviceBrand = deviceBrand;
+    }
+
+    public String getDeviceOs(){
+        return deviceOs;
+    }
+
+    public void setDeviceOs(String deviceOs){
+        this.deviceOs = deviceOs;
+    }
+
+    public String getWorkerId(){
+        return workerId;
+    }
+
+    public void setWorkerId(String workerId){
+        this.workerId = workerId;
+    }
+
+    public String getCaseAppName(){
+        return caseAppName;
+    }
+
+    public void setCaseAppName(String caseAppName){
+        this.caseAppName = caseAppName;
+    }
+
+    public String getCasePaperType(){
+        return casePaperType;
+    }
+
+    public void setCasePaperType(String casePaperType){
+        this.casePaperType = casePaperType;
+    }
+
+    public String getCaseTestType(){
+        return caseTestType;
+    }
+
+    public void setCaseTestType(String caseTestType){
+        this.caseTestType = caseTestType;
+    }
+
+    public String getCaseDescription(){
+        return caseDescription;
+    }
+
+    public void setCaseDescription(String caseDescription){
+        this.caseDescription = caseDescription;
+    }
+
+    public String getCaseRequireDoc(){
+        return caseRequireDoc;
+    }
+
+    public void setCaseRequireDoc(String caseRequireDoc){
+        this.caseRequireDoc = caseRequireDoc;
+    }
+
+    public String getCaseTakeId(){
+        return caseTakeId;
+    }
+
+    public void setCaseTakeId(String caseTakeId){
+        this.caseTakeId = caseTakeId;
+    }
+
+    public String getOriginalCaseId(){
+        return originalCaseId;
+    }
+
+    public void setOriginalCaseId(String originalCaseId){
+        this.originalCaseId = originalCaseId;
+    }
+
+    public String getCpSerialNum(){
+        return cpSerialNum;
+    }
+
+    public void setCpSerialNum(String cpSerialNum){
+        this.cpSerialNum = cpSerialNum;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 128 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_ExtraController_findPage_PageExamVO.html

@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>PageExamVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class PageExamVO implements Serializable{
+
+    private long examId; //
+    private long caseId; //
+    private ExamVO examVO; //
+    private int caseTypeId; //web:0 app:1
+    private String pageContent; //
+
+    public long getExamId(){
+        return examId;
+    }
+
+    public void setExamId(long examId){
+        this.examId = examId;
+    }
+
+    public long getCaseId(){
+        return caseId;
+    }
+
+    public void setCaseId(long caseId){
+        this.caseId = caseId;
+    }
+
+    public ExamVO getExamVO(){
+        return examVO;
+    }
+
+    public void setExamVO(ExamVO examVO){
+        this.examVO = examVO;
+    }
+
+    public int getCaseTypeId(){
+        return caseTypeId;
+    }
+
+    public void setCaseTypeId(int caseTypeId){
+        this.caseTypeId = caseTypeId;
+    }
+
+    public String getPageContent(){
+        return pageContent;
+    }
+
+    public void setPageContent(String pageContent){
+        this.pageContent = pageContent;
+    }
+
+}
+</pre>
+
+
+<pre class="prettyprint lang-java">
+public class ExamVO implements Serializable{
+
+    private long id; //
+    private long caseId; //
+    private int state; //
+    private int caseTypeId; //
+    private String beginTime; //
+    private String endTime; //
+
+    public long getId(){
+        return id;
+    }
+
+    public void setId(long id){
+        this.id = id;
+    }
+
+    public long getCaseId(){
+        return caseId;
+    }
+
+    public void setCaseId(long caseId){
+        this.caseId = caseId;
+    }
+
+    public int getState(){
+        return state;
+    }
+
+    public void setState(int state){
+        this.state = state;
+    }
+
+    public int getCaseTypeId(){
+        return caseTypeId;
+    }
+
+    public void setCaseTypeId(int caseTypeId){
+        this.caseTypeId = caseTypeId;
+    }
+
+    public String getBeginTime(){
+        return beginTime;
+    }
+
+    public void setBeginTime(String beginTime){
+        this.beginTime = beginTime;
+    }
+
+    public String getEndTime(){
+        return endTime;
+    }
+
+    public void setEndTime(String endTime){
+        this.endTime = endTime;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 75 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_OAuthController_getLoginUser_UserInfo.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>UserInfo</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class UserInfo implements Serializable{
+
+    private long id; //
+    private String email; //
+    private String name; //
+    private String mobile; //
+    private String school; //
+    private String openId; //
+
+    public long getId(){
+        return id;
+    }
+
+    public void setId(long id){
+        this.id = id;
+    }
+
+    public String getEmail(){
+        return email;
+    }
+
+    public void setEmail(String email){
+        this.email = email;
+    }
+
+    public String getName(){
+        return name;
+    }
+
+    public void setName(String name){
+        this.name = name;
+    }
+
+    public String getMobile(){
+        return mobile;
+    }
+
+    public void setMobile(String mobile){
+        this.mobile = mobile;
+    }
+
+    public String getSchool(){
+        return school;
+    }
+
+    public void setSchool(String school){
+        this.school = school;
+    }
+
+    public String getOpenId(){
+        return openId;
+    }
+
+    public void setOpenId(String openId){
+        this.openId = openId;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 39 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_ReviewJobController_uploadJobByJson_MessageVO.html

@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>MessageVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class MessageVO implements Serializable{
+
+    private String status; //
+    private String message; //
+
+    public String getStatus(){
+        return status;
+    }
+
+    public void setStatus(String status){
+        this.status = status;
+    }
+
+    public String getMessage(){
+        return message;
+    }
+
+    public void setMessage(String message){
+        this.message = message;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 39 - 0
src/main/resources/apidoc/V1.0/javaCodes/edu_nju_controller_ReviewPaperController_uploadReport_CrowdReviewReportVO.html

@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<title>CrowdReviewReportVO</title>
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.css">
+<link href="../style.css" rel="stylesheet" />
+</head>
+<body onload="PR.prettyPrint()">
+<pre class="prettyprint lang-java">
+public class CrowdReviewReportVO implements Serializable{
+
+    private String status; //
+    private String message; //
+
+    public String getStatus(){
+        return status;
+    }
+
+    public void setStatus(String status){
+        this.status = status;
+    }
+
+    public String getMessage(){
+        return message;
+    }
+
+    public void setMessage(String message){
+        this.message = message;
+    }
+
+}
+</pre>
+
+
+
+<script src="https://cdn.jsdelivr.net/npm/google-code-prettify@1.0.5/bin/prettify.min.js"></script>
+</body>
+</html>

+ 300 - 0
src/main/resources/apidoc/V1.0/style.css

@@ -0,0 +1,300 @@
+body, html {
+    height: 100%;
+}
+
+.book{
+    position: relative;
+    width: 100%;
+    height: 100%;
+}
+
+.book.with-summary .book-summary {
+    left: 0;
+}
+
+.book-summary {
+    position: absolute;
+    top: 0;
+    left: -300px;
+    bottom: 0;
+    z-index: 1;
+    overflow-y: auto;
+    width: 300px;
+    color: #364149;
+    background: #fafafa;
+    border-right: 1px solid rgba(0,0,0,.07);
+    -webkit-transition: left 250ms ease;
+    -moz-transition: left 250ms ease;
+    -o-transition: left 250ms ease;
+    transition: left 250ms ease;
+}
+
+.book-body {
+    position: absolute;
+    top: 0;
+    right: 0;
+    left: 0;
+    bottom: 0;
+    overflow-y: auto;
+    color: #333;
+    background: #fff;
+    -webkit-transition: left 250ms ease;
+    -moz-transition: left 250ms ease;
+    -o-transition: left 250ms ease;
+    transition: left 250ms ease;
+}
+
+.book-body .body-inner {
+    position: absolute;
+    top: 0;
+    right: 0;
+    left: 0;
+    bottom: 0;
+    overflow-y: auto;
+    padding-top: 10px;
+}
+
+.book-header {
+    overflow: visible;
+    height: 50px;
+    z-index: 2;
+    font-size: .85em;
+    color: #7e888b;
+    background: 0 0;
+}
+
+.book-header a.header-menu{
+    font-size: 18px;
+    color: #555555;
+    padding: 10px;
+    text-decoration: none;
+}
+
+.book-header a.header-menu:hover{
+    text-decoration: none;
+    color: #5cb85c;
+}
+
+.page-wrapper {
+    position: relative;
+    outline: 0;
+}
+
+.book .book-body .page-wrapper .page-inner {
+    position: relative;
+    left: 0px;
+    transition: 300ms ease left;
+}
+
+.page-inner {
+    position: relative;
+    max-width: 900px;
+    margin: 0 auto;
+    padding: 20px 15px 40px 15px;
+}
+
+@media (min-width: 600px){
+    .book.with-summary .book-body {
+        left: 300px;
+    }
+}
+
+@media (max-width: 600px){
+    .book-summary {
+        width: calc(100% - 60px);
+        bottom: 0;
+        left: -100%;
+    }
+    .book.with-summary .book-body {
+        -webkit-transform: translate(calc(100% - 60px),0);
+        -moz-transform: translate(calc(100% - 60px),0);
+        -ms-transform: translate(calc(100% - 60px),0);
+        -o-transform: translate(calc(100% - 60px),0);
+        transform: translate(calc(100% - 60px),0);
+    }
+}
+
+@media (max-width: 1240px){
+    .book-body {
+        -webkit-transition: -webkit-transform 250ms ease;
+        -moz-transition: -moz-transform 250ms ease;
+        -o-transition: -o-transform 250ms ease;
+        transition: transform 250ms ease;
+        padding-bottom: 20px;
+    }
+}
+
+@media (max-width: 1240px){
+    .book-body .body-inner {
+        position: static;
+        min-height: calc(100% - 50px);
+    }
+}
+
+.navbar{
+    background: #5cb85c;
+    color: #FFF;
+}
+
+.navbar a{
+    color: #FFF;
+}
+.navbar-brand{
+    font-weight: 600;
+}
+
+@media (min-width: 768px){
+    .navbar {
+        border-radius: 0;
+    }
+}
+
+.catalog .panel{
+    margin-bottom: 0;
+    border-radius: 0;
+    border: none;
+    box-shadow: none;
+    -webkit-box-shadow: none;
+}
+
+.catalog .catalog-title {
+    border-bottom: 1px solid #EAEAEA;
+    padding: 1rem 1.25rem;
+    background: rgba(0, 0, 0, .03);
+    cursor: pointer;
+    color: #333;
+    font-weight: 600;
+    font-size: 16px;
+}
+
+.catalog-item{
+    padding: 8px 15px;
+    margin-left: 15px;
+    color: #888;
+    border-bottom: solid #EEE 1px;
+    display: block;
+}
+
+.action-item h2 a{
+    color: #5cb85c;
+}
+
+a:hover{
+    color: #449d44;
+}
+
+.search-box{
+    position: relative;
+    margin: 10px;
+}
+
+.navbar{
+    margin-bottom: 0;
+}
+
+.main-content{
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    margin-top: 20px;
+}
+
+.text-bold{
+    font-weight: bold;
+}
+
+/**third part*/
+
+.algolia-autocomplete {
+    width: 100%;
+}
+.algolia-autocomplete .aa-input, .algolia-autocomplete .aa-hint {
+    width: 100%;
+}
+.algolia-autocomplete .aa-hint {
+    color: #888;
+}
+.algolia-autocomplete .aa-dropdown-menu {
+    width: 100%;
+    background-color: #fff;
+    border: 1px solid #EEE;
+    border-top: none;
+}
+.algolia-autocomplete .aa-dropdown-menu .aa-suggestion {
+    cursor: pointer;
+    padding: 5px 4px;
+}
+.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor {
+    background-color: #449d44;
+    color: #FFF;
+}
+.algolia-autocomplete .aa-dropdown-menu .aa-suggestion em {
+    font-weight: bold;
+    font-style: normal;
+}
+
+
+/* Doxy pretty-printing styles. Used with prettify.js.  */
+
+pre .str, code .str { color: #fec243; } /* string  - eggyolk gold */
+pre .kwd, code .kwd { color: #8470FF; } /* keyword - light slate blue */
+pre .com, code .com { color: #32cd32; font-style: italic; } /* comment - green */
+pre .typ, code .typ { color: #6ecbcc; } /* type - turq green */
+pre .lit, code .lit { color: #d06; } /* literal - cherry red */
+pre .pun, code .pun { color: #8B8970;  } /* punctuation - lemon chiffon4  */
+pre .pln, code .pln { color: #f0f0f0; } /* plaintext - white */
+pre .tag, code .tag { color: #9c9cff; } /* html/xml tag  (bluey)  */
+pre .htm, code .htm { color: #dda0dd; } /* html tag  light purply*/
+pre .xsl, code .xsl { color: #d0a0d0; } /* xslt tag  light purply*/
+pre .atn, code .atn { color: #46eeee; font-weight: normal;} /* html/xml attribute name  - lt turquoise */
+pre .atv, code .atv { color: #EEB4B4; } /* html/xml attribute value - rosy brown2 */
+pre .dec, code .dec { color: #3387CC; } /* decimal - blue */
+
+a {
+    text-decoration: none;
+}
+
+pre.prettyprint, code.prettyprint {
+    font-family:'Droid Sans Mono','CPMono_v07 Bold','Droid Sans';
+    font-weight: bold;
+    font-size: 11pt;
+    background-color: #0f0f0f;
+    -moz-border-radius: 8px;
+    -webkit-border-radius: 8px;
+    -o-border-radius: 8px;
+    -ms-border-radius: 8px;
+    -khtml-border-radius: 8px;
+    border-radius: 8px;
+}  /*  background is black (well, just a tad less dark )  */
+
+pre.prettyprint {
+    padding: 1em;
+    white-space: pre-wrap;
+}
+
+pre.prettyprint a, code.prettyprint a {
+    text-decoration:none;
+}
+/* Specify class=linenums on a pre to get line numbering; line numbers themselves are the same color as punctuation */
+ol.linenums { margin-top: 0; margin-bottom: 0; color: #8B8970; } /* IE indents via margin-left */
+li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8 { list-style-type: none }
+/* Alternate shading for lines */
+li.L1,li.L3,li.L5,li.L7,li.L9 { }
+
+/* print is mostly unchanged from default at present  */
+@media print {
+    pre.prettyprint, code.prettyprint { background-color: #fff;  }
+    pre .str, code .str { color: #088; }
+    pre .kwd, code .kwd { color: #006; font-weight: bold; }
+    pre .com, code .com { color: #oc3; font-style: italic; }
+    pre .typ, code .typ { color: #404; font-weight: bold; }
+    pre .lit, code .lit { color: #044; }
+    pre .pun, code .pun { color: #440; }
+    pre .pln, code .pln { color: #000; }
+    pre .tag, code .tag { color: #b66ff7; font-weight: bold; }
+    pre .htm, code .htm { color: #606; font-weight: bold; }
+    pre .xsl, code .xsl { color: #606; font-weight: bold; }
+    pre .atn, code .atn { color: #c71585;  font-weight: normal; }
+    pre .atv, code .atv { color: #088;  font-weight: normal; }
+}

+ 677 - 0
src/main/resources/apidoc/V1.0/众测服务-V1.0-api-docs.md

@@ -0,0 +1,677 @@
+> This documentation is generated by [JApiDocs](https://japidocs.agilestudio.cn/).
+---
+# DeleteController
+## deleteCase
+
+**
+
+**请求URL**
+
+/delete/case `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## deleteOne
+
+**
+
+**请求URL**
+
+/delete/one `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## deleteBug
+
+**
+
+**请求URL**
+
+/delete/bug `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## update_case_take
+
+**
+
+**请求URL**
+
+/delete/update `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# ReviewJobController
+## getJobById
+
+**
+
+**请求URL**
+
+/job/getJob `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getJobs
+
+**
+
+**请求URL**
+
+/job/getJobs `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## uploadJob
+
+**
+
+**请求URL**
+
+/job/uploadJob `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## uploadJobByJson
+
+**
+
+**请求URL**
+
+/job/uploadJobByJson `POST` 
+
+
+**返回结果**
+
+```json
+{
+	"status":"string",
+	"message":"string"
+}
+```
+## updateJob
+
+**
+
+**请求URL**
+
+/job/updateJob `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## deleteJob
+
+**
+
+**请求URL**
+
+/job/delJob `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getJobsByPaper
+
+**
+
+**请求URL**
+
+/job/getJobsByPaper `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getJobsByExamCase
+
+**
+
+**请求URL**
+
+/job/getJobsByExamCase `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+# ReviewAnalyzeController
+## analyzeItem
+
+**
+
+**请求URL**
+
+/reviewAnalyze/analyzeItem `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getExcel
+
+**
+
+**请求URL**
+
+/reviewAnalyze/job/excel `GET` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+## getJson
+
+**
+
+**请求URL**
+
+/reviewAnalyze/job/json `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## crowdReviewGradeToCrowdTest
+
+**
+
+**请求URL**
+
+/reviewAnalyze/job/crowdReviewGradeToCrowdTest `GET` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+# 额外接口/extra
+## 上传测试报告   /uploadReport
+
+**
+
+**请求URL**
+
+/extra/uploadReport `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_id|string|是|用例id
+task_id|string|是|任务id
+case_take_id|string|是|用例-任务id
+worker_id|string|是|人员id
+name|string|是|报告名称
+device_model|string|是|设备品牌
+device_brand|string|是|设备名称
+device_os|string|是|操作系统
+script_location|string|否|
+report_location|string|否|
+log_location|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## 更新测试报告   /updateReport
+
+**
+
+**请求URL**
+
+/extra/updateReport `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+report_id|string|否|
+case_id|string|否|
+task_id|string|否|
+case_take_id|string|否|
+worker_id|string|否|
+name|string|否|
+device_model|string|否|
+device_brand|string|否|
+device_os|string|否|
+script_location|string|否|
+report_location|string|否|
+log_location|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## getReport
+
+**
+
+**请求URL**
+
+/extra/getReport `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## findPage
+
+**
+
+**请求URL**
+
+/extra/getPageVo `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{
+	"examId":"long",
+	"caseId":"long",
+	"examVO":{
+		"id":"long",
+		"caseId":"long",
+		"state":"int",
+		"caseTypeId":"int",
+		"beginTime":"date",
+		"endTime":"date"
+	},
+	"caseTypeId":"int //web:0 app:1",
+	"pageContent":"string"
+}
+```
+## findByWorker
+
+**
+
+**请求URL**
+
+/extra/findByWorker `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 获取测试用例列表 /getCaseList
+
+**
+
+**请求URL**
+
+/extra/getCaseList `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+report_id|string|否|报告id
+
+**返回结果**
+
+```json
+{}
+```
+## 获取测试Bug列表    /getBugList
+
+**
+
+**请求URL**
+
+/extra/getBugList `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+report_id|string|否|报告id
+case_take_id|string|否|用例-任务id
+
+**返回结果**
+
+```json
+{}
+```
+## 47.99.140.117:9001/Bug/api/extra/uploadExam
+
+**
+
+**请求URL**
+
+/extra/uploadExam `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+file|file|否|文件流
+case_id|string|否|测试目标id
+file_name|string|否|上传excel的文件名
+paper_type|string|否|试卷类型,即试卷的显示矩阵
+test_type|string|否|测试分类,如工具
+description|string|否|测试说明
+app_name|string|否|测试目标的名称
+
+**返回结果**
+
+```json
+string{}
+```
+## 
+
+**
+
+**请求URL**
+
+/extra/uploadExamUrl `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+file|string|否|文件oss的url
+file_name|string|否|
+paper_type|string|否|
+case_id|string|否|
+test_type|string|否|
+description|string|否|
+app_name|string|否|
+
+**返回结果**
+
+```json
+string{}
+```
+## 47.99.140.117:9001/Bug/api/extra/getExamList
+
+**
+
+**请求URL**
+
+/extra/getExamList `GET` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 获取考试的操作类型信息
+
+**
+
+**请求URL**
+
+/extra/getExam `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+id|string|否|考试id
+
+**返回结果**
+
+```json
+{}
+```
+## 上传测试用例   /uploadTestCase
+
+**
+
+**请求URL**
+
+/extra/uploadTestCase `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+report_id|string|否|报告id
+if_execute|string|否|是否执行
+if_bug|string|否|是否是bug
+
+**返回结果**
+
+```json
+{}
+```
+## getTestCase
+
+**
+
+**请求URL**
+
+/extra/getTestCase `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## 更新测试用例   /updateTestCase
+
+**
+
+**请求URL**
+
+/extra/updateTestCase `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+id|string|否|用例id
+report_id|string|否|报告id
+name|string|否|用例名称
+front|string|否|前置条件
+behind|string|否|测试步骤
+description|string|否|预期结果
+
+**返回结果**
+
+```json
+{}
+```
+## updateTask
+
+**
+
+**请求URL**
+
+/extra/updateTask `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getTask
+
+**
+
+**请求URL**
+
+/extra/getTask `GET` `POST` 
+
+
+**返回结果**
+
+```json
+{}
+```
+## getTask
+
+**
+
+**请求URL**
+
+/extra/reportsToReviewPaper `GET` `POST` 
+
+
+**返回结果**
+
+```json
+string{}
+```
+# RecommendController
+## 每次刷新或进入填写页面,都应该调用一次该方法,因为其中包含了一些初始化操作
+
+**
+
+**请求URL**
+
+/rec/getList `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+case_take_id|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## 用户点击查看一个Bug的详细信息
+
+**
+
+**请求URL**
+
+/rec/getDetail `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+id|string|否|
+
+**返回结果**
+
+```json
+{}
+```
+## 用户编辑bug时推荐相似bug
+用户点击六个类别之后,都使用该接口
+
+**
+
+**请求URL**
+
+/rec/recommend `GET` `POST` 
+
+**请求参数**
+
+参数名|类型|必须|描述
+--:|:--:|:--:|:--
+type("category",|FreeMarker template error (DEBUG mode; use RETHROW in production!):
+The following has evaluated to null or missing:
+==> paramNode.type  [in template "api-doc.md.ftl" at line 28, column 21]
+
+----
+Tip: It's the step after the last dot that caused this error, not those before it.
+----
+Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
+----
+
+----
+FTL stack trace ("~" means nesting-related):
+	- Failed at: ${paramNode.type}  [in template "api-doc.md.ftl" at line 28, column 19]
+----
+
+Java stack trace (for programmers):
+----
+freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
+	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
+	at freemarker.core.EvalUtil.coerceModelToTextualCommon(EvalUtil.java:467)
+	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:389)
+	at freemarker.core.EvalUtil.coerceModelToStringOrMarkup(EvalUtil.java:358)
+	at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
+	at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:372)
+	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
+	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
+	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
+	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
+	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
+	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:336)
+	at freemarker.core.Environment.visit(Environment.java:372)
+	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
+	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
+	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
+	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
+	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
+	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
+	at freemarker.core.Environment.visit(Environment.java:366)
+	at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
+	at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
+	at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
+	at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
+	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
+	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
+	at freemarker.core.Environment.visit(Environment.java:330)
+	at freemarker.core.Environment.visit(Environment.java:336)
+	at freemarker.core.Environment.process(Environment.java:309)
+	at freemarker.template.Template.process(Template.java:384)
+	at io.github.yedaxia.apidocs.plugin.markdown.MarkdownDocPlugin.execute(MarkdownDocPlugin.java:38)
+	at io.github.yedaxia.apidocs.Docs.buildHtmlDocs(Docs.java:38)
+	at edu.nju.BugApplication.main(BugApplication.java:30)

Some files were not shown because too many files changed in this diff