4.0 KiB
Raw Blame History

星云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 {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)