New file |
| | |
| | | import request from "@/plugin/axios/index.ts"; |
| | | import { publicStore, publicRepository } from "@/assets/js/config"; |
| | | import { tokenKey } from "@/assets/js/config"; |
| | | import { handleQueryResourceListData } from "../tool"; |
| | | import toolClass from "@/assets/js/toolClass"; |
| | | const resourceApi = { |
| | | /* |
| | | **获取资源列表&详情** |
| | | path: 数据路径 |
| | | storeInfo: 仓储 |
| | | repositoryInfo: 仓库 |
| | | queryType: 检索类型 |
| | | paging: 分页 |
| | | sort: 排序 |
| | | fields: 自定义字段 |
| | | itemId: 获取详情时的资源ID |
| | | */ |
| | | getItem: ({ |
| | | path, |
| | | storeInfo = publicStore, |
| | | repositoryInfo = publicRepository, |
| | | queryType, |
| | | linkType, |
| | | paging, |
| | | sort, |
| | | fields, |
| | | itemId, |
| | | itemIds, |
| | | itemType, |
| | | coverSize, |
| | | itemIdArr, |
| | | SysType, |
| | | isHighQualityResources, |
| | | }) => { |
| | | if (!path) return Promise.reject("接口请求必要参数不能为空!"); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | const query = { |
| | | AccessControl: { |
| | | Path: path, |
| | | StoreRefCode: storeInfo + "", |
| | | RepositoryRefCode: repositoryInfo + "", |
| | | Type: queryType || "\\", |
| | | LinkType: linkType || "", |
| | | }, |
| | | PageQuery: { |
| | | Start: paging?.start || "0", |
| | | Size: paging?.size || "10", |
| | | }, |
| | | SortQuery: sort ? [sort] : [{ |
| | | LinkOrder: "Desc" |
| | | }], |
| | | CreateDate: [], |
| | | Description: [], |
| | | Name: [], |
| | | Icon: [], |
| | | RefCode: [], |
| | | Type: [], |
| | | TypeId: [], |
| | | State: [], |
| | | Tag: [], |
| | | LinkInfo: [], |
| | | LinkFile: [], |
| | | CmsItemType: [], |
| | | ChildrenFolderCount: [], |
| | | ChildrenCount: [], |
| | | ...fields, |
| | | }; |
| | | if (itemIdArr) query["Id"] = itemIdArr; |
| | | if (SysType) query["SysType="] = [`${SysType}`]; |
| | | if (isHighQualityResources) |
| | | query["isHighQualityResources="] = [ |
| | | `${isHighQualityResources}`, |
| | | ]; |
| | | if (itemId) query["Id="] = [`${itemId}`]; |
| | | if (itemIds) query["Id="] = itemIds; |
| | | if (itemType) query["Type="] = [`${itemType}`]; |
| | | const body = { query: JSON.stringify({ Query: [{ Q1: query }] }) }; |
| | | let token = localStorage.getItem(tokenKey); |
| | | return request({ |
| | | url: token ? "/resource/api/ApiAppUserQuery" : "/resource/api/ApiQuery", |
| | | method: "post", |
| | | data: body, |
| | | }).then((resp) => { |
| | | if (resp.length > 0) { |
| | | const data = resp[0]; |
| | | const datas = handleQueryResourceListData({ |
| | | datas: data.datas, |
| | | fields, |
| | | path, |
| | | storeInfo, |
| | | repositoryInfo, |
| | | coverSize, |
| | | }); |
| | | return { datas, total: data.totalCount }; |
| | | } |
| | | return { datas: [], total: 0 }; |
| | | }); |
| | | }, |
| | | // 模糊搜索 |
| | | EsQuery(query) { |
| | | let { params, path, paging } = query; |
| | | let queryBody = { |
| | | Type: "*", |
| | | Store: [], |
| | | ItemType: [], |
| | | CmsType: [], |
| | | SysType: ["CmsItem"], |
| | | LinkInfo: [], |
| | | PageQuery: { |
| | | Start: paging?.start || "0", |
| | | Size: paging?.size || "10", |
| | | }, |
| | | }; |
| | | // 设置不同的Path |
| | | |
| | | // 如果没有搜索关键字,则只用获取名称 |
| | | if (params.length > 0) { |
| | | let data = { |
| | | "||Name": [...params], |
| | | "||content*": [...params], |
| | | "||workflow*": [...params], |
| | | "||notes*": [...params], |
| | | "||caseIndex*": [...params], |
| | | "||basicCase*": [...params], |
| | | "||judgmentAndReasons*": [...params], |
| | | "||legalIssuesInvolvedInThisCase*": [...params], |
| | | "||referenceAnswerAndLegalAnalysis*": [...params], |
| | | "||case*": [...params], |
| | | "||clause*": [...params], |
| | | "||unscramble*": [...params], |
| | | "||specialRemind*": [...params], |
| | | "||fiction*": [...params], |
| | | "||authorityNature*": [...params], |
| | | "||authorityGist*": [...params], |
| | | "||penaltyGist*": [...params], |
| | | "||penaltyTerms*": [...params], |
| | | "||penaltyType*": [...params], |
| | | "||remarksNote*": [...params], |
| | | "||keyword*": [...params], |
| | | }; |
| | | Object.assign(queryBody, data); |
| | | } else { |
| | | let data = { |
| | | Name: [], |
| | | }; |
| | | Object.assign(queryBody, data); |
| | | } |
| | | |
| | | // 全部搜索 - 单独的某个库 |
| | | if (path != "All") { |
| | | let data = { |
| | | Path: [ |
| | | { |
| | | Repository: "tourismLawsAndRegulationsDatabase", |
| | | Path: path, |
| | | }, |
| | | ], |
| | | }; |
| | | Object.assign(queryBody, data); |
| | | } |
| | | const body = { query: JSON.stringify({ Query: [{ Q1: queryBody }] }) }; |
| | | |
| | | return request({ |
| | | url: "/resource/api/ApiEsQuery", |
| | | method: "post", |
| | | data: body, |
| | | }).then((res) => { |
| | | if (res.length > 0) { |
| | | const data = res[0]; |
| | | |
| | | const datas = handleQueryResourceListData({ |
| | | datas: data.datas, |
| | | path, |
| | | }); |
| | | return { datas, total: data.totalCount }; |
| | | } |
| | | return { data: [], total: 0 }; |
| | | }); |
| | | }, |
| | | |
| | | //获取资源类型 |
| | | getCmsTypeByRefCode(data) { |
| | | return request({ |
| | | url: "resource/api/ApiGetCmsTypeByRefCode", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | //取消cms收藏 |
| | | delCmsItemLink(data) { |
| | | return request({ |
| | | url: "/resource/api/ApiDelCmsItemLink", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | //cms收藏 |
| | | collectCmsItem(data) { |
| | | return request({ |
| | | url: "/resource/api/ApiAddCmsItemLink", |
| | | method: "post", |
| | | data, |
| | | }); |
| | | }, |
| | | |
| | | // 获取cms收藏列表 |
| | | getCmsCollectList(data) { |
| | | const body = { query: JSON.stringify({ Query: [{ Q1: data }] }) }; |
| | | return request({ |
| | | url: "/resource/api/ApiAppUserQuery", |
| | | method: "post", |
| | | data: body, |
| | | }); |
| | | }, |
| | | }; |
| | | |
| | | export default resourceApi; |