公共模块
查询当前APP是否需要更新(废弃)
请求链接:
/app/update请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| packageName | String | Y | "com.tongtongsuo.app" | 包名 |
| version | String | Y | "6.7.0" | 版本号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"status": 200,
"statusText": "",
"content": {
"needUpdate": 0
}
}查询是否需要更新启动图
请求链接:
/check/updateSplashScreen请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lastUpdateDate | String | Y | "1546077115000" | 上次更新时间戳 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"status": 200,
"statusText": "",
"content": {
"needUpdate": 0
}
}获取密码最大长度
请求链接:
/system/getPasscodeMinLength请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| 无 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"data": {
"passcodeMinLength": 6
},
"errorCode": 0,
"errorMsg": "表示成功或是"
}获取平台IP和节点
请求链接:
/check/getNbPlatformIpAndPort请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| 无 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"port": 5683,
"ip": "117.60.157.137",
"nbOperator": "46011"
},
{
"port": 5683,
"ip": "112.13.167.63",
"nbOperator": "46000"
},
{
"port": 8887,
"ip": "47.89.184.209",
"nbOperator": "21401"
},
{
"port": 8887,
"ip": "47.89.184.209",
"nbOperator": "50212"
},
{
"port": 8887,
"ip": "47.89.184.209",
"nbOperator": "50219"
}
]
}获取getCids
请求链接:
/check/getCids请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| 无 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"specialStr": "SCIENER",
"cid1": 1,
"cid2": 1
},
{
"specialStr": "HOTELLOW",
"cid1": 12,
"cid2": 1
},
{
"specialStr": "HONEYWELL0305",
"cid1": 11,
"cid2": 5
}
]
}获取国家或地区
请求链接:
/system/listCountry请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| type | String | Y | "1" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"list": [
{
"abbreviation": "CN",
"code": "+86",
"flag": "https://qiniucountryflag.sciener.cn/image/china.png",
"group": "Z",
"countryId": 9,
"name": "中国"
}
]
}获取短信模版列表
请求链接:
/template/listForSend请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| contentType | String | Y | "2" | |
| countryCode | String | Y | "%2B86" | |
| lockId | String | Y | "9418481" | |
| type | String | Y | "1" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"adminUsername": "15080825640",
"isPaid": false,
"templateList": [
{
"name": "默认模板",
"templateId": 0
}
]
}检查账户密码
请求链接:
/user/checkPassword请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| password | String | Y | "f1ce0d10501f42a649f2035bb5830971" |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
| statusText | String | 提示信息 |
| content | String | 返回数据 |
{
"errorCode": 0,
"description": "表示成功或是。",
"errorMsg": "success or means yes"
}说明: countryId 后端会忽略,以 countryCode 为准
用户协议
请求链接:
http://192.168.56.101:8099/app/userAgreement请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lang | String | N | "cn" | 中文zh_CN,英语en_US |
- 返回参数及示例:
直接返回内容
隐私政策
请求链接:
http://192.168.56.101:8099/app/privacy请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lang | String | N | "cn" | 中文zh_CN,英语en_US |
- 返回参数及示例:
直接返回内容
个人信息收集清单
请求链接:
http://192.168.56.101:8099/app/personalInformationCollectionList请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lang | String | N | "cn" | 中文zh_CN,英语en_US |
- 返回参数及示例:
直接返回内容
第三方信息共享清单
请求链接:
http://192.168.56.101:8099/app/thirdPartyInformationSharingList请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lang | String | N | "cn" | 中文zh_CN,英语en_US |
- 返回参数及示例:
直接返回内容
应用权限说明
请求链接:
http://192.168.56.101:8099/app/applicationPermissionDescription请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| lang | String | N | "cn" | 中文zh_CN,英语en_US |
- 返回参数及示例:
直接返回内容
获取文件上传参数
请求链接:
/file/getUploadParams请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| module | string | Y | "avatar" | auth、lock_fingerprint、lock_identity_card、lock_keyboard_pwd、lock、lock_key、avatar、firmware_upgrade、star_voice_shortcut |
| account | string | Y/N | module=auth 时必填:手机号或邮箱 | |
| userId | int | Y/N | module=avatar、module=star_voice_shortcut 时必填:用户ID | |
| lockId | int | Y/N | module=lock* 时必填:锁ID,例如lock_fingerprint时,既要lockId,也要fingerprintId,module=firmware_upgrade 必填 | |
| fingerprintId | int | Y/N | module=lock_fingerprint 时必填:人脸ID | |
| identityCardId | int | Y/N | module=lock_identity_card 时必填:IC卡ID | |
| keyboardPwdId | int | Y/N | module=lock_keyboard_pwd 时必填:密码ID | |
| keyId | int | Y/N | module=lock_key 时必填:钥匙ID | |
| version | string | Y/N | "v0.0.1" | module=app 时必填 |
| platform | string | Y/N | "ios"/"andriod" | module=app 时必填 |
| filename | string | Y | "abc.jpg" | 文件名 |
| size | int | Y | 1024 | 文件字节数 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| uploadUrl | String | 上传地址 |
| fileUrl | String | 文件地址(执行上传后可用) |
| formData | Object | 需要传递到上传地址的表单数据 |
| fileField | String | 文件在表单中的key |
说明:
- 参考web页面 /file/testUpload
- 拿到响应数据后,向
<uploadUrl>发送POST FORM请求- Body FORM 中包含 formData+[
<fileField>: 文件]<uploadUrl>有两种,一种是服务器本地储存,一种是OSS直传- 两者上传成功后的响应都是HTTP 204 NO CONTENT
示例代码:
const getUploadParams = async (filename, size) => {
let response = await axios.post('/file/getUploadParams', {
module: "lock_fingerprint",
filename: filename,
size: size,
lockId: 132,
fingerprintId: 123
})
return response.data.data;
}
const uploadFile = async (file) => {
let params = await getUploadParams(file.name, file.size)
let formData = new FormData();
for(let key in params.formData){
formData.append(key, params.formData[key]);
}
formData.append(params.fileField, file);
await axios.postForm(params.uploadUrl, formData)
return params.fileUrl
}公司介绍
请求链接:
http://192.168.56.101:8099/app/introduce请求方式:
GET参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| 无 |
- 返回参数及示例:
直接返回内容
获取商城跳转地址
请求链接:
/mall/getUrl请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| 无 | 无参数,需要登录 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
成功返回:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {
"url": "https://xxx.cn/quick_login?id=4&key=1ffb9d37109b3343ebb04ccfcca02c8e"
}
}key错误返回:
{
"status": "fail",
"message": "未验证",
"data": {
"id": "4",
"key": "1ffb9d37109b8351ebb04ccfcca02c"
}
}说明: 得到url,使用webview打开后会显示商城首页,并自动登录了当前用户
获取APP是否最新版本
请求链接:
/app/getVersion请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| brandName | string | Y | "huawei" | 手机品牌名称 |
| currentVersion | string | Y | "1.0.0" | 当前版本 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| isUpdate | Int | 是否要更新,如果当前状态是1说明需要更新 |
| appDownloadUrl | String | 如果安卓返回的是market:😕/,如果是IOS返回http地址 |
| description | String | 更新内容详情 |
| isForceUpdate | Int | 是否强制更新 |
| channel | Int | 0-安卓 1-IOS 2-其他 |
{
"isUpdate": 1,
"appDownloadUrl": "",
"description": "增加APP更新检测",
"isForceUpdate": 1,
"channel": 2
}更新身份证信息
请求链接:
/usersIdCard/updateIdCar请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| realName | string | Y | "张三" | 身份证姓名 |
| idCardNumber | string | Y | "11010119900307001X" | 身份证号码 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Object | 返回数据 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}获取OTA固件是否最新版本
请求链接:
/app/getFwVersion请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| model | string | Y | "SYD8811-751" | 固件型号 |
| currentVersion | string | Y | "1.0.0" | 当前版本 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| isUpdate | Int | 是否要更新,如果当前状态是1说明需要更新 |
| downloadUrl | String | 更新直连下载地址 |
| description | String | 更新内容详情 |
{
"isUpdate": 1,
"downloadUrl": "https://local.lock.star-lock.cn/storage/fw_version/10.0.4/2cc14347-feab-465d-9e82-6e1cfb0cdeca.png",
"description": ""
}获取APP基本信息
请求链接:
/app/getAppInfo请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| 无 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| data | Object | 返回数据 |
| wechat_service_url | String | 微信客服URL |
| appVersionHistoryUrl | String | APP版本历史URL |
| isShowValueService | Boolean | 增值服务是否开放入口显示 |
{
"data": {
"wechat_service_url": "https://work.weixin.qq.com/kfid/kfca6b2fad1d8d30209",
"appVersionHistoryUrl": "https://lock.local.star-lock.cn/appVersionHistory"
},
"isShowValueService": false
}获取废弃API列表
请求链接:
/app/getDeprecatedApiList请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| version | string | Y | "1.0.1" | 预编译后的下一个版本号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述 |
| errorMsg | String | 错误信息 |
| data | Array | 返回数据 |
| url | String | API地址 |
| des | String | 描述 |
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": [
{
"url": "user/logout",
"des": ""
},
{
"url": "/key/send",
"des": ""
},
{
"url": "keyGroup/addLockGroup",
"des": ""
},
{
"url": "lockSetting/updateLockSetting",
"des": ""
},
{
"url": "attendanceCompany/add",
"des": ""
}
]
}检测APP编译版本
请求链接:
/app/checkAppBuildVersion请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| version | string | Y | "1.0.1" | 预编译后的下一个版本号 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| errorMsg | String | 错误信息 |
| description | String | 描述 |
| data | Object | 返回数据 |
失败返回:
{
"errorCode": 421,
"errorMsg": "编译的版本号不能大于服务端限制的版本号:1.0.51",
"description": "",
"data": {}
}成功返回:
{
"errorCode": 0,
"description": "success",
"errorMsg": "success",
"data": {}
}图生视频
请求链接:
/api/imageVideo/generate请求方式:
POST参数说明:
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
| image_url | String | Y | "https://example.com/image.jpg" | 图片URL |
| prompt | String | Y | "提示词" | 提示词 |
- 返回参数及示例:
| 参数 | 类型 | 描述 |
|---|---|---|
| errorCode | Int | 错误码 |
| description | String | 描述信息 |
| data | Object | 返回数据 |
| url | String | 视频URL |
| size | Int | 视频大小 |
| prompt | String | 提示词 |
{
"errorCode": 0,
"description": "success",
"data": {
"url": "https://example.com/video.mp4",
"size": 100,
"prompt": "提示词"
}
}