/* 语义分析管理 */
import http from "@/api/http.js"

//标签管理
const tagInterface = {
  /**
   * 标签列表
   * @param {PageSize,CurrentIndex,Keyword} 
   * PageSize Number 
   * CurrentIndex Number
   * Keyword String 搜索关键词
   */
  getTagList:params=>{
    return http.get('/semantic_analysis/label/page_list',params)
  },
  /**
   * 新增标签
   * @param {LabelName}
   * LabelName String 标签名称
   */
  addNewTag:params=>{
    return http.post('/semantic_analysis/label/add',params)
  },
  /**
   * 编辑标签
   * @param {SaLabelId,LabelName}
   * SaLabelId Number 标签ID
   * LabelName String 标签名称
   */
   editTag:params=>{
    return http.post('/semantic_analysis/label/edit',params)
  },
  /**
   * 删除标签
   * @param {SaLabelId}
   * SaLabelId Number 标签ID
   */
  deleteTag:params=>{
    return http.post('/semantic_analysis/label/del',params)
  },
  /**
   * 获取标签引用详情
   * @param {LabelId}
   * LabelId Number 标签ID
   */
  getTagUseDetail:params=>{
    return http.get('/semantic_analysis/label/use_detail',params)
  }
}

//文档管理
const documentInterface = {
  /**
   * 文档分类列表
   * @param {} 
   */
  getClassifyList:params=>{
    return http.get('/semantic_analysis/doc_classify/list',params)
  },
  /**
   * 新增文档分类
   * @param {ClassifyName,CoverImg} 
   * ClassifyName String 分类名称
   * CoverImg String 图片地址
   */
  addNewClassify:params=>{
    return http.post('/semantic_analysis/doc_classify/add',params)
  },
  /**
   * 编辑文档分类
   * @param {SaDocClassifyId,ClassifyName,CoverImg} 
   * SaDocClassifyId Number 文档分类ID
   * ClassifyName String 分类名称
   * CoverImg String 图片地址
   */  
  editClassify:params=>{
    return http.post('/semantic_analysis/doc_classify/edit',params)
  },
  /**
   * 删除文档分类
   * @param {SaDocClassifyId} 
   * SaDocClassifyId Number 文档分类ID
   */
  deleteClassify:params=>{
    return http.post('/semantic_analysis/doc_classify/del',params)
  },
  /**
   * 文档列表
   * @param {PageSize,CurrentIndex,Keyword,ClassifyId} 
   * PageSize Number 
   * CurrentIndex Number
   * Keyword Number
   * ClassifyId Number 文档分类ID
   */
  getDocumentList:params=>{
    return http.get('/semantic_analysis/doc/page_list',params)
  },
  /**
   * 文档详情
   * @param {DocId} 
   * DocId Number 文档ID
   */
  getDocumentDetail:params=>{
    return http.get('/semantic_analysis/doc/detail',params)
  },
  /**
   * 删除文档
   * @param {DocId} 
   * SaDocId Number 文档ID
   */
  deleteDocument:params=>{
    return http.post('/semantic_analysis/doc/del',params)
  },
  /**
   * 新增文档
   * @param {Title,Theme,ClassifyId,Content} 
   * Title String 文档标题
   * Theme String 文档主题
   * ClassifyId String 文档分类
   * Content String 文档内容
   */  
  addDocument:params=>{
    return http.post('/semantic_analysis/doc/add',params)
  },
  /**
   * 编辑文档
   * @param {SaDocId,Title,Theme,ClassifyId,SectionList} 
   * SaDocId Number 文档ID
   * Title String 文档标题
   * Theme String 文档主题
   * ClassifyId String 文档分类
   * SectionList Array 文档段落化后的数组
   *  SectionList.SaDocSectionId Number 段落ID 为0时表示新增
   *  SectionList.DocId Number 文档ID
   *  SectionList.Content String 段落内容
   *  SectionList.Sort Number 段落排序
   */ 
  editDocument:params=>{
    return http.post('/semantic_analysis/doc/edit',params)
  },
  /**
   * 移动文档
   * @param {Object} params 
   * @param {Number} params.SaDocId 文档ID
   * @param {Number} params.SaDocClassifyId 移动放入的文档分类ID
   * @param {Number} params.PrevSaDocId 上一个文档ID 如果置顶则为0
   * @param {Number} params.NextSaDocId 下一个文档ID 如果置底则为0
   * @returns 
   */
  moveDocument:params=>{
    return http.post('/semantic_analysis/doc/move',params)
  }
}

