public async Task <IActionResult> DeleteNotebook(string token, string noteRepositoryId, string notebookId, bool recursively, bool force, string dataSignJson) { User user = tokenSerivce.GetUserByToken(token); var verify = false; ApiRe re = new ApiRe() { Ok = false, Msg = "NOTLOGIN", }; if (user == null) { re.Msg = "NOTLOGIN"; return(LeanoteJson(re)); } if (this.config.SecurityConfig.ForceDigitalSignature) { //验证签名 var dataSign = DataSignDTO.FromJSON(dataSignJson); verify = await this.ePassService.VerifyDataSign(dataSign); if (!verify) { return(LeanoteJson(re)); } verify = dataSign.SignData.Operate.Equals("/api/Notebook/DeleteNotebook"); if (!verify) { re.Msg = "Operate is not Equals "; return(LeanoteJson(re)); } //签名存证 this.dataSignService.AddDataSign(dataSign, "DeleteNotebook"); } var message = ""; var notebook = notebookService.GetNotebookById(notebookId.ToLongByHex()); var repositoryId = notebook.NotesRepositoryId; if (repositoryId != noteRepositoryId.ToLongByHex()) { return(LeanoteJson(re)); } //鉴别用户是否有权限 verify = noteRepositoryService.Verify(repositoryId, user.UserId, RepositoryAuthorityEnum.Write); if (verify == false) { return(LeanoteJson(re)); } //增加usn var usn = noteRepositoryService.IncrUsn(repositoryId); if (recursively) { re.Ok = notebookService.DeleteNotebookRecursively(notebookId.ToLongByHex(), usn); } else { re.Ok = notebookService.DeleteNotebook(notebookId.ToLongByHex(), usn); } return(LeanoteJson(re)); }