170 lines
4.1 KiB
Markdown
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.

## 星云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 环境
* @param {Boolean} params.isReportLog 是否上报日志
*/
$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<Result>}
*/
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<Result>}
*/
const { code, data, message } = await $starCloud.openDoor(params)
/**
* 获取离线密码
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
* @param {OfflinePassword} params.password 密码信息
* @returns {Promise<Result>}
*/
const data = await $starCloud.getOfflinePassword(params)
/**
* 自定义密码
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
* @param {CustomPassword} params.password 密码信息
* @param {Boolean} params.disconnect 操作后是否断开连接
* @returns {Promise<Result>}
*/
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<Result>}
*/
const data = await $starCloud.bindDevice(params)
/**
* 移除坏锁
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
* @param {List[int]} params.lockIds 锁Id列表
* @returns {Promise<Result>}
*/
const data = await $starCloud.removeBadLock(params)
/**
* 删除锁
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
*/
const data = await $starCloud.deleteLock(params)
/**
* 修改管理员密码
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
* @param {String} params.adminPwd 管理员密码
* @param {Boolean} params.disconnect 操作后是否断开连接
* @returns {Promise<Result>}
*/
const data = await $starCloud.updateAdminPassword(params)
/**
* 同步全部开门记录
* @param params
* @param {AccountInfo} params.accountInfo 账号信息
* @param {Boolean} params.disconnect 操作后是否断开连接
* @returns {Promise<Result>}
*/
const data = await $starCloud.syncAllOpenRecord(params)
/**
* 获取服务器时间
* @returns {Promise<Result>}
*/
const data = await $starCloud.getServerTimestamp()
```