社区签到

January 13, 2025 · View on GitHub

更新时间: 20240805

请求地址

https://api.kurobbs.com/user/signIn

请求方式

POST

认证方式

token

请求头

字段类型必须内容备注
osversionstr-Android
devcodestr2fba3859fe9bfe9099f2696b8648c2c6似乎不要也行?
distinct_idstr-765485e7-30ce-4496-9a9c-a2ac1c03c02c
countrycodestr-CN
ipstr10.0.2.233
modelstr2211133C
sourcestrtrueandroid不填可能会code500
langstrzh-Hans
versionstr1.0.9
versioncodestr1090
tokenstrtruetoken令牌不能为空
content-typestrtrueapplication/x-www-form-urlencoded不填可能会code500
accept-encodingstrgzip
user-agentstrokhttp/3.10.0
hoststrtrueapi.kurobbs.com不填可能会code400

请求体

字符串拼接

字段类型内容备注
gameIdnum游戏 id战双 = 2, 鸣潮 = 3, 这个参数没卵用啊签到算一个的

响应体

json

根对象

字段类型内容备注
codenum返回值1511: 签到过了
220: token 失效
200: 成功, 只有成功时才有签到弹窗
msgstr提示信息请求成功/请勿重复签到
successbooltrue/false是否签到成功, token 有效时才有
注意如果被风控, 将报 cookie 过期, 但是返回值包含 success = false; 暂不明确风控原理
dataobj签到结果成功时才有

data 对象

字段类型内容备注
gainVoListarr签到获得的物品数组
continueDaysnum连签天数1

gainVoList 成员对象

字段类型内容备注
gainTypnum奖品类型?应该固定为2=库洛币, 改成其他签到成功弹窗就不显示物品信息了
gainValuenum奖品数量30

示例

请求

const url = 'https://api.kurobbs.com/user/haveSignIn'
const headers = {
    osversion: 'Android',
    devcode: '2fba3859fe9bfe9099f2696b8648c2c6',
    distinct_id: '765485e7-30ce-4496-9a9c-a2ac1c03c02c',
    countrycode: 'CN',
    ip: '10.0.2.233',
    model: '2211133C',
    source: 'android',
    lang: 'zh-Hans',
    version: '1.0.9',
    versioncode: '1090',
    token: 'eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVkIjoxNjg5NDk4MDkxMjQ1LCJ1c2VySWQiOjEwMDY1NjY5fQ.AAAA_AAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAA',
    'content-type': 'application/x-www-form-urlencoded',
    'accept-encoding': 'gzip',
    'user-agent': 'okhttp/3.10.0',
}

const formData = new URLSearchParams()
formData.append('gameId', 2)
try {
    const response = await fetch(url, {
        method: 'POST',
        headers: headers,
        body: formData,
    })

    if (!response.ok) {
        console.error('fetch error: ', response.status, response.statusText)
    }

    const rsp = await response.json()

    if (rsp.code === 200) {
        console.info('api rsp:', JSON.stringify(rsp))
    } else {
        console.error('api error:', JSON.stringify(rsp))
    }
} catch (error) {
    console.error('fetch error:', error)
}

响应

Success:

{
  "status": true,
  "data": {
    "gainVoList": [
      {
        "gainTyp": 2,
        "gainValue": 30
      }
    ],
    "continueDays": 1
  }
}

Failed:

{
    "code": 1511,
    "msg": "请勿重复签到",
    "success": false
}