## 星云SDK ### 1. 安装 在需要引用的项目中执行命令 ```git git subtree add --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master ``` 更新 ```git git subtree pull --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master ``` 推送 ```git git subtree push --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master ``` ### 2. 需安装的npm包 `npm install buffer crc js-md5 pinia sm-crypto` pinia是全局状态管理工具,需在main.js中引入 ```javascript import * as Pinia from 'pinia' const store = Pinia.createPinia() app.use(store) ``` ### 3. 使用 ```javascript import { useStarCloudStore } from '@/starCloud/starCloud' const $starCloud = useStarCloudStore() /** * 初始化星云 * @param params * @param {String} params.clientId 客户端Id * @param {String} params.clientSecret 客户端密码 * @param {String} params.env 环境 */ $starCloud.initStarCloud(params) // 注册,后续所有方法调用返回值均为code, data, message // code对应报错码有三部分组合构成,锁端报错码+星云服务端报错码+自定义报错码 // Result类定义了所有自定义报错码,具体报错码请查看Result类 const { code, data, message } = await $starCloud.register() if (code === Result.Success.code) { // 逻辑代码 } else { // 错误处理 } /** * 退出登录 * @param params * @param {Number} params.uid 用户ID */ const { code, data, message } = await $starCloud.logout(params) /** * 选择锁 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {Number} params.lockId 锁ID * @returns {Promise} */ const { code, data, message } = await $starCloud.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 $starCloud.openDoor(params) /** * 获取离线密码 * @param {AccountInfo} accountInfo 账号信息 * @param {OfflinePassword} password 密码信息 * @returns {Promise} */ const data = await $starCloud.getOfflinePassword(accountInfo, password) /** * 自定义密码 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {CustomPassword} params.password 密码信息 * @param {Boolean} params.disconnect 操作后是否断开连接 * @returns {Promise} */ const data = await $starCloud.customPassword(params) /** * 搜索蓝牙设备 */ await $starCloud.searchDevice(searchDevice) const searchDevice = async result => { } /** * 停止搜索 */ await $starCloud.stopSearchDevice() /** * 绑定设备 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {String} params.name 设备名称 * @returns {Promise} */ const data = await $starCloud.bindDevice(params) /** * 移除坏锁 * @param params * @param {AccountInfo} params.accountInfo 账号信息 * @param {List[int]} params.lockIds 锁Id列表 * @returns {Promise} */ const data = await $starCloud.removeBadLock(params) /** * 删除锁 * @param params * @param {AccountInfo} params.accountInfo 账号信息 */ const data = await $starCloud.deleteLock(params) ```