登录注册模块
注册
请求链接:
/user/register请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| receiverType | int | Y | 2 | 注册类型 1:手机号 2:邮箱 |
| countryCode | int/String | N | 86 | receiverType为1时 必填 |
| account | String | Y | "123456789@qq.com" | 手机号或邮箱地址 |
| password | String | Y | 登录密码 | |
| verificationCode | String | Y | "270930" | 验证码 |
| platId | int | Y | 2 | 1为WEB端,2为APP |
| deviceInfo | array | N | "deviceInfo": {"deviceBrand": "HUAWEI", "deviceModel": "BLA-AL00", "deviceVersion": "10", "deviceType": 10} | 记录用户注册时候的设备信息 |
| jsCode | String | N | "" | platId=3小程序登录必填 |
- 返回参数及示例:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"accessToken": "163|nSYpMxQyDA7thE6IPjSsFXTqvGFZOE5Es1zPRJbJab81f4a5",
"userid": 568,
"expiresAt": 1714445762,
"expiresAtString": "2024-04-30 10:56:02",
"mobile": "17027582521",
"headUrl": "https://ui-avatars.com/api/?name=&color=7F9CF5&background=EBF4FF",
"email": "",
"nickname": "",
"haveSafeAnswer": false,
"uid": 584,
"miniInfo": {
"openid": ""
}
}
}登录
请求链接:
/user/login请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| loginType | int | Y | 1 | 1为密码登录,2验证码登录 |
| password | String | Y | "123456" | 别加密了 |
| platId | int | Y | 2 | 1:web登录 2:APP登录 3:小程序登录 4:api登录 |
| uniqueid | String | Y | "B748F838-94EE-4BDB-A0E6-7B2D16849792" | |
| countryCode | int/String | N | 86 | 可不传:如果在国际上出现多个相同账号,服务器会返回要求上传指定区号 |
| username | String | Y | "15080825640" | 账号:手机号码或者邮箱 |
| deviceInfo | array | Y | "deviceInfo": {"deviceBrand": "HUAWEI", "deviceModel": "BLA-AL00", "deviceVersion": "10", "deviceType": 10} | 和注册接口一样的设备信息 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"status": 200,
"statusText": "",
"content": {
"mobile": "15080825640",
"uid": 16439295,
"headUrl": "",
"nickname": "15080825640",
"userid": "1992",
"haveSafeAnswer": false,
"email": "",
"accessToken": "mEqBoVdfl8Fts7+XKHCDY9xch82f2AS+hiLia8QJ62VKoZPbUxvByQjh2jZLhq2Y",
"isVip": 1,
"isNeedVerify": 0,
"starchart": {
"scdUrl": "http://sls1-scd.star-lock.cn:8710",
"starchartId": "1",
"starchartPeerPublicKey": "11010119900307001X",
"starchartPeerPrivateKey": "11010119900307001X"
}
}
}说明:
uid是该用户在星云平台的ID,目前发现的主要用途,是开锁时传递到锁中,进而作为开锁日志的一个字段,后面这个日志传到云端,用来区分是谁开的锁。- 应使用
userid字段作为本地缓存的前缀,防止切换用户后错误使用前一个登录用户的各类缓存 - token使用方法,放在请求头的
Authorization字段中:其中的"Bearer "是一个固定字符串,它的后面紧跟着是一个空格字符,然后是token本身Authorization: Bearer <Token>
登录V2
请求链接:
/v2/user/login请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| loginType | int | Y | 1 | 1为密码登录,2验证码登录 |
| password | String | Y | "123456" | 别加密了 |
| platId | int | Y | 2 | 1:web登录 2:APP登录 3:小程序登录 4:api登录 |
| uniqueid | String | Y | "B748F838-94EE-4BDB-A0E6-7B2D16849792" | |
| countryCode | int/String | N | 86 | 可不传:如果在国际上出现多个相同账号,服务器会返回要求上传指定区号 |
| username | String | Y | "15080825640" | 账号:手机号码或者邮箱 |
| deviceInfo | array | Y | "deviceInfo": {"deviceBrand": "HUAWEI", "deviceModel": "BLA-AL00", "deviceVersion": "10", "deviceType": 10} | 和注册接口一样的设备信息 |
| questions | array | N | [{"questionId":1,"answer":"猫"}] | 安全问题 登录新设备状态码为439时要求提交此参数 |
| verificationCode | int | N | 123456 | 安全验证 登录新设备状态码为440时要求提交此参数 |
| jsCode | String | N | "" | platId=3小程序登录时必填 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"status": 200,
"statusText": "",
"content": {
"mobile": "15080825640",
"uid": 16439295,
"headUrl": "",
"nickname": "15080825640",
"userid": "1992",
"haveSafeAnswer": false,
"email": "",
"accessToken": "mEqBoVdfl8Fts7+XKHCDY9xch82f2AS+hiLia8QJ62VKoZPbUxvByQjh2jZLhq2Y",
"isVip": 1,
"isNeedVerify": 0,
"starchart": {
"scdUrl": "http://sls1-scd.star-lock.cn:8710",
"starchartId": "1",
"starchartPeerPublicKey": "11010119900307001X",
"starchartPeerPrivateKey": "11010119900307001X"
},
"miniInfo": {
"openid": ""
}
}
}说明:
uid是该用户在星云平台的ID,目前发现的主要用途,是开锁时传递到锁中,进而作为开锁日志的一个字段,后面这个日志传到云端,用来区分是谁开的锁。- 应使用
userid字段作为本地缓存的前缀,防止切换用户后错误使用前一个登录用户的各类缓存 - token使用方法,放在请求头的
Authorization字段中:其中的"Bearer "是一个固定字符串,它的后面紧跟着是一个空格字符,然后是token本身Authorization: Bearer <Token>
重置密码
请求链接:
/user/resetPassword请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | String | Y | "+86" | 增加区号 |
| account | String | Y | "15080825640" | |
| date | String | Y | "1689238778276" | |
| newPassword | String | Y | "f1ce0d10501f42a649f2035bb5830971" | |
| uniqueid | String | Y | "B748F838-94EE-4BDB-A0E6-7B2D16849792" | |
| verificationCode | Long | Y | "409399" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}退出登录(@deprecated <=1.0.22)
请求链接:
/user/logout请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| deviceId | String | N | "b7bf25d3b9d044228c0278740d5d4f1c" | 推送设备号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}退出登录(@deprecated < 1.3.0)
请求链接:
/v2/user/logout请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| deviceId | String | N | "b7bf25d3b9d044228c0278740d5d4f1c" | 推送设备号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}退出登录
请求链接:
/v3/user/logout请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| storageNonce | String | N | "b7bf25d3b9d044228c0278740d5d4f1c" | 唯一 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}发送验证码
- 请求链接:
/user/sendValidationCode
说明
登陆后可使用 sendValidationCodeAuth 接口,免图片滑动验证,只需要 channel,codeType 两个参数即可
请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | String | N | "+86" | |
| account | String | Y | "15080825640" | |
| channel | String | Y | "1" | 1 短信,2 邮箱 |
| codeType | int | Y | 3 | 1注册,2找回密码,3绑定手机号,4解绑手机(换绑),5删除账号,6 绑定邮箱,7解绑邮箱(换绑),8删除锁,9更改密码(无需旧密码) |
| xWidth | int | Y | 183 | 上一步滑动验证码的位置 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"content": {
"originalImageBase64": "iVBORw0KGgoAAAANSUhEUgAAA...",
"jigsawImageBase64": "iVBORw0KGgoAAAANSUhEUgAAAC8...",
"secretKey": "krvhiki1dppum188",
"token": "da7790c7-1d32-9541-f3e1-e8fabe960698"
}
}发送验证码-获取滑动图片
请求链接:
/user/getSliderVerifyImg请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | String | N | "+86" | |
| account | String | Y | "15080825640" | |
| codeType | int | N | 0 | 默认0不校验 1注册,2找回密码,3绑定手机号,4解绑手机(换绑),5删除账号,6 绑定邮箱,7解绑邮箱(换绑),8删除锁 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"status": 200,
"statusText": "",
"content": {
"bigImg": "-"
}
}发送验证码-获取滑动图片是否可用
请求链接:
/user/isSliderValid请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| countryCode | String | N | "+86" | |
| account | String | Y | "15080825640" | |
| xWidth | String | Y | "183" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}删除账号
请求链接:
/user/delete请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| channel | int | Y | 1 | 1:短信,2:邮件 结合 verificationCode 使用的,需和发送验证码时一致 |
| verificationCode | int | Y | 476137 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}绑定APP设备(遗弃,请使用【绑定APP设备 <1.4.0】)
请求链接:
/user/bindAppId请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| deviceId | String | Y | 8e247b5f9c3a4040a4f6688b16586720 | 设备ID |
| deviceType | int | Y | 10 | 设备类型: 10-安卓, 20-IOS |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}绑定APP设备 <1.4.0(遗弃请用【绑定APP设备(> 1.4.0)】)
请求链接:
/user/bindPushToken请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| storageNonce | String | Y | "" | 唯一ID |
| channels | array | Y | [ {"channel": "xiaomi","channelToken": "12BYxxxxxxxxxxxxxxxxxxxxxxxxxx"}, {"channel": "fcm","channelToken": "12BYxxxxxxxxxxxxxxxxxxxxxxxxxx"}, {"channel": "jiguang","channelToken": "170976fa8b85726ff88"}, {"channel": "anps", "channelToken": "12BYxxxxxxxxxxxxxxxxxxxxxxxxxx", "voipToken": "3d45f083cedcad37e651c03b3b3585a82545f5dec3dd2427f7a7153c0355590f" } ] | 渠道列表 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}绑定APP设备(> 1.4.0)
请求链接:
/v2/user/bindPushToken请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| deviceName | String | Y | "HUAWEI" | 设备名称 |
| appPkgName | String | Y | "com.xxx.lock" | 包名 |
| storageNonce | String | Y | "" | 唯一ID |
| channels | array | Y | [ {"channel": "xiaomi","channelToken": "12BYxxxxxxxxxxxxxxxxxxxxxxxxxx"}, {"channel": "fcm","channelToken": "12BYxxxxxxxxxxxxxxxxxxxxxxxxxx"}, {"channel": "jiguang","channelToken": "170976fa8b85726ff88"}, {"channel": "anps", "channelToken": "12BYxxxxxxxxxxxxxxxxxxxxxxxxxx"}, {"channel": "uniapp", "channelToken": "token"} ] | 渠道列表 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": null
}更新云用户时区偏移
请求链接:
/cloudUser/updateSettings请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| timezone_offset | int | N | 28800 | 时区偏移单位(秒) |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}获取经纬度详情地址
请求链接:
/geocode/getAddress请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| latitude | int | Y | 22.543099 | |
| longitude | int | Y | 114.057868 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"addr": "广东省深圳市福田区莲花街道深圳市人民政府深圳市民中心C区",
"country": "中国",
"adcode": "440304",
"province": "广东省",
"city": "深圳市",
"township": "莲花街道",
"district": "福田区",
"address": "莲花街道人民政府民中心C区"
}小程序登录
请求链接:
/wechat/mini/login请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| js_code | string | Y | 0f1PUx1w3luPn33XnL1w3KvUbW3PUx1C | 小程序调起wx.login得到的code |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| openid | String | 用户的openid |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"openid": "o-V9s6wIgLou9lA12JQV-lPraNX8"
}
}说明:
- 未绑定用户, 返回openid准备下一步手机授权登录
- 绑定用户,直接登录成功,返回完整用户信息:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"accessToken": "11|eNqT67oIPrxbMDySYoqGlpse6bRH5cRGC5crg7S8a846d08c",
"userid": 1,
"expiresAt": 1732412933,
"expiresAtString": "2024-11-24 09:48:53",
"mobile": "13877776666",
"headUrl": "",
"email": "dev@star-lock.cn",
"nickname": "dev",
"haveSafeAnswer": false,
"isVip": 0,
"uid": 11023,
"openid": "o-V9s6wIgLou9lA12JQV-lPraNX8"
}
}小程序手机登录/切换
请求链接:
/wechat/mini/phone/login请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| openid | string | Y/N | o-V9s6wIgLou9lA12JQV-lPraNX8 | 用户的openid (切换时不用传) |
| encryptedData | string | Y | hox92xQmDzUBBnYUxX+gYquCqRsX3vSyFLBAj6tLBtwbwKuOrc7kkpOvPpbDQxpJXtFWfuFwQrorPTnOcUHXsI7WcmKrNkd2qYJSAQgQzSQ0WwKXSOnboNoXP+a5sUFE+RBrBtSspXLyF/fl0xCwaelaCwg0cSgB8VgUwemz+bT0mJRsDpldzRFfrLddthsxpVmx/2AkFF0qVQwVsn27gA== | wx.getPhoneNumber 返回用户授权手机号的加密数据 |
| iv | string | Y | ISyCF3FYGJd9xti6MyH3xQ== | wx.getPhoneNumber 返回用户授权手机号的加密方式 |
| rebind | bool | N | true | 是否为切换用户 |
| js_code | string | Y | 0f1PUx1w3luPn33XnL1w3KvUbW3PUx1C | 小程序调起wx.login得到的code |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| accessToken | String | 登录token |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"accessToken": "11|eNqT67oIPrxbMDySYoqGlpse6bRH5cRGC5crg7S8a846d08c",
"userid": 1,
"expiresAt": 1732412933,
"expiresAtString": "2024-11-24 09:48:53",
"mobile": "13877776666",
"headUrl": "",
"email": "dev@star-lock.cn",
"nickname": "dev",
"haveSafeAnswer": false,
"isVip": 0,
"uid": 11023
}
}小程序修改手机号
请求链接:
/wechat/mini/rebindPhone请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| openid | string | Y | o-V9s6wIgLou9lA12JQV-lPraNX8 | 用户的openid |
| encryptedData | string | Y | hox92xQmDzUBBnYUxX+gYquCqRsX3vSyFLBAj6tLBtwbwKuOrc7kkpOvPpbDQxpJXtFWfuFwQrorPTnOcUHXsI7WcmKrNkd2qYJSAQgQzSQ0WwKXSOnboNoXP+a5sUFE+RBrBtSspXLyF/fl0xCwaelaCwg0cSgB8VgUwemz+bT0mJRsDpldzRFfrLddthsxpVmx/2AkFF0qVQwVsn27gA== | wx.getPhoneNumber 返回用户授权手机号的加密数据 |
| iv | string | Y | ISyCF3FYGJd9xti6MyH3xQ== | wx.getPhoneNumber 返回用户授权手机号的加密方式 |
- 返回参数及示例:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"res": "success"
}
}小程序验证码修改密码
请求链接:
/wechat/mini/changePassword请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| channel | int | Y | 1 | 1手机验证码 2邮箱验证码 |
| verificationCode | string | Y | 123456 | 验证码 |
| password | string | Y | 265478 | 新密码 |
- 返回参数及示例:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"res": "success"
}
}快速手机号登录
请求链接:
/user/quickLogin请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| platId | int | Y | 2 | 登录渠道 1:web端 2:APP 3:微信小程序 |
| loginType | int | Y | 3 | 3:快速手机号登录 |
| loginToken | String | N | "" | 登录token:loginType=3 必传 |
| pkgName | String | N | "" | 包名 如"com.xxx.app" |
| deviceInfo | array | Y | "deviceInfo": {"deviceBrand": "HUAWEI", "deviceModel": "BLA-AL00", "deviceVersion": "10", "deviceType": 10} | 和注册接口一样的设备信息 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| openid | String | 用户的openid |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"accessToken": "11|eNqT67oIPrxbMDySYoqGlpse6bRH5cRGC5crg7S8a846d08c",
"userid": 1,
"expiresAt": 1732412933,
"expiresAtString": "2024-11-24 09:48:53",
"mobile": "13877776666",
"headUrl": "",
"email": "dev@star-lock.cn",
"nickname": "dev",
"haveSafeAnswer": false,
"isVip": 0,
"uid": 11023
}
}获取指定账号安全问题
请求链接:
/user/getSecurityQuestions请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| username | String | Y | 123@qq.com | |
| countryCode | String | N | "86" | 账号地区请通过登录模块同步此值 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| openid | String | 用户的openid |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"accessToken": "11|eNqT67oIPrxbMDySYoqGlpse6bRH5cRGC5crg7S8a846d08c",
"userid": 1,
"expiresAt": 1732412933,
"expiresAtString": "2024-11-24 09:48:53",
"mobile": "13877776666",
"headUrl": "",
"email": "dev@star-lock.cn",
"nickname": "dev",
"haveSafeAnswer": false,
"isVip": 0,
"uid": 11023
}
}设备管理
获取设备列表
请求链接:
/user/deviceToken/list请求方式:
POST参数说明:
无
- 返回参数及示例:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": [
{
"deviceId": 1,
"deviceName": "HUAWEI",
"storageNonce": "asda123123asdf1",
"loginDate": "2025-06-28 10:31:22",
"isReceiveNotification": 1
},
{
"deviceId": 2,
"deviceName": "HUAWEI",
"storageNonce": "asda123123asdf",
"loginDate": "2025-06-28 10:30:03",
"isReceiveNotification": 0
}
]
}字段说明:
deviceId: 设备IDdeviceName: 设备名称storageNonce: 设备编号loginDate: 最后登录时间isReceiveNotification: 是否可接收通知(1:是,0:否)
退出指定设备和登录状态
请求链接:
/user/deviceToken/logoutDevice请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| deviceId | int | Y | 1 | 设备ID |
- 返回参数及示例:
待补充
