diff --git a/docs/standards/UIGF.md b/docs/standards/UIGF.md index 27d28933..3a9aa28e 100644 --- a/docs/standards/UIGF.md +++ b/docs/standards/UIGF.md @@ -2,29 +2,31 @@ Author: 目棃 Description: UIGF v4 Backup Date: 2024-11-11 -Update: 2024-11-11 +Update: 2026-02-07 --- > 本文档 [`Frontmatter`](https://github.com/BTMuli/MuCli#Frontmatter) 由 [MuCli](https://github.com/BTMuli/Mucli) 自动生成于 `2024-11-11 11:57:27` > -> 更新于 `2024-11-11 11:57:27` +> 更新于 `2026-02-07 21:29:27` -> 本文档为 [UIGF v4.0](https://github.com/UIGF-org/UIGF-org.github.io/blob/main/docs/zh/standards/uigf.md) 的备份,仅供参考。 +> 本文档为 [UIGF v4.2](https://github.com/UIGF-org/UIGF-org.github.io/blob/main/docs/zh/standards/uigf.md) 的备份,仅供参考。 -# 统一可交换抽卡记录标准 v4.0 - -> Uniformed Interchangeable GachaLog Format standard (UIGF) v4.0 +# 统一可交换抽卡记录标准 v4.2 +> Uniformed Interchangeable GachaLog Format standard (UIGF) v4.2 ::: warning 中断性更新警告 `UIGF v4.0 及更高版本` 对于 `UIGF v3.0 及更低版本` 和 `SRGF v1.0` **不具备向下兼容性**。UIGF/SRGF 合作项目如需适配,需重新认证。 ::: ## 更新记录 +| 版本 | 说明 | 兼容 | +|--------|-----------------------------|------------| +| `v3.0` | 低版本的更新日志请查看历史版本 | v3.0 及更低版本 | +| `v4.0` | 合并 SRGF,新增绝区零抽卡格式支持 | v4.0 | +| `v4.1` | 新增对星穹铁道 v3.4 版所引入的新的卡池类型的支持 | v4.1/v4.0* | +| `v4.2` | 新增对于千星奇域的支持 | v4.1 | -| 版本 | 说明 | 兼容 | -| ------ | --------------------------------- | --------------- | -| `v3.0` | 低版本的更新日志请查看历史版本 | v3.0 及更低版本 | -| `v4.0` | 合并 SRGF,新增绝区零抽卡格式支持 | v4.0 | +* 对于无需处理星穹铁道的应用,v4.1 与 v4.0 兼容。 ## 前言 @@ -77,11 +79,11 @@ Update: 2024-11-11 }, "export_app": { "type": "string", - "description": "导出档案的 App 名称" + "description": "导出档案的应用名称" }, "export_app_version": { "type": "string", - "description": "导出档案的 App 版本" + "description": "导出档案的应用版本" }, "version": { "type": "string", @@ -89,7 +91,12 @@ Update: 2024-11-11 "description": "导出档案的 UIGF 版本号,格式为 'v{major}.{minor}',如 v4.0" } }, - "required": ["export_timestamp", "export_app", "export_app_version", "version"] + "required": [ + "export_timestamp", + "export_app", + "export_app_version", + "version" + ] }, "hk4e": { "type": "array", @@ -140,12 +147,25 @@ Update: 2024-11-11 "uigf_gacha_type": { "type": "string", "description": "UIGF 卡池类型,用于区分卡池类型不同,但卡池保底计算相同的物品", - "enum": ["100", "200", "301", "302", "500"] + "enum": [ + "100", + "200", + "301", + "302", + "500" + ] }, "gacha_type": { "type": "string", "description": "卡池类型,米哈游 API 返回", - "enum": ["100", "200", "301", "302", "400", "500"] + "enum": [ + "100", + "200", + "301", + "302", + "400", + "500" + ] }, "item_id": { "type": "string", @@ -157,7 +177,8 @@ Update: 2024-11-11 }, "time": { "type": "string", - "description": "抽取物品时对应时区(timezone)下的当地时间" + "description": "抽取物品时对应时区(timezone)下的当地时间", + "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$" }, "name": { "type": "string", @@ -173,14 +194,27 @@ Update: 2024-11-11 }, "id": { "type": "string", - "description": "记录内部 ID,米哈游 API 返回" + "description": "记录内部 ID,米哈游 API 返回", + "maxLength": 19, + "minLength": 1, + "pattern": "^[0-9]+$" } }, - "required": ["uigf_gacha_type", "gacha_type", "item_id", "time", "id"] + "required": [ + "uigf_gacha_type", + "gacha_type", + "item_id", + "time", + "id" + ] } } }, - "required": ["uid", "timezone", "list"] + "required": [ + "uid", + "timezone", + "list" + ] } }, "hkrpg": { @@ -231,12 +265,19 @@ Update: 2024-11-11 "properties": { "gacha_id": { "type": "string", - "description": "卡池 Id" + "description": "卡池 ID" }, "gacha_type": { "type": "string", "description": "卡池类型", - "enum": ["1", "2", "11", "12"] + "enum": [ + "1", + "2", + "11", + "12", + "21", + "22" + ] }, "item_id": { "type": "string", @@ -248,7 +289,8 @@ Update: 2024-11-11 }, "time": { "type": "string", - "description": "抽取物品时对应时区(timezone)下的当地时间" + "description": "抽取物品时对应时区(timezone)下的当地时间", + "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$" }, "name": { "type": "string", @@ -264,14 +306,27 @@ Update: 2024-11-11 }, "id": { "type": "string", - "description": "记录内部 ID,米哈游 API 返回" + "description": "记录内部 ID,米哈游 API 返回", + "maxLength": 19, + "minLength": 1, + "pattern": "^[0-9]+$" } }, - "required": ["gacha_type", "gacha_id", "time", "item_id", "id"] + "required": [ + "gacha_type", + "gacha_id", + "time", + "item_id", + "id" + ] } } }, - "required": ["uid", "timezone", "list"] + "required": [ + "uid", + "timezone", + "list" + ] } }, "nap": { @@ -322,12 +377,17 @@ Update: 2024-11-11 "properties": { "gacha_id": { "type": "string", - "description": "卡池 Id" + "description": "卡池 ID" }, "gacha_type": { "type": "string", "description": "卡池类型", - "enum": ["1", "2", "3", "5"] + "enum": [ + "1", + "2", + "3", + "5" + ] }, "item_id": { "type": "string", @@ -339,7 +399,8 @@ Update: 2024-11-11 }, "time": { "type": "string", - "description": "抽取物品时对应时区(timezone)下的当地时间" + "description": "抽取物品时对应时区(timezone)下的当地时间", + "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$" }, "name": { "type": "string", @@ -355,17 +416,132 @@ Update: 2024-11-11 }, "id": { "type": "string", - "description": "记录内部 ID,米哈游 API 返回" + "description": "记录内部 ID,米哈游 API 返回", + "maxLength": 19, + "minLength": 1, + "pattern": "^[0-9]+$" } }, - "required": ["gacha_type", "item_id", "time", "id"] + "required": [ + "gacha_type", + "item_id", + "time", + "id" + ] } } }, - "required": ["uid", "timezone", "list"] + "required": [ + "uid", + "timezone", + "list" + ] } + }, + "hk4e_ugc": { + "type": "array", + "properties": { + "uid": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ], + "description": "UID" + }, + "timezone": { + "type": "integer", + "description": "时区偏移,由米哈游 API 返回,若与服务器时区不同请注意 list 中 time 的转换" + }, + "lang": { + "type": "string", + "description": "语言代码", + "enum": [ + "de-de", + "en-us", + "es-es", + "fr-fr", + "id-id", + "it-it", + "ja-jp", + "ko-kr", + "pt-pt", + "ru-ru", + "th-th", + "tr-tr", + "vi-vn", + "zh-cn", + "zh-tw" + ] + }, + "list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "记录内部 ID,米哈游 API 返回", + "maxLength": 19, + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "schedule_id": { + "type": "string", + "description": "卡池排期 ID,米哈游 API 返回", + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "item_type": { + "type": "string", + "description": "物品类型,米哈游 API 返回" + }, + "item_id": { + "type": "string", + "description": "物品 ID,米哈游 API 返回", + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "item_name": { + "type": "string", + "description": "物品名称,米哈游 API 返回" + }, + "rank_type": { + "type": "string", + "description": "物品等级,米哈游 API 返回", + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "time": { + "type": "string", + "description": "抽取物品时对应时区(timezone)下的当地时间", + "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$" + }, + "op_gacha_type": { + "type": "string", + "description": "卡池类型,米哈游 API 返回", + "enum": [ + "1000", + "2000", + "20011", + "20012", + "20021", + "20022" + ] + } + }, + "required": ["id","schedule_id","item_type","item_id","item_name","rank_type","time","op_gacha_type"] + } + } + }, + "required": ["uid", "timezone", "list"] } }, - "required": ["info"] + "required": [ + "info" + ] } -``` +``` \ No newline at end of file