//文档对比管理
const semanticInterface = {
  /**
   * 语义分析分类列表
   * @param {} 
   */
  getClassifyList:params=>{
    return http.get('/semantic_analysis/compare_classify/list',params)
  },
  /**
   * 新增语义分析分类
   * @param {ClassifyName} 
   * ClassifyName String 分类名称
   */ 
  addNewClassify:params=>{
    return http.post('/semantic_analysis/compare_classify/add',params)
  }, 
  /**
   * 编辑语义分析分类
   * @param {SaCompareClassifyId,ClassifyName} 
   * SaCompareClassifyId Number 语义分类ID
   * ClassifyName String 分类名称
   */   
  editClassify:params=>{
    return http.post('/semantic_analysis/compare_classify/edit',params)
  },
  /**
   * 删除语义分析分类
   * @param {SaCompareClassifyId} 
   * SaCompareClassifyId Number 语义分类ID
   */
  deleteClassify:params=>{
    return http.post('/semantic_analysis/compare_classify/del',params)
  },  
  /**
   * 语义分析列表
   * @param {PageSize,CurrentIndex,Keyword,ClassifyId} 
   * PageSize Number 
   * CurrentIndex Number
   * Keyword String
   * ClassifyId Number
   */
  getSemanticList:params=>{
    return http.get('/semantic_analysis/compare/page_list',params)
  },
  /**
   * 删除语义分析
   * @param {SaCompareId} 
   * SaCompareId Number 对比ID
   */
  deleteSemantic:params=>{
    return http.post('/semantic_analysis/compare/del',params)
  },
  /**
   * 保存（编辑）语义分析
   * @param {SaCompareId,Title,ClassifyId,CompareList} 
   * SaCompareId Number 对比ID =0是新增，>0是编辑
   * Title Number 语义分析名称
   * ClassifyId String 所属分类ID
   * CompareList Number
   */
  saveSemantic:params=>{
    return http.post('/semantic_analysis/compare/save',params)
  },
  /**
   * 语义分析详情
   * @param {CompareId} 
   * CompareId 语义分析ID
   */
  getSemanticDetail:params=>{
    return http.get('/semantic_analysis/compare/detail',params)
  },
  /**
   * 获取对比文档详情
   * @param {DocIds} 
   * DocIds String 文档IDs 用英文逗号拼接
   */
  getCompareDocumentDetail:params=>{
    return http.get('/semantic_analysis/compare/select_docs',params)
  },
  /**
   * 更新对比结果图片
   * @param {SaCompareId,ResultImg} 
   * SaCompareId Number 对比ID 即保存/另存为成功后返回的ID
   * ResultImg String 对比结果图片地址
   */
  updateSemanticImg:params=>{
    return http.post('/semantic_analysis/compare/update_result_img',params)
  },
  /**
   * 上传图片
   * @param {*} params Image
   * @returns 
   */
  uploadImg:params => {
    return http.post('/resource/upload_image_base64',params)
  },
  /**
   * 
   * @param {*} params 
   * SaCompareId Number 对比ID
   * Keywords Array 搜索词
   * @returns 
   */
  saveKeyWords:params => {
      return http.post('/semantic_analysis/compare/save_keywords',params)
  },
  /**
   * 移动语义分析
   * @param {Object} params 
   * @param {Number} params.SaCompareId 语义分析ID
   * @param {Number} params.SaCompareClassifyId 移动放入的语义分析分类ID
   * @param {Number} params.PrevSaDocId 上一个文档ID 如果置顶则为0
   * @param {Number} params.NextSaDocId 下一个文档ID 如果置底则为0
   * @returns 
   */
  moveCompare:params => {
      return http.post('/semantic_analysis/compare/move',params)
  }
}



export {tagInterface,documentInterface,semanticInterface}