# Kylin World - 法律合规文档

> **版本**: 1.0  
> **最后更新**: 2026-06-19  
> **适用范围**: 所有使用 kylin/world 扩展包的系统  

---

## 一、适用法律法规

### 1.1 《中华人民共和国数据安全法》(2021.9.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第六条 | 各地区对本地区数据安全负责 | 全球国家/地区数据为公开基础数据 |
| 第二十一条 | 国家建立数据分类分级保护制度 | 地区数据为公开基础数据，无敏感信息 |

### 1.2 《中华人民共和国网络安全法》(2017.6.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第四十二条 | 网络运营者不得泄露、篡改、毁损其收集的个人信息 | 地区数据不含个人信息 |

### 1.3 《中华人民共和国个人信息保护法》(2021.11.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第六条 | 最小必要原则 | 仅包含国家/地区名称、代码、货币等公开信息 |

### 1.4 《中华人民共和国测绘法》(2017.7.1)

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| 第三十四条 | 县级以上人民政府测绘地理信息主管部门应当向社会公布公益性地图 | 地区数据为公开数据，合规使用 |

---

## 二、行业规范

### 2.1 ISO 3166-1 国家代码标准

| 条款 | 要求 | 合规要点 |
|------|------|----------|
| ISO 3166-1 | 国家/地区代码采用 2 位字母代码 | 遵循 ISO 3166-1 alpha-2 标准 |
| ISO 3166-2 | 国家行政区划代码 | 遵循 ISO 3166-2 标准 |

### 2.2 数据来源合规

- 数据来源：ISO 3166-1 国际标准 + 联合国公开数据
- 数据用途：国家选择、电话区号查询、货币信息查询
- 数据更新：跟随 ISO 标准更新

### 2.3 多语言规范

- 国家名称支持中英文双语
- 货币信息包含代码、符号、名称
- 电话区号遵循 ITU-T E.164 标准

---

## 三、合规检查清单

### 3.1 数据合规

- [x] 数据来源为 ISO 3166-1 标准 + 公开数据
- [x] 不包含个人信息
- [x] 编码遵循 ISO 标准

### 3.2 数据使用

- [x] 国家选择器
- [x] 电话区号查询
- [x] 货币信息查询

---

## 四、代码检测报告

### 4.1 检测结果

| 检测项 | 状态 | 说明 |
|------|------|------|
| 数据来源合规 | ✅ 已通过 | ISO 3166-1 标准数据 |
| 个人信息保护 | ✅ 已通过 | 不含个人信息 |
| 多语言支持 | ✅ 已通过 | 中英文国家名称 |
| ISO 标准 | ✅ 已通过 | 遵循 ISO 3166-1 |
| 货币信息 | ✅ 已通过 | 代码/符号/名称（ISO 4217） |
| 电话区号 | ✅ 已通过 | 遵循 ITU-T E.164 |
| 数据库迁移 | ✅ 已修复 | 新增 `kylin_regions` 表迁移文件，含国家/省/市/区县四级结构、经纬度、货币、电话区号字段 |
| 缓存优化 | ✅ 已通过 | 查询结果缓存 86400 秒（1 天） |
| 数据导入 | ✅ 已通过 | `ImportRegionsCommand` 支持从国家统计局数据导入 |
| Facade 方法别名 | ✅ 已修复 | 新增 `countries()`/`provinces()`/`cities()`/`districts()`/`regionTree()` 别名方法，与 README 文档一致 |
| 按编码/名称查询 | ✅ 已修复 | 新增 `byCode()`/`byName()`/`search()` 方法，支持按编码、名称、关键词搜索 |
| 缓存清理 | ✅ 已修复 | 新增 `clearCache()` 方法，支持手动清理缓存 |
| Facade docblock | ✅ 已修复 | `KylinWorld` Facade 添加完整方法注释 |

### 4.2 审查结论

本包为全球国家/地区数据包，数据来源为 ISO 3166-1 国际标准和联合国公开数据，不涉及个人信息。所有合规项均已通过检测。

**修复内容**：
1. 新增 `2026_06_01_000027_create_kylin_regions_table.php` 迁移文件
2. 表结构包含：id/parent_id/name/code/country_code/level/full_name/pinyin/short_name/calling_code/currency_code/currency_symbol/currency_name/longitude/latitude/sort/status
3. 索引：parent_id+level、country_code+level、code（唯一）
4. 符合 ISO 3166-1/3166-2、ISO 4217、ITU-T E.164 标准
5. `RegionService` 新增方法别名（`countries()`/`provinces()`/`cities()`/`districts()`/`regionTree()`），与 README 文档一致
6. `RegionService` 新增 `byCode()`/`byName()`/`search()` 查询方法
7. `RegionService` 新增 `clearCache()` 缓存清理方法
8. `KylinWorld` Facade 添加完整 docblock 方法注释

---

## 五、免责声明

本扩展包在代码层面实现了全球地区数据的合规管理，但不构成法律建议。使用方应：

1. 确保使用 ISO 最新版本的国家/地区数据
2. 不得将地区数据用于非法用途
3. 如涉及地图展示，需符合《测绘法》相关规定
4. 咨询专业法律顾问，确保系统整体合规