2024-10-12 14:35:58 +08:00
|
|
|
|
## 星云SDK
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 安装
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 15:23:54 +08:00
|
|
|
|
在需要引用的项目中执行命令
|
2024-11-22 14:07:50 +08:00
|
|
|
|
|
|
|
|
|
|
```git
|
|
|
|
|
|
git subtree add --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2024-10-12 15:26:50 +08:00
|
|
|
|
更新
|
2024-11-22 14:07:50 +08:00
|
|
|
|
|
|
|
|
|
|
```git
|
|
|
|
|
|
git subtree pull --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2024-11-16 18:21:16 +08:00
|
|
|
|
推送
|
2024-11-22 14:07:50 +08:00
|
|
|
|
|
|
|
|
|
|
```git
|
|
|
|
|
|
git subtree push --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master
|
|
|
|
|
|
```
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 14:35:58 +08:00
|
|
|
|
### 2. 需安装的npm包
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 14:35:58 +08:00
|
|
|
|
`npm install buffer crc js-md5 pinia sm-crypto`
|
2024-10-12 15:30:25 +08:00
|
|
|
|
|
|
|
|
|
|
pinia是全局状态管理工具,需在main.js中引入
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 15:30:25 +08:00
|
|
|
|
```javascript
|
|
|
|
|
|
import * as Pinia from 'pinia'
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 15:30:25 +08:00
|
|
|
|
const store = Pinia.createPinia()
|
|
|
|
|
|
app.use(store)
|
|
|
|
|
|
```
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 15:23:54 +08:00
|
|
|
|
### 3. 使用
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 15:23:54 +08:00
|
|
|
|
```javascript
|
|
|
|
|
|
import { useStarCloudStore } from '@/starCloud/starCloud'
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
2024-10-12 15:23:54 +08:00
|
|
|
|
const $starCloud = useStarCloudStore()
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* 初始化星云
|
|
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {String} params.clientId 客户端Id
|
|
|
|
|
|
* @param {String} params.clientSecret 客户端密码
|
|
|
|
|
|
* @param {String} params.env 环境
|
2024-11-28 13:45:45 +08:00
|
|
|
|
* @param {Boolean} params.isReportLog 是否上报日志
|
2024-10-12 15:23:54 +08:00
|
|
|
|
*/
|
2024-11-18 14:45:33 +08:00
|
|
|
|
$starCloud.initStarCloud(params)
|
2024-10-12 15:23:54 +08:00
|
|
|
|
|
|
|
|
|
|
// 注册,后续所有方法调用返回值均为code, data, message
|
|
|
|
|
|
// code对应报错码有三部分组合构成,锁端报错码+星云服务端报错码+自定义报错码
|
|
|
|
|
|
// Result类定义了所有自定义报错码,具体报错码请查看Result类
|
|
|
|
|
|
const { code, data, message } = await $starCloud.register()
|
2024-10-30 14:09:02 +08:00
|
|
|
|
if (code === Result.Success.code) {
|
2024-10-12 15:23:54 +08:00
|
|
|
|
// 逻辑代码
|
|
|
|
|
|
} else {
|
|
|
|
|
|
// 错误处理
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* 退出登录
|
|
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {Number} params.uid 用户ID
|
2024-10-12 15:23:54 +08:00
|
|
|
|
*/
|
2024-11-18 14:45:33 +08:00
|
|
|
|
const { code, data, message } = await $starCloud.logout(params)
|
2024-10-31 18:41:21 +08:00
|
|
|
|
|
2024-10-12 15:23:54 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* 选择锁
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {AccountInfo} params.accountInfo 账号信息
|
|
|
|
|
|
* @param {Number} params.lockId 锁ID
|
|
|
|
|
|
* @returns {Promise<Result>}
|
2024-10-12 15:23:54 +08:00
|
|
|
|
*/
|
2024-11-18 14:45:33 +08:00
|
|
|
|
const { code, data, message } = await $starCloud.selectLock(params)
|
2024-10-12 15:23:54 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 开门
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {AccountInfo} params.accountInfo 账号信息
|
|
|
|
|
|
* @param {String} params.type 开门方式 close: 关门 open: 开门
|
|
|
|
|
|
* @param {Boolean} params.disconnect 操作后是否断开连接
|
|
|
|
|
|
* @returns {Promise<Result>}
|
2024-10-12 15:23:54 +08:00
|
|
|
|
*/
|
2024-11-18 14:45:33 +08:00
|
|
|
|
const { code, data, message } = await $starCloud.openDoor(params)
|
2024-10-12 15:23:54 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取离线密码
|
2024-12-03 13:53:41 +08:00
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {AccountInfo} params.accountInfo 账号信息
|
|
|
|
|
|
* @param {OfflinePassword} params.password 密码信息
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* @returns {Promise<Result>}
|
2024-10-12 15:23:54 +08:00
|
|
|
|
*/
|
2024-12-03 13:53:41 +08:00
|
|
|
|
const data = await $starCloud.getOfflinePassword(params)
|
2024-10-12 15:23:54 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 自定义密码
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {AccountInfo} params.accountInfo 账号信息
|
|
|
|
|
|
* @param {CustomPassword} params.password 密码信息
|
|
|
|
|
|
* @param {Boolean} params.disconnect 操作后是否断开连接
|
|
|
|
|
|
* @returns {Promise<Result>}
|
2024-10-12 15:23:54 +08:00
|
|
|
|
*/
|
2024-11-18 14:45:33 +08:00
|
|
|
|
const data = await $starCloud.customPassword(params)
|
2024-10-30 14:09:02 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 搜索蓝牙设备
|
|
|
|
|
|
*/
|
|
|
|
|
|
await $starCloud.searchDevice(searchDevice)
|
|
|
|
|
|
const searchDevice = async result => {
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 停止搜索
|
|
|
|
|
|
*/
|
|
|
|
|
|
await $starCloud.stopSearchDevice()
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2024-11-18 14:45:33 +08:00
|
|
|
|
* 绑定设备
|
|
|
|
|
|
* @param params
|
|
|
|
|
|
* @param {AccountInfo} params.accountInfo 账号信息
|
|
|
|
|
|
* @param {String} params.name 设备名称
|
|
|
|
|
|
* @returns {Promise<Result>}
|
2024-10-30 14:09:02 +08:00
|
|
|
|
*/
|
2024-11-18 14:45:33 +08:00
|
|
|
|
const data = await $starCloud.bindDevice(params)
|
2024-11-25 18:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 移除坏锁
|
|
|
|
|
|
* @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)
|
2024-11-26 17:39:56 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 修改管理员密码
|
|
|
|
|
|
* @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)
|
2024-12-03 10:21:27 +08:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取服务器时间
|
|
|
|
|
|
* @returns {Promise<Result>}
|
|
|
|
|
|
*/
|
|
|
|
|
|
const data = await $starCloud.getServerTimestamp()
|
2024-10-12 15:23:54 +08:00
|
|
|
|
```
|