主题
登录接口
在用户登录时,需要调用登录接口,获取项目数据,项目公告,会话令牌和会话密钥,其中会话令牌和会话密钥需要保存到本地,用于后续的心跳守护和登出接口调用。
请求地址
请求方法
POST
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| secretId | string | 是 | 密钥id |
| secretKey | string | 是 | 密钥key |
| projectId | number | 是 | 项目id |
| username | string | 是 | 用户名或卡密 |
| password | string | 否 | 密码, 如果使用卡密登录,则不需要填写 |
| machineId | string | 是 | 机器码 |
| timestamp | number | 是 | UTC时间戳 |
请求示例
python
import requests
import time
secret_id = "你的密钥id"
secret_key = "你的密钥key"
project_id = 1 # 项目id
username = "你的用户名或卡密"
password = None # 密码,如果使用卡密登录,则不需要填写
machineId = "你的机器码"
timestamp = int(time.time())
url = "https://api.keyikami.com/api/v1/login"
response = requests.post(url, json={
"secretId": secret_id,
"secretKey": secret_key,
"projectId": project_id,
"username": username,
"password": password,
"machineId": machineId,
"timestamp": timestamp
})
print(response.json())响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | number | 状态码 |
| sessionToken | string | 会话令牌 |
| nextKey | string | 下次会话密钥 |
| data | string | 项目数据 |
| notice | string | 项目公告 |
| balance | number | 卡密的余额或剩余时长 |
| chargeType | number | 卡密类型 1: 按次 2: 按时长 |
注意
- sessionToken,nextKey 需要保存下来,在心跳接口和登出接口中的sessionToken,key 参数使用。
- 当卡密类型 chargeType 为 2 时,balance 为剩余时长,单位为毫秒,当卡密类型 chargeType 为 1 时,balance 为卡密剩余次数。
响应示例
请求成功的响应示例
json
{
"code": 0,
"sessionToken": "efdasfafasg4252addf",
"nextKey": "LKdasfafasgddf",
"data": "你的项目数据",
"notice": "你的项目公告",
"balance": 5000,
"chargeType": 2
}余额与卡密类型的使用示例
python
import time
if response.json()["chargeType"] == 2:
# 按时长
end_time = time.time() + response.json()["balance"]
print(f"卡密到期时间: {time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(end_time))}")
else:
# 按次
print(f"卡密余额: {response.json()['balance']}")