4.1 KiB
4.1 KiB
星云SDK
1. 安装
在需要引用的项目中执行命令
git subtree add --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master
更新
git subtree pull --prefix=starCloud git@code.star-lock.cn:StarlockTeam/starcloud-sdk-uniapp.git master
推送
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中引入
import * as Pinia from 'pinia'
const store = Pinia.createPinia()
app.use(store)
3. 使用
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()