chengmw
2026-04-03 d1034fc30e99091220ec867785e29e80be5c66b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
 * 法律条文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'
    });
  }
 
  /**
   * 根据法条ID查询法条详情
   * GET /api/web/lawProvision/listById
   * @param {string} provision_id - 法条ID
   * @returns {Promise} 法条详情
   */
  static getLawProvisionById(provision_id) {
    return request.get('/api/web/lawProvision/listById', { id: provision_id });
  }
}
 
export default LawAPIService;