/**
|
* 法律条文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;
|