关于设备分享
 
 
 很多开发者会关心,智能生活开放平台的SaaS服务中,设备分享逻辑是什么样的,是否和自己原有的逻辑兼容?一个用户是否能绑定多个设备,一个设备是否能被多个用户绑定?
 这篇文章中会详细解释这些问题。
 
目前智能生活开放平台设备分享逻辑如下:当
设备被第一个用户A绑定后,A就成了该设备的管理员。A可以利用二维码,将设备分享出去,用户B、C、D扫描二维码后,就完成了设备绑定。
管理员只有一个,就是用户A,他可以解除其他成员的绑定关系。
如果用户A主动解绑设备,那所有用户都和该设备解绑了。
注意:如果因为退货或其他售后问题,用户A没有主动解绑,商家客户人员可以在 商家后台-用户管理 中找到该用户并进行解绑。
由于设备支持多人分享,所以当用户A绑定设备后,用户B再次配网时,会有相应的权限处理:
 一、WiFi嵌入式设备
 由于WiFi设备的配网比较麻烦,所以当用户B从头开始走配网流程时,我们认为用户B不是用户A的家人,而是该设备已经转手,所以设计为“抢占式”。
 用户B配网成功后,将成为该设备的管理员。而用户A解除绑定关系。
 
 二、蓝牙设备/带Android屏的设备
 有
 两种绑定逻辑:
 
 1. 分享绑定(默认)
 当设备被第一个用户A绑定后,A就成了该设备的管理员。
 当用户B也去配网和绑定设备时,会提示他,该设备已经被A绑定了,需要他分享给你,你才能用这个设备。
 在实际操作中,用户A需要展示一个分享二维码给B,B扫描后即绑定成功,B也可以控制该设备了。
 管理员A可以解除用户B的绑定关系。
 以上交互所需要的接口,都在智能生活开放平台中提供了。
 
 2. 免分享绑定(暂未开放,请在商家后台-问题反馈中提交工单申请,我们会很快处理的,但是请非常谨慎,只能修改一次)
 如果你的设备的数据安全性要求没有那么高,并希望能够让家庭成员更方便地绑定设备,我们也提供另外一种绑定机制:
 当设备被第一个用户A绑定后,A就成了该设备的管理员。
 当用户B也去配网和
 绑定设备时,直接能够绑定成功。但B不是管理员。
 管理员A可以解除用户B的绑定关系。
 
 
 -----------常见问题----------
 (1)
 一个用户是否能绑定多个设备,一个设备是否能被多个用户绑定?
 都可以。
 
 (2)怎样分享自己的设备?
 管理员通过设备的uuid,调用API
 “m t o p . o p e n a l i n k . a p p . c o r e . u s e r . s a v e q r”
 生成一个qrKey,这个
 qrKey 
 可用于产生一个二维码。此处请注意,同一个uuid,每一次调用此
 API
 ,生成的qrKey 都会不同。qrKey 的有效时间是十五分钟。
 
 (3)怎样绑定别人分享的设备
 被分享者通过扫描二维码获取到qrKey 之后,可通过API
 “m t o p . o p e n a l i n k . a p p . c o r e . u s e r . s c a n q r”
 绑定相应的设备,并且该
 API 
 还会将设备的uuid、model 和name 返回给调用方。
 
 (4)如何获取分享设备的详细信息
 被分享者通过步骤(3)绑定设备后,可以获得设备的uuid 信息。然
 后,利用接口“m t o p . o p e n a l i n k . a p p . c o r e . d e v i c e . g e t d e t a i l”即可
 获取设备详情。
 
 (5)如何知道某设备被分享给了哪些用户?
 接口“mtop.openalink.app.core.device.getdetail”的返回值里,包含
 “relAccounts”
 。“relAccounts”会列出该设备的绑定者列表,包括管理员和
 其他普通绑定者。所以可通过该接口查看某设备都被分享给了谁。
 
 (6)如何知道“我”分享出去哪些设备?
 通过接口“m t o p . o p e n a l i n k . a p p . c o r e . d e v i c e s . g e t b y u s e r”,
 可获取“我”绑定的所有设备列表。通过该列表获得设备的uuid,再结合
 接口“m t o p . o p e n a l i n k . a p p . c o r e . d e v i c e . g e t d e t a i l”,可间接获得
 “
 我”作为管理员分享出去的所有设备。
 
 (7)如何停止分享?
 绑定者可以通过
 “m t o p . o p e n a l i n k . a p p . c o r e . u s e r . u n b i n d d e v i c e”
 接口,解除与某
 设备的绑定关系。
 如果该用户为管理员,解绑后,所有绑定者都自动解绑。
 
 (8)管理员和普通绑定者权限的差别
 管理员可以分享自己绑定的设备给他人;普通绑定者不能分享设备给
 他人。
 
 以上mtop 接口的调用方式和详细参数信息,请参考:
 
https://iot.aliyun.com/docs/develop/server/api.html