211 lines
5.6 KiB
JavaScript
Raw Normal View History

2024-12-19 16:01:45 +08:00
import starCloudInstance from '../star-cloud'
2024-12-20 17:36:14 +08:00
import { Result } from '../constant'
export { Result }
/**
* 账户信息
* @typedef {Object} AccountInfo
* @property {Number} uid 用户ID
* @property {String} username 用户名
* @property {String} password 密码
*/
2024-12-19 16:01:45 +08:00
/**
* 初始化星云
* @param params
* @param {String} params.clientId 客户端Id
* @param {String} params.clientSecret 客户端密码
2024-12-20 17:36:14 +08:00
* @param {Array<AccountInfo>} params.accounts 账号列表后续方法中需传入uid若未传入则默认使用第一个账号
2024-12-19 16:01:45 +08:00
* @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
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
* @param {Number} params.lockId 锁ID
* @returns Result
*/
export const selectLock = async params => {
return await starCloudInstance.selectLock(params)
}
/**
* 开门
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
* @param {String} params.type 开门方式 close: 关门 open: 开门
2024-12-20 17:36:14 +08:00
* @param {Boolean} [params.disconnect] 操作后是否断开连接默认断开
2024-12-19 16:01:45 +08:00
* @returns Result
*/
export const openDoor = async params => {
return await starCloudInstance.openDoor(params)
}
2024-12-20 17:36:14 +08:00
/**
* 离线密码
* @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
*/
2024-12-19 16:01:45 +08:00
/**
* 获取离线密码
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
* @param {OfflinePassword} params.password 密码信息
* @returns Result
*/
export const getOfflinePassword = async params => {
return await starCloudInstance.getOfflinePassword(params)
}
2024-12-20 17:36:14 +08:00
/**
* 自定义密码
* @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] - 密码编号创建无需传
*/
2024-12-19 16:01:45 +08:00
/**
* 自定义密码
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
* @param {CustomPassword} params.password 密码信息
2024-12-20 17:36:14 +08:00
* @param {Boolean} [params.disconnect] 操作后是否断开连接默认断开
2024-12-19 16:01:45 +08:00
* @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
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
* @param {String} params.name 设备名称
* @returns Result
*/
export const bindDevice = async params => {
return await starCloudInstance.bindDevice(params)
}
/**
* 移除坏锁
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
* @param {List[Number]} params.lockIds 锁Id列表
2024-12-19 16:01:45 +08:00
* @returns Result
*/
export const removeBadLock = async params => {
return await starCloudInstance.removeBadLock(params)
}
/**
* 删除锁
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
*/
export const deleteLock = async params => {
return await starCloudInstance.deleteLock(params)
}
/**
* 修改管理员密码
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
2024-12-19 16:01:45 +08:00
* @param {String} params.adminPwd 管理员密码
2024-12-20 17:36:14 +08:00
* @param {Boolean} [params.disconnect] 操作后是否断开连接默认断开
2024-12-19 16:01:45 +08:00
* @returns Result
*/
export const updateAdminPassword = async params => {
return await starCloudInstance.updateAdminPassword(params)
}
/**
* 同步开门记录
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
* @param {Boolean} [params.disconnect] 操作后是否断开连接默认断开
2024-12-19 16:01:45 +08:00
* @returns Result
*/
export const syncOpenDoorRecord = async params => {
return await starCloudInstance.syncAllOpenRecord(params)
}
/**
* 获取服务器时间
* @returns Result
*/
export const getServerTime = async () => {
return await starCloudInstance.getServerTimestamp()
}
/**
* 获取锁支持项
* @param params
2024-12-20 17:36:14 +08:00
* @param {Number} [params.uid] 用户ID
* @param {Number} params.lockId 锁ID
2024-12-19 16:01:45 +08:00
* @returns Result
*/
export const getLockSupportFeatures = async params => {
return await starCloudInstance.getLockSupportFeatures(params)
}