2024-12-20 19:04:23 +08:00

211 lines
5.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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