211 lines
5.6 KiB
JavaScript
211 lines
5.6 KiB
JavaScript
import starCloudInstance from '../star-cloud'
|
||
import { Result } from '../constant'
|
||
|
||
export { Result }
|
||
|
||
/**
|
||
* 账户信息
|
||
* @typedef {Object} AccountInfo
|
||
* @property {Number} uid 用户ID
|
||
* @property {String} username 用户名
|
||
* @property {String} password 密码
|
||
*/
|
||
|
||
/**
|
||
* 初始化星云
|
||
* @param params
|
||
* @param {String} params.clientId 客户端Id
|
||
* @param {String} params.clientSecret 客户端密码
|
||
* @param {Array<AccountInfo>} params.accounts 账号列表,后续方法中需传入uid,若未传入则默认使用第一个账号
|
||
* @param {String} params.env 环境
|
||
* @param {Boolean} params.isReportLog 是否上报日志
|
||
*/
|
||
export const init = params => {
|
||
starCloudInstance.init({
|
||
...params,
|
||
platform: 1
|
||
})
|
||
}
|
||
|
||
/**
|
||
* 注册星云
|
||
* @returns Result
|
||
*/
|
||
export const register = async () => {
|
||
return await starCloudInstance.register()
|
||
}
|
||
|
||
/**
|
||
* 退出登录
|
||
* @param params
|
||
* @param {Number} params.uid 用户ID
|
||
*/
|
||
export const logout = params => {
|
||
starCloudInstance.logout(params)
|
||
}
|
||
|
||
/**
|
||
* 选择锁
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {Number} params.lockId 锁ID
|
||
* @returns Result
|
||
*/
|
||
export const selectLock = async params => {
|
||
return await starCloudInstance.selectLock(params)
|
||
}
|
||
|
||
/**
|
||
* 开门
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {String} params.type 开门方式 close: 关门 open: 开门
|
||
* @param {Boolean} [params.disconnect] 操作后是否断开连接,默认断开
|
||
* @returns Result
|
||
*/
|
||
export const openDoor = async params => {
|
||
return await starCloudInstance.openDoor(params)
|
||
}
|
||
|
||
/**
|
||
* 离线密码
|
||
* @typedef {Object} OfflinePassword
|
||
* @property {String} keyboardPwdName - 密码名称
|
||
* @property {Number} keyboardPwdType - 密码类型
|
||
* @property {Number} lockId - 锁 Id
|
||
* @property {Number} isCoerced - 是否胁迫模式 1:胁迫 2:非胁迫
|
||
* @property {Number} startDate - 开始日期时间戳(毫秒,永久默认为0)
|
||
* @property {Number} endDate - 结束日期时间戳(毫秒,永久默认为0)
|
||
* @property {Number} hoursStart - 开始时间(小时, 不需要时传0)
|
||
* @property {Number} hoursEnd - 结束时间(小时, 不需要时传0)
|
||
*/
|
||
|
||
/**
|
||
* 获取离线密码
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {OfflinePassword} params.password 密码信息
|
||
* @returns Result
|
||
*/
|
||
export const getOfflinePassword = async params => {
|
||
return await starCloudInstance.getOfflinePassword(params)
|
||
}
|
||
|
||
/**
|
||
* 自定义密码
|
||
* @typedef {Object} CustomPassword
|
||
* @property {String} keyboardPwdName - 密码名称
|
||
* @property {Number} keyboardPwdType - 密码类型:2:永久 3:限期
|
||
* @property {Number} isCoerced - 是否是胁迫密码,1:是 2:否
|
||
* @property {Number} startDate - 起始时间(毫秒)
|
||
* @property {Number} endDate - 结束时间(毫秒)
|
||
* @property {Number} keyboardPwd - 密码
|
||
* @property {Number} addType - 添加方式,当前仅支持1 1:蓝牙 2:网关
|
||
* @property {Number} operate - 操作 0:注册 1:修改 2:删除自定义密码 3:删除离线密码
|
||
* @property {Number} pwdRight - 是否是管理员密码 0:不是 1:是
|
||
* @property {Number} [keyboardPwdId] - 密码Id(创建无需传)
|
||
* @property {Number} [pwdNo] - 密码编号(创建无需传)
|
||
*/
|
||
|
||
/**
|
||
* 自定义密码
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {CustomPassword} params.password 密码信息
|
||
* @param {Boolean} [params.disconnect] 操作后是否断开连接,默认断开
|
||
* @returns Result
|
||
*/
|
||
export const customPassword = async params => {
|
||
return await starCloudInstance.customPassword(params)
|
||
}
|
||
|
||
/**
|
||
* 搜索蓝牙设备
|
||
* @callback {Function} callback 回调方法
|
||
* @returns Result
|
||
*/
|
||
export const searchDevice = async callback => {
|
||
return await starCloudInstance.searchDevice(callback)
|
||
}
|
||
|
||
/**
|
||
* 停止搜索
|
||
* @returns Result
|
||
*/
|
||
export const stopSearchDevice = async () => {
|
||
return await starCloudInstance.stopSearchDevice()
|
||
}
|
||
|
||
/**
|
||
* 绑定设备
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {String} params.name 设备名称
|
||
* @returns Result
|
||
*/
|
||
export const bindDevice = async params => {
|
||
return await starCloudInstance.bindDevice(params)
|
||
}
|
||
|
||
/**
|
||
* 移除坏锁
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {List[Number]} params.lockIds 锁Id列表
|
||
* @returns Result
|
||
*/
|
||
export const removeBadLock = async params => {
|
||
return await starCloudInstance.removeBadLock(params)
|
||
}
|
||
|
||
/**
|
||
* 删除锁
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
*/
|
||
export const deleteLock = async params => {
|
||
return await starCloudInstance.deleteLock(params)
|
||
}
|
||
|
||
/**
|
||
* 修改管理员密码
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {String} params.adminPwd 管理员密码
|
||
* @param {Boolean} [params.disconnect] 操作后是否断开连接,默认断开
|
||
* @returns Result
|
||
*/
|
||
export const updateAdminPassword = async params => {
|
||
return await starCloudInstance.updateAdminPassword(params)
|
||
}
|
||
|
||
/**
|
||
* 同步开门记录
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {Boolean} [params.disconnect] 操作后是否断开连接,默认断开
|
||
* @returns Result
|
||
*/
|
||
export const syncOpenDoorRecord = async params => {
|
||
return await starCloudInstance.syncAllOpenRecord(params)
|
||
}
|
||
|
||
/**
|
||
* 获取服务器时间
|
||
* @returns Result
|
||
*/
|
||
export const getServerTime = async () => {
|
||
return await starCloudInstance.getServerTimestamp()
|
||
}
|
||
|
||
/**
|
||
* 获取锁支持项
|
||
* @param params
|
||
* @param {Number} [params.uid] 用户ID
|
||
* @param {Number} params.lockId 锁ID
|
||
* @returns Result
|
||
*/
|
||
export const getLockSupportFeatures = async params => {
|
||
return await starCloudInstance.getLockSupportFeatures(params)
|
||
}
|