From 188dda4a1bbd6f11c733047efb611555b52787e6 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Wed, 25 Mar 2026 17:01:10 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20=E4=BC=98=E5=8C=96=20hk4e=5Fugc?= =?UTF-8?q?=20=E5=B1=9E=E6=80=A7=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/schema/uigf4-schema.json | 195 +++++++++++++++--------------- 1 file changed, 99 insertions(+), 96 deletions(-) diff --git a/src/data/schema/uigf4-schema.json b/src/data/schema/uigf4-schema.json index 654a5cde..43e2b82f 100644 --- a/src/data/schema/uigf4-schema.json +++ b/src/data/schema/uigf4-schema.json @@ -312,106 +312,109 @@ }, "hk4e_ugc": { "type": "array", - "properties": { - "uid": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ], - "description": "UID" - }, - "timezone": { - "type": "integer", - "description": "Time zone offset" - }, - "lang": { - "type": "string", - "description": "Language code", - "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": "The internal ID of the record, returned by MiHoYo API", - "maxLength": 19, - "minLength": 1, - "pattern": "^[0-9]+$" + "items": { + "type": "object", + "properties": { + "uid": { + "oneOf": [ + { + "type": "string" }, - "schedule_id": { - "type": "string", - "description": "The schedule ID of the record, returned by MiHoYo API", - "minLength": 1, - "pattern": "^[0-9]+$" - }, - "item_type": { - "type": "string", - "description": "The type of the item, returned by MiHoYo API" - }, - "item_id": { - "type": "string", - "description": "The internal ID of the item", - "minLength": 1, - "pattern": "^[0-9]+$" - }, - "item_name": { - "type": "string", - "description": "The name of the item, returned by MiHoYo API" - }, - "rank_type": { - "type": "string", - "description": "The rank of the item, returned by MiHoYo API", - "minLength": 1, - "pattern": "^[0-9]+$" - }, - "time": { - "type": "string", - "description": "The local time in the timezone of the item being drawn.This MUST BE THE String typed value captured intact from the gacha record webpage WITHOUT ANY CONVERTION TO ANY DATE TYPES. Any conversion of such can cause potential timezone mistakes if the device time zone differs from the server time zone, unless special treatments are applied by individual app devs.", - "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$" - }, - "op_gacha_type": { - "type": "string", - "description": "The gacha type of the record, returned by MiHoYo API", - "enum": ["1000", "2000", "20011", "20012", "20021", "20022"] + { + "type": "integer" } - }, - "required": [ - "id", - "schedule_id", - "item_type", - "item_id", - "item_name", - "rank_type", - "time", - "op_gacha_type" + ], + "description": "UID" + }, + "timezone": { + "type": "integer", + "description": "Time zone offset" + }, + "lang": { + "type": "string", + "description": "Language code", + "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": "The internal ID of the record, returned by MiHoYo API", + "maxLength": 19, + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "schedule_id": { + "type": "string", + "description": "The schedule ID of the record, returned by MiHoYo API", + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "item_type": { + "type": "string", + "description": "The type of the item, returned by MiHoYo API" + }, + "item_id": { + "type": "string", + "description": "The internal ID of the item", + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "item_name": { + "type": "string", + "description": "The name of the item, returned by MiHoYo API" + }, + "rank_type": { + "type": "string", + "description": "The rank of the item, returned by MiHoYo API", + "minLength": 1, + "pattern": "^[0-9]+$" + }, + "time": { + "type": "string", + "description": "The local time in the timezone of the item being drawn.This MUST BE THE String typed value captured intact from the gacha record webpage WITHOUT ANY CONVERTION TO ANY DATE TYPES. Any conversion of such can cause potential timezone mistakes if the device time zone differs from the server time zone, unless special treatments are applied by individual app devs.", + "pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$" + }, + "op_gacha_type": { + "type": "string", + "description": "The gacha type of the record, returned by MiHoYo 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": ["uid", "timezone", "list"] + } } }, "required": ["info"]