ps:因为设置模块会涉及到N多蓝牙指令,在每次发送指令时,都要检测相关设备是否连接,若没有连接 提示 : 办公椅未连接蓝牙 或者 办公桌未连接蓝牙,
需要保持数据同步一致的地方很多,具体如何达到效果自行解决,以下的相关同步方法仅供参考
-
设置主界面
01设置.png
1.进入设置界面 要同步个人信息数据 以及当前所连接硬件的设备数据
因为获取接口数据 和通过蓝牙协议获取设备数据 所得到的数据的先后不确定,所以原则上是 通过蓝牙获取到的数据可以覆盖更新接口返回的数据 ,而接口返回的数据不能覆盖蓝牙反馈的数据
- 接口
通过接口listUserInfo
获取个人信息 参阅接口文档
请求示例:
http://office.teammax.com.cn/client/office/app.do?method=listUserInfo&requestId=6997&platType=i&msgToken=dfanxL0+k95nP3tJabmt0GwA3ZJfIX2c
结果:
{
error = "";
id = 6997;
result = {
age = 29;
birthday = "1989-10-16";
dailySeat = 360;
department = "\U4f01\U4e1aA";
gender = "\U7537";
id = 1705;
isAdmin = 0;
isAutoLifting = "\U5f00";
isOpenHeight = "\U5f00";
isOpenPanel = "\U5f00";
isWeixin = 1;
lastSittingHeight = 777;
lastStandingHeight = 899;
maxHeight = 1250;
minHeight = 600;
minStandingTime = 0;
msgToken = "dfanxL0+k94cOo1E4t4cQKi5JCidysTm";
nickName = ceshi;
sittingRemindTime = 30;
userImg = "http://thirdwx.qlogo.cn/mmopen/vi_32/7c8smKMeOplhNLqJAu7ibibOYjGpZBD9jUf6z7rlERuU7lBXXibHe2yTAicCmv5qwpvBVlro3Qxg9lzmib62XdSnPoQ/132";
username = oQnuS1Hj6rIlYFNO5iyxDo72HomA;
vibrationIntensity = 9;
};
}
3.数据处理与显示
每日久坐限制
取字段 dailySeat
,数据单位是秒 要对60取整 转为分钟显示
4.每次进入设置主界面 都可以请求一下接口数据 和蓝牙数据 以此保证个人信息数据的即时性
5.蓝牙指令
久坐提醒 通过椅子协议读写久坐时间
指令来读取
座椅震动强度 通过椅子协议21-设置电机震动等级-读取震动
指令来读取
最短站立时间 通过椅子协议最短站立时间
指令来读取
办公桌椅限值 通过桌子协议20 查询上下限标志位
指令来读取
桌自带手控面板 通过桌子协议1F读取手控器状态
指令来读取
自动升降模式 通过椅子协议提醒模式设置
指令来读取
详情参阅蓝牙协议
- 退出登录
清空本地保存数据,跳转到登录页面
7.右上角❓
按钮
点击进入web页展示,标题谛明
url :http://www.teammax.com.cn
8.关于我们
点击进入web页展示,标题关于我们
url :http://www.teammax.com.cn/en/pages/3
个人信息
02个人信息.png- 接口
获取个人信息
通过接口listUserInfo
获取个人信息(设置页已经请求国,可直接将结果传入,不需重复请求)
获取部门列表
接口方法名listDepartment
请求示例:
http://office.teammax.com.cn/client/office/app.do?method=listDepartment&requestId=6693&platType=i&msgToken=dfanxL0+k97vWhhXSquubqoJduIa7rzg
结果:
{
error = "";
id = 6693;
result = {
departments = (
{
departments = "<null>";
description = test;
id = 217;
name = tets;
pId = 191;
target = "<null>";
url = "<null>";
},
{
departments = "<null>";
description = test;
id = 192;
name = "\U9500\U552e\U90e8";
pId = 188;
target = "<null>";
url = "<null>";
},
{
departments = "<null>";
description = test;
id = 200;
name = "\U8d22\U52a1D";
pId = 188;
target = "<null>";
url = "<null>";
},
{
departments = "<null>";
description = "<null>";
id = 201;
name = "\U9500\U552eb";
pId = 188;
target = "<null>";
url = "<null>";
},
{
departments = "<null>";
description = "<null>";
id = 202;
name = "\U9500\U552eBBB";
pId = 188;
target = "<null>";
url = "<null>";
},
{
departments = "<null>";
description = "<null>";
id = 203;
name = "\U8d22\U52a1CC22";
pId = 188;
target = "<null>";
url = "<null>";
}
);
msgToken = "dfanxL0+k97vWhhXSquubqoJduIa7rzg";
};
}
保存个人信息
接口方法名 editUserInfo
修改头像 上传图片等 均参阅接口文档
2.个人信息展示有修改 : 微信用户不需要显示邮箱
根据获取个人信息接口 isWeixin
字段布尔值,接口会给出此用户是不是微信登录用户
3.部门显示逻辑
根据获取个人信息接口获取部门department
字段值 ,如果为空 则证明没有部门,那么部门这一栏要隐藏
设备列表
03设备列表.png- 获取设备列表接口
接口方法名 :listDevice
请求示例:
http://office.teammax.com.cn/client/office/app.do?method=listDevice&requestId=6387&platType=i&msgToken=dfanxL0+k952abcrxr5sc3D8dFUL7TZy
结果:
{
error = "";
id = 6387;
result = {
chairDevices = (
{
department = {
departments = "<null>";
description = "<null>";
id = 188;
name = "<null>";
pId = 0;
target = "<null>";
url = "<null>";
};
deviceMac = "64:CF:D9:17:27:6A";
deviceModelId = 1666;
id = 1790;
name = "T51\U6905\U5b50";
titleImg = "http://office.teammax.com.cn/house/u/cms/www/201711/161009164g79.jpg";
type = "\U6905";
}
);
deskDevices = (
{
department = {
departments = "<null>";
description = "<null>";
id = 189;
name = "<null>";
pId = 0;
target = "<null>";
url = "<null>";
};
deviceMac = "C4:F3:12:3A:0B:AC";
deviceModelId = 1664;
id = 1769;
name = "T51\U684c\U5b50";
titleImg = "http://office.teammax.com.cn/house/u/cms/www/201711/16100846ed0t.jpg";
type = "\U684c";
}
);
deviceAndDevices = (
{
chair = {
department = {
departments = "<null>";
description = "<null>";
id = 188;
name = "<null>";
pId = 0;
target = "<null>";
url = "<null>";
};
deviceMac = "64:CF:D9:17:27:6A";
deviceModelId = 1666;
id = 1790;
name = "T51\U6905\U5b50";
titleImg = "http://office.teammax.com.cn/house/u/cms/www/201711/161009164g79.jpg";
type = "\U6905";
};
desk = {
department = {
departments = "<null>";
description = "<null>";
id = 189;
name = "<null>";
pId = 0;
target = "<null>";
url = "<null>";
};
deviceMac = "C4:F3:12:3A:0B:AC";
deviceModelId = 1664;
id = 1769;
name = "T51\U684c\U5b50";
titleImg = "http://office.teammax.com.cn/house/u/cms/www/201711/16100846ed0t.jpg";
type = "\U684c";
};
}
);
msgToken = "dfanxL0+k952abcrxr5sc3D8dFUL7TZy";
};
}
-
取消配对
消配对的逻辑,删除桌子 或者 删除配对 都要根据蓝牙指令删除配对 删除配对是桌子74
指令
取消配对方法名 :removeDevice
,详情参阅接口文档 -
添加
点击添加
跳转 扫码界面 ,进入扫码流程
进入扫码界面,如果同时成功连接了桌椅,点击完成进入配对界面 ,进入下面设备配对流程,否则 返回设备列表 -
设备配对
点击设备配对
判断是否同时连接了桌子和椅子 ,没连接提示:请扫码连接桌子和椅子
如果都连接,就进入配对界面,配对完成 返回设置页面
久坐提醒
默认显示设置页面的数据 例如设置页面久坐提醒显示 30m ,那么进入久坐提醒界面的默认选中也是30m
添加1分钟测试模式 ,原蓝牙协议中有此指令
久坐提醒
- 保存
设置久坐提醒 : 椅子蓝牙协议读写久坐时间
中的写入指令
保存设置成功返回设置页,并调用接口editUserInfo
同步更新久坐提醒数据
震动强度
默认选中数据 同步设置页面的座椅震动强度数据
05震动强度.png
- 保存设置指令
椅子蓝牙协议椅子命令21-设置电机震动等级-读取震动
中的设置指令,保保存设置成功返回设置页,并调用接口editUserInfo
同步更新震动强度数据
最短站立时间
默认选中数据 同步设置页面的最短站立时间数据
06最短站立时间.png
- 保存设置指令
椅子蓝牙协议最短站立时间
中的设置指令
保存设置成功返回设置页,并调用接口editUserInfo
同步更新最短站立时间数据
每日久坐限制
默认选中数据 同步设置页面的每日久坐限制数据
07每日久坐目标.png此界面 标题改为
每日久坐限制
- 保存
不需要蓝牙协议
调用接口editUserInfo
同步更新每日久坐限制数据,并返回设置页
记忆坐姿高度 & 记忆站立高度
这两个条目没有二级页面,点击不响应,但要注意数据的一致性,在控制会有相关设置,设置后注意调用 editUserInfo
同步到后台数据
办公桌椅限值
设置页的开关开启时 点击才能进入子页面
08办工桌升降限值_最高.png
默认显示的最高最低限值 同步个人信息数据中的限值, 在设置过程中切换最高最低限值,都会保留上次显示 (最高限值在左边,最低限值在右边 此处和UI设计不一致,请注意)
例如 个人信息中最高1000 最低800 ,那么进去此界面 默认显示的最高限值为1000 最低为800,然后滚动最高限值到900,切换到最低限制,在切换回最高,此时最高显示的为900。
图片上传中...(08办工桌升降限值_最高.png-81e6b3-1548920707853-0)]
- 保存
执行桌子蓝牙指令21 设置上限位置
和22设置下限位置
保存成功,调用接口editUserInfo
同步更新相应数据,并返回设置页
网友评论