# Kylin CADPA

Kylin CADPA 适龄提示与版号合规自检扩展包 — 依据 T/CADPA 14-2021 标准。

## 概述

本包实现网络游戏适龄提示（CADPA）标准，提供版号信息管理、合规自检清单和适龄等级匹配功能。

## 功能特性

### 1. 适龄等级管理

- 三个适龄等级：8+、12+、16+
- 根据用户年龄自动匹配适龄等级
- 标识展示规范校验（最小尺寸、视频时长、可点击展开）

### 2. 版号信息管理

- 版号信息维护（版号、出版单位、运营单位、有效期）
- 版号状态管理（草稿、已提交、已通过、已过期）
- 版号到期预警

### 3. 合规自检

- 18 项版号审核合规自检清单
- 必检项/建议项分类
- 自检报告（通过数、失败项、建议缺失项）

## 安装

```bash
composer require kylin/cadpa
```

## 配置发布

```bash
php artisan vendor:publish --tag=kylin-cadpa-config
php artisan vendor:publish --tag=kylin-cadpa-migrations
php artisan migrate
```

## 使用示例

### 适龄等级查询

```php
use Kylin\Cadpa\Facades\KylinCadpa;

// 根据年龄获取适龄等级
$rating = KylinCadpa::ratingForAge(15);
// ['label' => '12+', 'min_age' => 12, 'name' => '适合 12 周岁及以上']
```

### 合规自检

```php
$report = KylinCadpa::audit([
    'realname'            => true,  // 强制实名认证
    'no_guest'            => true,  // 禁止游客模式
    'time_limit_minor'    => true,  // 未成年人时段限制
    'pay_limit_minor'     => true,  // 未成年人消费限额
    'no_pay_under_8'      => true,  // 8 周岁以下禁止充值
    'cadpa_label'         => true,  // CADPA 适龄标识
    'sensitive_word'      => true,  // 敏感词过滤
    'no_violence'         => true,  // 禁止暴力血腥
    'no_sexy'             => true,  // 禁止色情低俗
    'no_political'        => true,  // 禁止政治敏感
    'no_history_nihilism' => true,  // 禁止历史虚无
    'no_gambling'         => true,  // 禁止赌博诱导
    'rng_publish'         => true,  // 随机抽取公示概率
    'no_currency_exchange'=> true,  // 禁止虚拟货币双向兑换
    'no_daily_login_reward'=> false, // 禁止每日登录奖励（草案）
    'guardian_service'    => true,  // 监护人服务通道
    'audit_log'           => true,  // 日志保留 >= 5 年
    'pi_protection'       => true,  // 个人信息保护
]);

// $report = [
//     'passed'           => false,
//     'total'            => 18,
//     'passed_count'     => 17,
//     'failed'           => [['code' => 'no_daily_login_reward', 'name' => '...']],
//     'optional_missing' => [],
// ]
```

### 标识展示规范

```php
$spec = KylinCadpa::displaySpec();
// ['min_size_ratio' => 0.1, 'video_min_seconds' => 3, 'click_to_expand' => true]
```

## 数据库表

运行迁移创建以下表：

- `kc_cadpa_certs` - 版号证书表（版号信息、适龄等级、合规清单、状态）

## 依赖

- PHP ^8.5
- Laravel ^13.0
- kylin/core

## 许可证

私有软件，未经授权禁止使用。