169 lines
4.1 KiB
Markdown
169 lines
4.1 KiB
Markdown
## 星云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 {AccountInfo} accountInfo 账号信息
|
||
* @param {OfflinePassword} password 密码信息
|
||
* @returns {Promise<Result>}
|
||
*/
|
||
const data = await $starCloud.getOfflinePassword(accountInfo, password)
|
||
|
||
/**
|
||
* 自定义密码
|
||
* @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()
|
||
```
|