更新时间:2024-08-30 02:54:25下载pdf
分类 | API | 说明 |
---|---|---|
家庭管理 | getFamilies | 获取家庭列表 |
addFamily | 添加家庭 | |
getFamily | 获取家庭信息 | |
updateFamily | 更新家庭 | |
deleteFamily | 删除家庭 | |
家庭成员管理 | getMemberList | 获取家庭成员 |
deleteMember | 删除家庭成员 | |
家庭房间管理 | addRoom | 添加房间 |
editRoom | 编辑房间 | |
deleteRoom | 删除房间 | |
getRoomList | 获取家庭的房间列表 | |
家庭设备管理 | getAllRoomDeviceList | 获取所有房间下的设备 |
addRoomDevices | 添加设备到房间 | |
editRoomDevices | 编辑房间里的设备 | |
deleteRoomDevices | 删除房间里的设备 | |
getRoomDevices | 获取房间里的设备 | |
家庭切换 | changeFamily | 切换家庭 |
getCurrentFamily | 获取当前家庭 | |
家庭分享 | fetchHomeShareTicket | 获取家庭分享票据 |
checkHomeShareTicket | 校验票据有效性 | |
joinHome | 加入家庭 | |
cancelHomeShare | 取消家庭分享 |
getFamilies
获取当前登录用户的所有家庭。
入参
无
返回数据
返回一个 Promise
对象,其值为一个 FamilyItem
数据。
FamilyItem
数据结构
属性 | 类型 | 说明 |
---|---|---|
geoName | String | 家庭地址 |
homeId | Number | 家庭 ID |
name | String | 家庭名称 |
role | String | 值可为 OWNER 、MEMBER 和 ADMIN |
示例
import { getFamilies } from '@ray-js/wechat';
Page({
async onLoad(){
const homes = await getFamilies();
this.setData({ homes });
}
});
addFamily
添加一个家庭。
入参
传入一个对象,对象数据结构为:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
name | String | 是 | 家庭名称 |
geoName | String | 否 | 家庭地址 |
lon | number | 否 | 家庭地址经度 |
lat | number | 否 | 家庭地址纬度 |
返回数据
返回一个 Promise
对象。
示例
import { addFamily } from '@ray-js/wechat';
Page({
async addHome(){
try {
await addFamily({name: '我的家'});
console.log('添加成功');
} catch (e) {
console.log('添加失败');
}
}
});
getFamily
根据家庭 ID,返回指定家庭的信息。
入参
传入家庭 ID。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
返回数据
返回一个 Promise
对象,值的数据结构为:
名称 | 类型 | 说明 |
---|---|---|
geo_name | String | 家庭地址 |
home_id | Number | 家庭 ID |
lon | Number | 家庭地址经度 |
lat | Number | 家庭地址纬度 |
示例
import { getFamily } from '@ray-js/wechat';
Page({
async onLoad(){
try {
const homeInfo = await getFamily(123456);
console.log('获取成功');
} catch (e) {
console.log('获取失败');
}
}
});
updateFamily
更新家庭名称和地址信息。
入参
传入一个对象。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
id | Number | 是 | 家庭 ID |
name | String | 是 | 家庭名称 |
geoName | String | 否 | 家庭地址 |
lon | number | 否 | 家庭地址经度 |
lat | number | 否 | 家庭地址纬度 |
返回数据
返回一个 Promise
对象。
示例
import { updateFamily } from '@ray-js/wechat';
Page({
async updateHome(){
try {
await updateFamily({
id: 123456,
name: '我的家'
});
console.log('更新成功');
} catch (e) {
console.log('更新失败');
}
}
});
deleteFamily
根据家庭 ID,删除指定的家庭。
入参
传入家庭 ID。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
返回数据
返回一个 Promise
对象。
示例
import { deleteFamily } from '@ray-js/wechat';
Page({
async onLoad(){
try {
await deleteFamily(123456);
console.log('删除成功');
} catch (e) {
console.log('删除失败');
}
}
});
getMemberList
根据家庭 ID,返回指定家庭下的所有成员。
入参
传入家庭 ID。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
返回数据
返回一个 Promise<MemberData[]>
对象,值为 MemberData
对象列表。
MemberData
说明
属性 | 类型 | 说明 |
---|---|---|
uid | String | 涂鸦的用户 ID |
admin | Boolean | ⽤户是否为家庭管理员 |
name | String | 家庭成员的用户名 |
menber_account |
String | 家庭成员的账号,账号脱敏处理 |
示例
import { getMemberList } from '@ray-js/wechat';
Page({
async onLoad(){
try {
const members = await getMemberList(123456);
this.setData({ members });
} catch (e) {
console.log('获取失败');
}
}
});
deleteMember
支持删除家庭成员,成员主动离开家庭。
入参
传入家庭 ID。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
uid | Number | 是 | 用户 ID(UID) |
返回数据
返回一个 Promise
对象。
示例
import { getMemberList } from '@ray-js/wechat';
Page({
async handleDeleteMember(){
try {
await deleteMember(123456, 'ty123456');
console.log('删除成功');
} catch (e) {
console.log('删除失败');
}
}
});
addRoom
根据家庭 ID,向指定的家庭添加一个房间。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
name | String | 是 | 房间名称 |
返回数据
返回一个 Promise
对象。
示例
import { addRoom } from '@ray-js/wechat';
Page({
async handleAddRoom(){
try {
await addRoom({
homeId: 123456,
name: '客厅',
});
console.log('添加成功');
} catch (e) {
console.log('添加失败');
}
}
});
editRoom
根据家庭 ID 和房间 ID,编辑一个指定房间的名称。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
name | String | 是 | 房间名称 |
roomId | Number | 是 | 房间 ID |
返回数据
返回一个 Promise
对象。
示例
import { editRoom } from '@ray-js/wechat';
Page({
async handleEditRoom(){
try {
await editRoom({
homeId: 123456,
name: '客厅',
roomId: 6543,
});
console.log('编辑成功');
} catch (e) {
console.log('编辑失败');
}
}
});
deleteRoom
根据家庭 ID 和房间 ID,删除指定家庭下的某个房间。
入参
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
roomId | Number | 是 | 房间 ID |
返回数据
返回一个 Promise
对象。
示例
import { deleteRoom } from '@ray-js/wechat';
Page({
async handleDeleteRoom(){
try {
await deleteRoom(123456, 123456);
console.log('删除成功');
} catch (e) {
console.log('删除失败');
}
}
});
getRoomList
根据家庭 ID,获取指定家庭下的所有房间。
入参
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
返回数据
返回一个 Promise<RoomInfos>
对象。
RoomInfos
说明
名称 | 类型 | 说明 |
---|---|---|
home_id | Number | 家庭 ID |
name | String | 家庭名称 |
geo_name | String | 家庭地址 |
lat | Number | 家庭地址纬度 |
lon | Number | 家庭地址经度 |
rooms | RoomInfo[] | 房间列表 |
RoomInfo
说明
名称 | 类型 | 说明 |
---|---|---|
room_id | Number | 房间 ID |
name | Number | 房间名称 |
示例
import { getRoomList } from '@ray-js/wechat';
Page({
async onLoad(){
try {
const info = await getRoomList(123456, 123456);
this.setData({ rooms: info.rooms });
} catch (e) {
console.log('获取房间列表失败');
}
}
});
getAllRoomDeviceList
根据家庭 ID,返回房间列表,同时返回房间下的设备列表。
入参
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
返回数据
返回一个 Promise<RoomDevice[]>
对象。
RoomDevice
说明
名称 | 类型 | 说明 |
---|---|---|
roomId | Number | 房间 ID |
roomName | String | 房间名称 |
devices | DeviceListItem[] |
房间设备列表 |
DeviceListItem
说明
名称 | 类型 | 说明 |
---|---|---|
id | String | 设备 ID |
lat | String | 设备所在地纬度 |
lon | String | 设备所在地经度 |
icon | String | 设备 Icon |
localKey | String | localKey |
name | String | 设备名称 |
online | Boolean | 设备是否云端在线 |
ownerId | String | 所属家庭 |
productId | String | 产品 ID(PID) |
isSub | Boolean | 是否是子设备 |
timeZone | String | 所在时区 |
updateTime | Number | 设备信息更新时间 |
createTime | Number | 设备信息创建时间 |
activeTime | Number | 激活时间 |
uuid | String | 设备 UUID |
category | String | 所属三级品类 |
capability | Number | 能力值 |
status | { code: String; value: any }[] |
数据点(DP)状态 |
示例
import { getAllRoomDeviceList } from '@ray-js/wechat';
Page({
async onLoad(){
try {
const infos = await getAllRoomDeviceList(123456);
this.setData({ rooms: infos });
} catch (e) {
console.log('获取房间设备列表失败');
}
}
});
addRoomDevices
根据家庭 ID、房间 ID 和设备 ID 列表,可将多个设备绑定到指定家庭的某个房间下。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
roomId | Number | 是 | 房间 ID |
deviceIds | String[] |
是 | 待添加的设备 ID 列表 |
返回数据
res Promise
示例
import { addRoomDevices } from '@ray-js/wechat';
Page({
async addDevices(){
try {
await addRoomDevices({
homeId: 123455,
roomId: 123,
deviceIds: ['device1', 'device2' ]
});
console.log('添加设备成功');
} catch (e) {
console.log('添加设备失败');
}
}
});
editRoomDevices
根据家庭 ID、房间 ID 和设备 ID 列表,可编辑指定家庭某个房间下的多个设备。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
roomId | Number | 是 | 房间 ID |
deviceIds | String[] | 是 | 待编辑的设备 ID 列表 |
返回数据
res Promise
示例
import { editRoomDevices } from '@ray-js/wechat';
Page({
async editDevices(){
try {
await editRoomDevices({
homeId: 123455,
roomId: 123,
deviceIds: ['device1', 'device2' ]
});
console.log('编辑设备列表成功');
} catch (e) {
console.log('编辑设备列表失败');
}
}
});
deleteRoomDevices
根据家庭 ID、房间 ID 和设备 ID 列表,删除指定家庭某个房间下的多个设备。此 API 不会移除设备,仅为解除设备与房间的绑定关系。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
roomId | Number | 是 | 房间 ID |
deviceIds | String[] | 是 | 待删除的设备 ID 列表 |
返回数据
res Promise
示例
import { deleteRoomDevices } from '@ray-js/wechat';
Page({
async deleteDevices(){
try {
await deleteRoomDevices({
homeId: 123455,
roomId: 123,
deviceIds: ['device1', 'device2' ]
});
console.log('删除设备成功');
} catch (e) {
console.log('删除设备失败');
}
}
});
getRoomDevices
根据家庭 ID 和房间 ID,获取某个房间下的所有已绑定的设备。
入参
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
roomId | Number | 是 | 房间 ID |
返回数据
res Promise
示例
import { getRoomDevices } from '@ray-js/wechat';
Page({
async fetchDevices(){
try {
const res = await getRoomDevices({
homeId: 123455,
roomId: 123,
deviceIds: ['device1', 'device2' ]
});
} catch (e) {
// 获取失败
}
}
});
changeFamily
切换家庭,用于切换当前需要展示的家庭。此 API 调用会进行 MQTT 的连接。
入参
family FamilyItem
,即为获取的家庭列表的家庭数据。
FamilyItem
数据结构
属性 | 类型 | 说明 |
---|---|---|
geoName | String | 家庭地址 |
homeId | Number | 家庭 ID |
name | String | 家庭名称 |
role | String | 值可为 OWNER 、MEMBER 和 ADMIN |
返回数据
promise Promise<DeviceListItem[]>
返回家庭下的所有设备列表。
DeviceListItem
说明
名称 | 类型 | 说明 |
---|---|---|
id | String | 设备 ID |
lat | String | 设备所在地纬度 |
lon | String | 设备所在地经度 |
icon | String | 设备 Icon |
localKey | String | localKey |
name | String | 设备名称 |
online | Boolean | 设备是否云端在线 |
ownerId | String | 所属家庭 |
productId | String | 产品 ID(PID) |
isSub | Boolean | 是否是子设备 |
timeZone | String | 所在时区 |
updateTime | Number | 设备信息更新时间 |
createTime | Number | 设备信息创建时间 |
activeTime | Number | 激活时间 |
uuid | String | 设备 UUID |
category | String | 所属三级品类 |
capability | Number | 能力值 |
status | { code: String; value: any }[] |
DP 状态 |
示例
import { changeFamily } from '@ray-js/wechat';
Page({
async changeHome(home){
try {
const devices = await changeFamily(home);
this.setData({ devices });
} catch (e) {
console.log('删除设备失败');
}
}
});
getCurrentFamily
获取使用 changeFamily
API 切换的家庭信息。
入参
无
返回数据
family FamilyItem
,无数据时会返回 null
。
属性 | 类型 | 说明 |
---|---|---|
geoName | String | 家庭地址 |
homeId | Number | 家庭 ID |
name | String | 家庭名称 |
role | String | 值可为 OWNER 、MEMBER 和 ADMIN |
fetchHomeShareTicket
获取家庭分享票据。获取分享票据后,可向用户发送微信消息,引导客户加入家庭。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
homeId | Number | 是 | 家庭 ID |
receiver | String | 否 | 邀请的用户 openid |
返回数据
res Object 类型
名称 | 类型 | 说明 |
---|---|---|
shareId | Number | 分享 ID |
shareTicket | String | 分享票据 |
示例
import { fetchHomeShareTicket } from '@ray-js/wechat';
Page({
async handleShare(homeId){
try {
const res = await fetchHomeShareTicket({homeId});
this.setData({ shareInfo: res});
} catch (e) {
console.log('获取分享票据失败');
}
}
});
checkHomeShareTicket
在邀请页面,可检查票据有效性,以便进行相关的提示信息。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
ticket | String | 是 | 分享票据 |
返回数据
promise
示例
import { checkHomeShareTicket } from '@ray-js/wechat';
Page({
async onLoad(query){
try {
const res = await fetchHomeShareTicket({query.ticket});
if (res) {
console.log('票据有效')
} else {
console.log('票据无效')
}
} catch (e) {
console.log('验证有效性失败');
}
}
});
joinHome
确认家庭邀请,加入家庭。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
shareId | Number | 是 | 分享 ID |
shareTicket | String | 是 | 分享票据 |
返回数据
promise
示例
import { joinHome } from '@ray-js/wechat';
Page({
async handleJoin(){
try {
await joinHome({
shareId: '11111',
shareTicket: 'xxxxxx',
});
console.log('加入家庭成功')
} catch (e) {
console.log('加入家庭失败');
}
}
});
cancelHomeShare
根据分享 ID,取消某一次的家庭邀请。
入参
params Object 类型
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
shareId | Number | 是 | 分享 ID |
返回数据
promise
示例
import { cancelHomeShare } from '@ray-js/wechat';
Page({
async handleCancel(){
try {
await cancelHomeShare({
shareId: '11111',
});
console.log('取消成功')
} catch (e) {
console.log('取消失败');
}
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