Skip to content

公共模块

查询当前APP是否需要更新(废弃)

  1. 请求链接: /app/update

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
packageNameStringY"com.tongtongsuo.app"包名
versionStringY"6.7.0"版本号
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "status": 200,
  "statusText": "",
  "content": {
    "needUpdate": 0
  }
}

查询是否需要更新启动图

  1. 请求链接: /check/updateSplashScreen

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
lastUpdateDateStringY"1546077115000"上次更新时间戳
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "status": 200,
  "statusText": "",
  "content": {
    "needUpdate": 0
  }
}

获取密码最大长度

  1. 请求链接: /system/getPasscodeMinLength

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "data": {
    "passcodeMinLength": 6
  },
  "errorCode": 0,
  "errorMsg": "表示成功或是"
}

获取平台IP和节点

  1. 请求链接: /check/getNbPlatformIpAndPort

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "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

  1. 请求链接: /check/getCids

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "specialStr": "SCIENER",
      "cid1": 1,
      "cid2": 1
    },
    {
      "specialStr": "HOTELLOW",
      "cid1": 12,
      "cid2": 1
    },
    {
      "specialStr": "HONEYWELL0305",
      "cid1": 11,
      "cid2": 5
    }
  ]
}

获取国家或地区

  1. 请求链接: /system/listCountry

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
typeStringY"1"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "list": [
    {
      "abbreviation": "CN",
      "code": "+86",
      "flag": "https://qiniucountryflag.sciener.cn/image/china.png",
      "group": "Z",
      "countryId": 9,
      "name": "中国"
    }
  ]
}

获取短信模版列表

  1. 请求链接: /template/listForSend

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
contentTypeStringY"2"
countryCodeStringY"%2B86"
lockIdStringY"9418481"
typeStringY"1"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "adminUsername": "15080825640",
  "isPaid": false,
  "templateList": [
    {
      "name": "默认模板",
      "templateId": 0
    }
  ]
}

检查账户密码

  1. 请求链接: /user/checkPassword

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
passwordStringY"f1ce0d10501f42a649f2035bb5830971"
  1. 返回参数及示例:
参数类型描述
statusInt状态码
statusTextString提示信息
contentString返回数据
json
{
  "errorCode": 0,
  "description": "表示成功或是。",
  "errorMsg": "success or means yes"
}

说明: countryId 后端会忽略,以 countryCode 为准

用户协议

  1. 请求链接: http://192.168.56.101:8099/app/userAgreement

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
langStringN"cn"中文zh_CN,英语en_US
  1. 返回参数及示例:

直接返回内容

隐私政策

  1. 请求链接: http://192.168.56.101:8099/app/privacy

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
langStringN"cn"中文zh_CN,英语en_US
  1. 返回参数及示例:

直接返回内容

个人信息收集清单

  1. 请求链接: http://192.168.56.101:8099/app/personalInformationCollectionList

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
langStringN"cn"中文zh_CN,英语en_US
  1. 返回参数及示例:

直接返回内容

第三方信息共享清单

  1. 请求链接: http://192.168.56.101:8099/app/thirdPartyInformationSharingList

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
langStringN"cn"中文zh_CN,英语en_US
  1. 返回参数及示例:

直接返回内容

应用权限说明

  1. 请求链接: http://192.168.56.101:8099/app/applicationPermissionDescription

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
langStringN"cn"中文zh_CN,英语en_US
  1. 返回参数及示例:

直接返回内容

获取文件上传参数

  1. 请求链接: /file/getUploadParams

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
modulestringY"avatar"auth、lock_fingerprint、lock_identity_card、lock_keyboard_pwd、lock、lock_key、avatar、firmware_upgrade、star_voice_shortcut
accountstringY/Nmodule=auth 时必填:手机号或邮箱
userIdintY/Nmodule=avatar、module=star_voice_shortcut 时必填:用户ID
lockIdintY/Nmodule=lock* 时必填:锁ID,例如lock_fingerprint时,既要lockId,也要fingerprintId,module=firmware_upgrade 必填
fingerprintIdintY/Nmodule=lock_fingerprint 时必填:人脸ID
identityCardIdintY/Nmodule=lock_identity_card 时必填:IC卡ID
keyboardPwdIdintY/Nmodule=lock_keyboard_pwd 时必填:密码ID
keyIdintY/Nmodule=lock_key 时必填:钥匙ID
versionstringY/N"v0.0.1"module=app 时必填
platformstringY/N"ios"/"andriod"module=app 时必填
filenamestringY"abc.jpg"文件名
sizeintY1024文件字节数
  1. 返回参数及示例:
参数类型描述
uploadUrlString上传地址
fileUrlString文件地址(执行上传后可用)
formDataObject需要传递到上传地址的表单数据
fileFieldString文件在表单中的key

