mirror of
https://github.com/UIGF-org/mihoyo-api-collect.git
synced 2025-12-16 22:28:13 +08:00
【P】修复不合理的说明
【A】在首页增加缺失的文档超链接
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
- [密码登录](#密码登录)
|
||||
- [操作步骤](#操作步骤)
|
||||
- [获取设备指纹信息(device_fp)](#获取设备指纹信息)
|
||||
- [获取设备指纹(`device_fp`)](#获取设备指纹)
|
||||
- [发送登录请求](#发送登录请求)
|
||||
|
||||
---
|
||||
@@ -11,10 +11,10 @@
|
||||
|
||||
### 操作步骤
|
||||
|
||||
1. [获取设备指纹信息](#获取设备指纹信息),记录返回`data`对象的`device_fp。
|
||||
2. 向服务器传入账号密码以获取登录信息。
|
||||
1. [获取设备指纹信息](#获取设备指纹),记录返回`data`对象的`device_fp`。
|
||||
2. 向服务器传入账号密码以[获取登录信息](#发送登录请求),获取响应头中所有`Set-Cookie`。可获取的Cookie有:Account ID、MiHoYo id、LToken(V2)、特定Cookie Token。
|
||||
|
||||
### 获取设备指纹信息
|
||||
### 获取设备指纹
|
||||
|
||||
**国服:**
|
||||
|
||||
@@ -26,13 +26,13 @@ _请求方式:POST_
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---------- | ---- | ----------------------------------- | --------------------------------------------------------- |
|
||||
| device_id | str | 设备id | |
|
||||
| seed_id | str | 种子id | 可随机生成 |
|
||||
| seed_time | str | 当前UNIX时间戳 | |
|
||||
| platform | str | 设备平台 | 不同的设备平台需要包含的拓展字段内容不同 |
|
||||
| device_fp | str | 设备指纹信息 | 可随机生成 |
|
||||
| app_name | str | 请求的应用名称<br /> bbs_cn 米游社 | |
|
||||
| ext_fields | str | 拓展字段 | 为使用字符串包裹的 json 字段,若platform为4则必须包含 userAgent 字段,若platform为2则需要包含['cpuType', 'romCapacity', 'productName', 'romRemain', 'manufacturer', 'appMemory', 'hostname', 'screenSize', 'osVersion', 'aaid', 'vendor', 'accelerometer', 'buildTags', 'model', 'brand', 'oaid', 'hardware', 'deviceType', 'devId', 'serialNumber', 'buildTime', 'buildUser', 'ramCapacity', 'magnetometer', 'display', 'ramRemain', 'deviceInfo', 'gyroscope', 'vaid', 'buildType', 'sdkVersion', 'board']字段 |
|
||||
| device_id | str | 设备ID | |
|
||||
| seed_id | str | 一般为随机值 | |
|
||||
| seed_time | str | 当前的Unix时间戳 | |
|
||||
| platform | str | 设备平台<br>1 iOS<br>2 安卓<br>4 网页 | 不同的设备平台需要在`ext_fields`字段中填写的的内容不同 |
|
||||
| device_fp | str | 设备指纹 | 在此处可随机生成 |
|
||||
| app_name | str | 请求的应用标识符<br>bbs_cn 米游社 | |
|
||||
| ext_fields | str | 一些设备信息 | 为JSON字符串。若`platform`为`4`,则必须包含`userAgent`字段;若`platform`为`2`,则需要包含['cpuType', 'romCapacity', 'productName', 'romRemain', 'manufacturer', 'appMemory', 'hostname', 'screenSize', 'osVersion', 'aaid', 'vendor', 'accelerometer', 'buildTags', 'model', 'brand', 'oaid', 'hardware', 'deviceType', 'devId', 'serialNumber', 'buildTime', 'buildUser', 'ramCapacity', 'magnetometer', 'display', 'ramRemain', 'deviceInfo', 'gyroscope', 'vaid', 'buildType', 'sdkVersion', 'board']字段 |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
@@ -46,52 +46,52 @@ _请求方式:POST_
|
||||
"device_fp": "38d7efe8b7f79",
|
||||
"app_name": "bbs_cn",
|
||||
"ext_fields": "{
|
||||
\"cpuType\":\"arm64-v8a\",
|
||||
\"romCapacity\":\"512\",
|
||||
\"productName\":\"ishtar\",
|
||||
\"romRemain\":\"459\",
|
||||
\"manufacturer\":\"Xiaomi\",
|
||||
\"appMemory\":\"512\",
|
||||
\"hostname\":\"xiaomi.eu\",
|
||||
\"screenSize\":\"1440x3022\",
|
||||
\"osVersion\":\"13\",
|
||||
\"aaid\":\"a945fe0c-5f49-4481-9ee8-418e74508414\",
|
||||
\"vendor\":\"中国电信\",
|
||||
\"accelerometer\":\"0.061016977x0.8362915x9.826724\",
|
||||
\"buildTags\":\"release-keys\",
|
||||
\"model\":\"2304FPN6DC\",
|
||||
\"brand\":\"Xiaomi\",
|
||||
\"oaid\":\"67b292338ad57a24\",
|
||||
\"hardware\":\"qcom\",
|
||||
\"deviceType\":\"ishtar\",
|
||||
\"devId\":\"REL\",
|
||||
\"serialNumber\":\"unknown\",
|
||||
\"buildTime\":\"1690889245000\",
|
||||
\"buildUser\":\"builder\",
|
||||
\"ramCapacity\":\"229481\",
|
||||
\"magnetometer\":\"80.64375x-14.1x77.90625\",
|
||||
\"display\":\"TKQ1.221114.001 release-keys\",
|
||||
\"ramRemain\":\"110308\",
|
||||
\"deviceInfo\":"Xiaomi/ishtar/ishtar:13/TKQ1.221114.001/V14.0.17.0.TMACNXM:user/release-keys",
|
||||
\"gyroscope\":\"7.9894776E-4x-1.3315796E-4x6.6578976E-4\",
|
||||
\"vaid\":\"4c10d338150078d8",
|
||||
\"buildType\":\"user\",
|
||||
\"sdkVersion\":\"33\",
|
||||
\"board\":\"kalama\"
|
||||
}",
|
||||
\"cpuType\":\"arm64-v8a\",
|
||||
\"romCapacity\":\"512\",
|
||||
\"productName\":\"ishtar\",
|
||||
\"romRemain\":\"459\",
|
||||
\"manufacturer\":\"Xiaomi\",
|
||||
\"appMemory\":\"512\",
|
||||
\"hostname\":\"xiaomi.eu\",
|
||||
\"screenSize\":\"1440x3022\",
|
||||
\"osVersion\":\"13\",
|
||||
\"aaid\":\"a945fe0c-5f49-4481-9ee8-418e74508414\",
|
||||
\"vendor\":\"中国电信\",
|
||||
\"accelerometer\":\"0.061016977x0.8362915x9.826724\",
|
||||
\"buildTags\":\"release-keys\",
|
||||
\"model\":\"2304FPN6DC\",
|
||||
\"brand\":\"Xiaomi\",
|
||||
\"oaid\":\"67b292338ad57a24\",
|
||||
\"hardware\":\"qcom\",
|
||||
\"deviceType\":\"ishtar\",
|
||||
\"devId\":\"REL\",
|
||||
\"serialNumber\":\"unknown\",
|
||||
\"buildTime\":\"1690889245000\",
|
||||
\"buildUser\":\"builder\",
|
||||
\"ramCapacity\":\"229481\",
|
||||
\"magnetometer\":\"80.64375x-14.1x77.90625\",
|
||||
\"display\":\"TKQ1.221114.001 release-keys\",
|
||||
\"ramRemain\":\"110308\",
|
||||
\"deviceInfo\":\"Xiaomi/ishtar/ishtar:13/TKQ1.221114.001/V14.0.17.0.TMACNXM:user/release-keys\",
|
||||
\"gyroscope\":\"7.9894776E-4x-1.3315796E-4x6.6578976E-4\",
|
||||
\"vaid\":\"4c10d338150078d8\",
|
||||
\"buildType\":\"user\",
|
||||
\"sdkVersion\":\"33\",
|
||||
\"board\":\"kalama\"
|
||||
}",
|
||||
"bbs_device_id": "b66a6178-f56d-30ed-97aa-297560c98fc1"
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
**JSON 返回:**
|
||||
**JSON返回:**
|
||||
|
||||
根对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------- | ---- | --------------- | ---- |
|
||||
| retcode | num | 返回码 | -502 传入的内容有误 |
|
||||
| retcode | num | 返回码<br>-502 传入的内容有误 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | 设备指纹 | |
|
||||
|
||||
@@ -100,7 +100,7 @@ _请求方式:POST_
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ------ | ---- | ------------------ | ------------------- |
|
||||
| device_fp | str | 设备指纹 | |
|
||||
| code | num | 回传的http状态码 | |
|
||||
| code | num | 返回码 | |
|
||||
| msg | str | 错误消息 | |
|
||||
|
||||
<details>
|
||||
@@ -108,13 +108,13 @@ _请求方式:POST_
|
||||
|
||||
```json
|
||||
{
|
||||
'data':{
|
||||
'code': 200,
|
||||
'device_fp': 'ui33vcedffou',
|
||||
'msg': 'ok'
|
||||
},
|
||||
'message': 'OK',
|
||||
'retcode': 0
|
||||
"message": "OK",
|
||||
"retcode": 0,
|
||||
"data": {
|
||||
"code": 200,
|
||||
"device_fp": "ui33vcedffou",
|
||||
"msg": "ok"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -134,11 +134,9 @@ _请求方式:POST_
|
||||
>
|
||||
> `x-rpc-game_biz`:`bbs_cn`
|
||||
>
|
||||
> `x-rpc-device_fp`
|
||||
> `x-rpc-device_fp`:刚获取的设备指纹
|
||||
>
|
||||
> `x-rpc-device_id`
|
||||
>
|
||||
> *其中`x-rpc-device_fp`的值为刚才获取的`device_fp`的值*
|
||||
> `x-rpc-device_id`:与上个步骤传递的设备ID相同
|
||||
|
||||
`https://passport-api.mihoyo.com/account/ma-cn-passport/app/loginByPassword`
|
||||
|
||||
@@ -146,8 +144,8 @@ _请求方式:POST_
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| account | str | 要登录的账户 | 使用RSA + Base64加密,加密方式[详见该页面](password_passport.md#%E8%8E%B7%E5%8F%96login-ticket) |
|
||||
| password | str | 密码 | 使用RSA + Base64加密,加密方式[详见该页面](password_passport.md#%E8%8E%B7%E5%8F%96login-ticket) |
|
||||
| account | str | 将登录账户的绑定邮箱或绑定手机 | 使用RSA + Base64加密,加密方式[详见该页面](password_passport.md#获取login-ticket) |
|
||||
| password | str | 将登录账户的密码 | 使用RSA + Base64加密,加密方式[详见该页面](password_passport.md#获取login-ticket) |
|
||||
|
||||
**JSON返回:**
|
||||
|
||||
@@ -155,70 +153,94 @@ _请求方式:POST_
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| retcode | num | 返回码<br> | |
|
||||
| retcode | num | 返回码 | |
|
||||
| message | str | 返回消息 | |
|
||||
| data | obj | 账户信息| |
|
||||
| data | obj | 账号信息 | |
|
||||
|
||||
`data`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | ---- | ---- | ---- |
|
||||
| login_ticket | str | Login Ticket | |
|
||||
| login_ticket | str | Login Ticket | 在一些情况下没有该字段 |
|
||||
| need_realperson | str | 是否要求用户进行实名认证 | |
|
||||
| token | obj | 包含stoken_v2?的对象 | |
|
||||
| token | obj | 该账户的SToken(V2) | 在一些情况下没有该字段 |
|
||||
| user_info | obj | 用户信息 | |
|
||||
| reactivate_info | obj | 待调查 | |
|
||||
| realname_info | obj | 待调查 | |
|
||||
|
||||
`user_info`对象:
|
||||
`data`对象→`user_info`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| --------------- | ---- | -------------------------------------------- | ------------ |
|
||||
| account_name | str | 账户名 | 国服默认为空 |
|
||||
| account_name | str | 账号名称 | 总是为空字符串 |
|
||||
| aid | str | Account ID | |
|
||||
| area_code | str | 账户所绑定的电话号码对应的国家区号 | |
|
||||
| country | str | 国家 | 国服默认为空 |
|
||||
| email | str | 账户所绑定的邮箱 | |
|
||||
| identity_code | str | 身份证号码 | |
|
||||
| is_email_verify | str | 邮箱是否认证通过<br />1 已认证<br />0 未认证 | |
|
||||
| area_code | str | 账号所绑定的电话号码对应的国家区号 | |
|
||||
| country | str | 国家 | 总是为空字符串 |
|
||||
| email | str | 账号所绑定的邮箱 | |
|
||||
| identity_code | str | 账号的实名认证身份证号 | |
|
||||
| is_email_verify | str | 邮箱是否通过认证<br>1 已认证<br>0 未认证 | |
|
||||
| links | str | 第三方绑定信息 | |
|
||||
| mid | str | MiHoYo ID | |
|
||||
| mobile | str | 账户所绑定的电话号码 | |
|
||||
| realname | str | 用户的真实姓名 | |
|
||||
| mobile | str | 账号的绑定手机 | |
|
||||
| realname | str | 账号的实名认证姓名 | |
|
||||
|
||||
`data`对象→`token`对象:
|
||||
|
||||
| 字段 | 类型 | 内容 | 备注 |
|
||||
| ---- | --- | ---- | ---- |
|
||||
| token_type | num | 1 | |
|
||||
| token | str | SToken(V2) | |
|
||||
|
||||
<details>
|
||||
<summary>查看示例</summary>
|
||||
|
||||
```json
|
||||
{
|
||||
'data': {'login_ticket': '***',
|
||||
'need_realperson': False,
|
||||
'reactivate_info': {'required': False, 'ticket': ''},
|
||||
'realname_info': {'action_ticket': '',
|
||||
'action_type': '',
|
||||
'required': False},
|
||||
'token': {'token': '***',
|
||||
'token_type': 1},
|
||||
'user_info': {'account_name': '',
|
||||
'aid': '311526738',
|
||||
'area_code': '+86',
|
||||
'country': '',
|
||||
'email': '***@***.****',
|
||||
'identity_code': '******************',
|
||||
'is_email_verify': 1,
|
||||
'links': [{'email': '',
|
||||
'nickname': '***',
|
||||
'subType': '',
|
||||
'thirdparty': 'tp',
|
||||
'union_id': '***'}],
|
||||
'mid': '0d5cf7piru_mhy',
|
||||
'mobile': '***********',
|
||||
'realname': '***',
|
||||
'rebind_area_code': '',
|
||||
'rebind_mobile': '',
|
||||
'rebind_mobile_time': '0',
|
||||
'safe_area_code': '',
|
||||
'safe_mobile': ''}},
|
||||
'message': 'OK',
|
||||
'retcode': 0
|
||||
"data": {
|
||||
"login_ticket": "***",
|
||||
"need_realperson": false,
|
||||
"reactivate_info": {
|
||||
"required": false,
|
||||
"ticket": ""
|
||||
},
|
||||
"realname_info": {
|
||||
"action_ticket": "",
|
||||
"action_type": "",
|
||||
"required": false
|
||||
},
|
||||
"token": {
|
||||
"token": "***",
|
||||
"token_type": 1
|
||||
},
|
||||
"user_info": {
|
||||
"account_name": "",
|
||||
"aid": "311526738",
|
||||
"area_code": "+86",
|
||||
"country": "",
|
||||
"email": "**********",
|
||||
"identity_code": "******************",
|
||||
"is_email_verify": 1,
|
||||
"links": [
|
||||
{
|
||||
"email": "",
|
||||
"nickname": "***",
|
||||
"subType": "",
|
||||
"thirdparty": "tp",
|
||||
"union_id": "***"
|
||||
}
|
||||
],
|
||||
"mid": "******",
|
||||
"mobile": "***********",
|
||||
"realname": "***",
|
||||
"rebind_area_code": "",
|
||||
"rebind_mobile": "",
|
||||
"rebind_mobile_time": "0",
|
||||
"safe_area_code": "",
|
||||
"safe_mobile": ""
|
||||
}
|
||||
},
|
||||
"message": "OK",
|
||||
"retcode": 0
|
||||
}
|
||||
```
|
||||
</details>
|
||||
|
||||
Reference in New Issue
Block a user