## 星云SDK ```json { "plugins": { "starCloud": { "version": "1.0.0", "provider": "wxf2c491f734bbf82f" } } } ``` ```javascript const plugin = requirePlugin('starCloud') /** * 初始化星云 * @param params * @param {String} params.clientId 客户端Id * @param {String} params.clientSecret 客户端密码 * @param {String} params.env 环境 * @param {Boolean} params.isReportLog 是否上报日志 */ plugin.initStarCloud(params) // 注册,后续所有方法调用返回值均为code, data, message // code对应报错码有三部分组合构成,锁端报错码+星云服务端报错码+自定义报错码 // Result类定义了所有自定义报错码,具体报错码请查看Result类 const { code, data, message } = await plugin.register() if (code === Result.Success.code) { // 逻辑代码 } else { // 错误处理 } /** * 退出登录 * @param params * @param {Number} params.uid 用户ID */ const { code, data, message } = await plugin.logout(params) /** * 选择锁 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {Number} params.lockId 锁ID * @returns {Promise} */ const { code, data, message } = await plugin.selectLock(params) /** * 开门 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {String} params.type 开门方式 close: 关门 open: 开门 * @param {Boolean} params.disconnect 操作后是否断开连接 * @returns {Promise} */ const { code, data, message } = await plugin.openDoor(params) /** * 获取离线密码 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {OfflinePassword} params.password 密码信息 * @returns {Promise} */ const data = await plugin.getOfflinePassword(params) /** * 自定义密码 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {CustomPassword} params.password 密码信息 * @param {Boolean} params.disconnect 操作后是否断开连接 * @returns {Promise} */ const data = await plugin.customPassword(params) /** * 搜索蓝牙设备 */ await plugin.searchDevice(searchDevice) const searchDevice = async result => { } /** * 停止搜索 */ await plugin.stopSearchDevice() /** * 绑定设备 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {String} params.name 设备名称 * @returns {Promise} */ const data = await plugin.bindDevice(params) /** * 移除坏锁 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {List[int]} params.lockIds 锁Id列表 * @returns {Promise} */ const data = await plugin.removeBadLock(params) /** * 删除锁 * @param params * @param {AccountInfo} params.accountInfo 账号信息 */ const data = await plugin.deleteLock(params) /** * 修改管理员密码 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {String} params.adminPwd 管理员密码 * @param {Boolean} params.disconnect 操作后是否断开连接 * @returns {Promise} */ const data = await plugin.updateAdminPassword(params) /** * 同步全部开门记录 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {Boolean} params.disconnect 操作后是否断开连接 * @returns {Promise} */ const data = await plugin.syncAllOpenRecord(params) /** * 获取服务器时间 * @returns {Promise} */ const data = await plugin.getServerTimestamp() ```