说明:

  • 参考web页面 /file/testUpload
  • 拿到响应数据后,向 <uploadUrl> 发送POST FORM请求
  • Body FORM 中包含 formData+[<fileField>: 文件]
  • <uploadUrl> 有两种,一种是服务器本地储存,一种是OSS直传
  • 两者上传成功后的响应都是HTTP 204 NO CONTENT

示例代码:

javascript
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
}

公司介绍

  1. 请求链接: http://192.168.56.101:8099/app/introduce

  2. 请求方式: GET

  3. 参数说明:

名称类型是否必需示例描述
  1. 返回参数及示例:

直接返回内容

获取商城跳转地址

  1. 请求链接: /mall/getUrl

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
无参数,需要登录
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据

成功返回:

json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {
    "url": "https://xxx.cn/quick_login?id=4&key=1ffb9d37109b3343ebb04ccfcca02c8e"
  }
}

key错误返回:

json
{
  "status": "fail",
  "message": "未验证",
  "data": {
    "id": "4",
    "key": "1ffb9d37109b8351ebb04ccfcca02c"
  }
}

说明: 得到url,使用webview打开后会显示商城首页,并自动登录了当前用户

获取APP是否最新版本

  1. 请求链接: /app/getVersion

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
brandNamestringY"huawei"手机品牌名称
currentVersionstringY"1.0.0"当前版本
  1. 返回参数及示例:
参数类型描述
isUpdateInt是否要更新,如果当前状态是1说明需要更新
appDownloadUrlString如果安卓返回的是market:😕/,如果是IOS返回http地址
descriptionString更新内容详情
isForceUpdateInt是否强制更新
channelInt0-安卓 1-IOS 2-其他
json
{
  "isUpdate": 1,
  "appDownloadUrl": "",
  "description": "增加APP更新检测",
  "isForceUpdate": 1,
  "channel": 2
}

更新身份证信息

  1. 请求链接: /usersIdCard/updateIdCar

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
realNamestringY"张三"身份证姓名
idCardNumberstringY"11010119900307001X"身份证号码
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataObject返回数据
json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

获取OTA固件是否最新版本

  1. 请求链接: /app/getFwVersion

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
modelstringY"SYD8811-751"固件型号
currentVersionstringY"1.0.0"当前版本
  1. 返回参数及示例:
参数类型描述
isUpdateInt是否要更新,如果当前状态是1说明需要更新
downloadUrlString更新直连下载地址
descriptionString更新内容详情
json
{
  "isUpdate": 1,
  "downloadUrl": "https://local.lock.star-lock.cn/storage/fw_version/10.0.4/2cc14347-feab-465d-9e82-6e1cfb0cdeca.png",
  "description": ""
}

获取APP基本信息

  1. 请求链接: /app/getAppInfo

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
  1. 返回参数及示例:
参数类型描述
dataObject返回数据
wechat_service_urlString微信客服URL
appVersionHistoryUrlStringAPP版本历史URL
isShowValueServiceBoolean增值服务是否开放入口显示
json
{
  "data": {
    "wechat_service_url": "https://work.weixin.qq.com/kfid/kfca6b2fad1d8d30209",
    "appVersionHistoryUrl": "https://lock.local.star-lock.cn/appVersionHistory"
  },
  "isShowValueService": false
}

获取废弃API列表

  1. 请求链接: /app/getDeprecatedApiList

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
versionstringY"1.0.1"预编译后的下一个版本号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述
errorMsgString错误信息
dataArray返回数据
urlStringAPI地址
desString描述
json
{
  "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编译版本

  1. 请求链接: /app/checkAppBuildVersion

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
versionstringY"1.0.1"预编译后的下一个版本号
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
errorMsgString错误信息
descriptionString描述
dataObject返回数据

失败返回:

json
{
  "errorCode": 421,
  "errorMsg": "编译的版本号不能大于服务端限制的版本号:1.0.51",
  "description": "",
  "data": {}
}

成功返回:

json
{
  "errorCode": 0,
  "description": "success",
  "errorMsg": "success",
  "data": {}
}

图生视频

  1. 请求链接: /api/imageVideo/generate

  2. 请求方式: POST

  3. 参数说明:

名称类型是否必需示例描述
image_urlStringY"https://example.com/image.jpg"图片URL
promptStringY"提示词"提示词
  1. 返回参数及示例:
参数类型描述
errorCodeInt错误码
descriptionString描述信息
dataObject返回数据
  urlString视频URL
  sizeInt视频大小
  promptString提示词
json
{
  "errorCode": 0,
  "description": "success",
  "data": {
    "url": "https://example.com/video.mp4",
    "size": 100,
    "prompt": "提示词"
  }
}

鑫泓佳智能硬件通信协议文档