Merge pull request #31 from duzhaokun123/kotlin

fix bug
This commit is contained in:
czp 2020-03-15 17:44:50 +08:00 committed by GitHub
commit 1eecf572e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 2 deletions

View File

@ -5,7 +5,7 @@
# 使用
```groovy
compile group: 'com.hiczp', name: 'bilibili-api', version: '0.1.2'
compile group: 'com.hiczp', name: 'bilibili-api', version: '0.1.3'
```
# 技术说明
@ -102,6 +102,21 @@ login(username, password, challenge, secCode, validate)
登陆后, 可以访问全部 API(注意, 有一些明显不需要登录的 API 也有可能需要登录).
注意, 即使返回`code`为0也不一定登录成功, 例如
```json
{
"ts": 1584206212,
"code": 0,
"data": {
"status": 1,
"url": "https://passport.bilibili.com/mobile/verifytel_h5.html?mid\u003d517548681\u0026tel\u003d156****0364\u0026source\u003d2\u0026keepTime\u003d0\u0026appId\u003d878\u0026subId\u003d0\u0026ticket\u003d1"
}
}
```
需要手动判断`data.url`是否为`null`, 尽管这种情况不多见
由于各种需要登陆的 API 在未登录时返回的 `code` 并不统一, 因此没有办法做自动 `token` 刷新, 自己看着办.
在真实的客户端上, 每次一打开 APP 就会访问[个人信息 API](#获取个人信息)来确定 `token` 是否仍然可用, 这就是 B站 自己的解决方案.

View File

@ -16,7 +16,7 @@ buildscript {
}
group = 'com.hiczp'
version = '0.1.2'
version = '0.1.3'
description = 'Bilibili Android client API library for Kotlin'
apply plugin: 'kotlin'

View File

@ -22,6 +22,10 @@ data class LoginResponse(
var status: Int, // 0
@SerializedName("token_info")
var tokenInfo: TokenInfo
@SerializedName("url")
var url: String
@SerializedName("status")
var status: int
) : Serializable {
data class CookieInfo(
@SerializedName("cookies")