/** * 法律条文API Service * 处理法律法规、法条相关接口 * 接口前缀: /api/web/lawInfo/*, /api/web/lawProvision/*, /api/web/lawOriginalInfo/* */ import { request } from './request'; class LawAPIService { /** * 法律列表分页查询 * GET /api/web/lawInfo/page * @param {Object} params - 查询参数 * @param {number} params.page - 当前页码 * @param {number} params.size - 每页记录数量 * @param {string} params.keyword - 查询关键词 * @param {string} params.lawNatures - 法律性质(多个用逗号拼接) * @param {string} params.authorities - 制定机关(多个用逗号拼接) * @param {string} params.validities - 时效性(多个用逗号拼接) * @param {string} params.publishStart - 公布日期开始(YYYY-MM-DD) * @param {string} params.publishEnd - 公布日期结束(YYYY-MM-DD) * @param {string} params.sortBy - 排序字段 * @param {string} params.sortOrder - 排序方式(asc/desc) * @returns {Promise} 法律列表分页数据 */ static getLawList(params = {}) { return request.get('/api/web/lawInfo/page', params); } /** * 根据法律信息ID查询法条列表 * GET /api/web/lawProvision/list * @param {string} law_info_id - 法律信息ID * @returns {Promise} 法条列表 */ static getLawProvisions(law_info_id) { return request.get('/api/web/lawProvision/list', { lawInfoId:law_info_id }); } /** * 法律分类统计 * GET /api/web/lawInfo/categoryCount * @returns {Promise} 分类统计信息 */ static getCategoryStatistics() { return request.get('/api/web/lawInfo/categoryCount'); } /** * 法律原文详情 * GET /api/web/lawOriginalInfo/getById * @param {string} law_original_info_id - 法律原文ID * @returns {Promise} 法律原文详情 */ static getLawOriginalDetail(law_original_info_id) { return request.get(`/api/web/lawOriginalInfo/getById?id=${law_original_info_id}`); } /** * 获取法律详情(包含基本信息和法条列表) * @param {string} id - 法律ID * @returns {Promise} 完整法律信息 */ static async getLawDetail(id) { try { // 并行获取法律基本信息和法条列表 const [basicInfo, provisions] = await Promise.all([ this.getLawOriginalDetail(id), this.getLawProvisions(id) ]); return { ...basicInfo.data, provisions: provisions.data || [] }; } catch (error) { return Promise.reject(error); } } /** * 搜索法律条文 * @param {Object} params - 搜索参数 * @param {string} params.keyword - 关键词 * @param {string} params.lawNatures - 法律性质(多个用逗号拼接) * @param {string} params.authorities - 制定机关(多个用逗号拼接) * @param {string} params.validities - 时效性(多个用逗号拼接) * @param {string} params.publishStart - 公布日期开始(YYYY-MM-DD) * @param {string} params.publishEnd - 公布日期结束(YYYY-MM-DD) * @param {number} params.page - 页码 * @param {number} params.size - 每页数量 * @returns {Promise} 搜索结果 */ static searchLaws(params = {}) { return this.getLawList(params); } /** * 获取热门法律法规(按访问量排序) * @param {number} limit - 限制数量 * @returns {Promise} 热门法律列表 */ static getHotLaws(limit = 10) { return this.getLawList({ page: 1, size: limit, sortBy: 'visit_count', sortOrder: 'desc' }); } /** * 获取最新法律法规(按发布时间排序) * @param {number} limit - 限制数量 * @returns {Promise} 最新法律列表 */ static getLatestLaws(limit = 10) { return this.getLawList({ page: 1, size: limit, sortBy: 'publish_time', sortOrder: 'desc' }); } } export default LawAPIService;