6.1.1 • Published 6 months ago

lcn v6.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
6 months ago

lcn

npm GitHub

中华人民共和国行政区划,省市区数据。

支持 umd es cjs 等模块格式。

各版本对应的数据源

lcn 版本数据源
v6.x2023年中华人民共和国县以上行政区划代码
v5.x2022年中华人民共和国行政区划代码
v1.x ~ v4.x2020年12月中华人民共和国县以上行政区划代码

使用

安装

npm install lcn
yarn add lcn
pnpm add lcn

示例

import { data, getPCA, getPC, parseCode } from "lcn";

// 获取内地省市区级联表单格式数据
const pca = getPCA({
  inland: true,
  fieldNames: { code: "value", name: "label" },
});
console.log(pca);

文档

  • 主要数据和方法

    • data - 全部省市区数据
    • getPCA - 获取省/市/区级联数据
    • getPC - 获取省/市级联数据
    • parseCode - 解析区县编码
  • 其他工具方法

    • isProvinceCode - 是否为省级码
    • isCityCode - 是否为市级码
    • isAreaCode - 是否为区级码
    • isInland - 是否为大陆内地区码
    • getProvinceCode - 获取 2 位省级编码
    • getCityCode - 获取 4 位市级编码
    • isCrownCountryCityCode - 是否为直辖市或直辖县的市级编码
    • getAreaCodeByNameAndCityCode - 通过区县名称和市编码反查区县编码

data

全部省市区数据。

[
  { code: "110000", name: "北京市" },
  { code: "110100", name: "北京市" },
  { code: "110101", name: "东城区" },
  { code: "110102", name: "西城区" },
  // ...
];

getPCA(options)

  • options <object> 配置项
  • options.inland <boolean> 仅包含中国大陆内地数据。默认为 false
  • options.fieldNames <{ code?: string; name?: string; children?: string; }> 自定义字段名
  • options.dataSource <{ code: string; name: string; }[]> 自定义数据源,默认 data
  • options.emptyChildrenValue <'array' | 'null' | 'none'> 子级为空时的值,默认 'array' 。array 表示为[],null 表示为 null,none 表示删除该子级。

获取省/市/区级联数据。

通过自定义字段名,可将数据成直接用于 antd element-ui 的表单组件中。

import { getPCA } from "lcn";

const data1 = getPCA();
console.log(data1);

[
  {
    code: "110000",
    name: "北京市",
    children: [
      // ...
    ],
  },
  // ...
];

const data2 = getPCA({
  inland: true,
  fieldNames: { code: "value", name: "label" },
});
console.log(data2);

[
  {
    value: "110000",
    label: "北京市",
    children: [
      // ...
    ],
  },
  // ...
];

如果需要转换不同字段,推荐使用 util-helpers.transformFieldNames 方法处理

getPC(options)

获取省/市级联数据。参数及用法同 getPCA 方法。

parseCode(areaCode, options?)

  • areaCode <string> 地区码
  • options <object> 配置项
  • options.dataSource <{ code: string; name: string; }[]> 自定义数据源,默认 data
  • options.ignoreCrownCountryCityName <boolean> 是否忽略直辖市或直辖县的市级名称,默认 false

解析地区码,返回一个元组 [省,市,区]

parseCode("410102"); // => [{ code: '410000', name: '河南省' }, { code: '410100', name: '郑州市' }, { code: '410102', name: '中原区' }];
parseCode("410100"); // => [{ code: '410000', name: '河南省' }, { code: '410100', name: '郑州市' }, null];
parseCode("410000"); // => [{ code: '410000', name: '河南省' }, null, null];
parseCode("000000"); // => [null, null, null];

注意,以下数据修正

1. 直辖市补充市级数据

  • 北京市(110000)
    • 北京市(110100)
  • 天津市(120000)
    • 天津市(120100)
  • 上海市(310000)
    • 上海市(310100)
  • 重庆市(500000)
    • 重庆市(500100)
    • 县(500200)

2. 部分省补充县级行政区划

3. 海南省三沙市补充区级数据

数据源自国家统计局 - 统计用区划和城乡划分代码

  • 海南省(460000)
    • 三沙市(460300)
      • 西沙群岛(460321)
      • 南沙群岛(460322)
      • 中沙群岛的岛礁及其海域(460323)

4. 以下几个特殊地级市,属于“不设区的市”

  • 广东省东莞市(441900)
  • 广东省中山市(442000)
  • 甘肃省嘉峪关市(620200)
  • 海南省儋州市(460400)

更多数据格式

如果在客户端中使用,并且没有用到全部数据,建议保存对应数据到本地。比如只用到省市级联数据,将 pc.json 保存本地即可。

文件数据格式描述
pca.jsonArray<{code, name, children?}>省/市/区级联数据
pc.jsonArray<{code, name, children?}>省/市级联数据
data.jsonArray<{code, name}>全部数据
provinces.jsonArray<{code, name}>省份数据
cities.jsonArray<{code, name}>市级数据
areas.jsonArray<{code, name}>区级数据

参考

6.1.1

6 months ago

6.1.0

8 months ago

6.0.0

1 year ago

5.0.6

2 years ago

4.1.7

2 years ago

5.0.5

2 years ago

5.0.4

2 years ago

4.1.6

2 years ago

4.1.5

2 years ago

5.0.3

2 years ago

5.0.2

2 years ago

4.1.4

2 years ago

5.0.1

2 years ago

4.1.3

2 years ago

5.0.0

3 years ago

4.1.2

3 years ago

4.1.1

3 years ago

3.1.0

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

4.1.0

3 years ago

4.0.0

3 years ago

3.0.4

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.2.4

4 years ago

2.2.1

5 years ago

2.2.3

5 years ago

2.2.2

5 years ago

2.2.0

5 years ago

2.1.0

5 years ago

2.0.0

5 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago