成员管理 SDK

更新时间:2024-09-12 10:38:31下载pdf

@ray-js/wechat-ms-member SDK 提供解锁方式的增删改查以及关联方式。

安装

yarn add @ray-js/wechat-ms-member

// or

npm install @ray-js/wechat-ms-member

获取手机用户成员列表

getListUsers

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
page_no number 页码,默认值为 1 false
page_size number 每一页返回的请求数目,默认值为 200 false
target_standard_dp_codes string 标准解锁方式的功能点(Data Point,简称为 DP),取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
false

返回参数

参数名 类型 描述
has_more bool 是否有下一页
total number 总条数
total_pages number 总页数
records GetListUserItem[] 所有列表人员详情

GetListUserItem 说明

参数名 类型 描述
user_id string 家庭下的用户 ID
lock_user_id number 门锁下的用户 ID
user_contact string 联系方式
avatar_url string 头像 URL
nick_name string 昵称
user_type number 用户类型,取值范围:
  • 10:管理员
  • 20:普通成员
  • 30:没有名字的成员
  • 50:家庭拥有者
back_home_notify_attr number 是否设置家人到家提醒,取值范围:
  • 0:否
  • 1:是
effective_flag number 是否有效,取值范围:
  • 0:无效
  • 1:有效
  • 2:由于时间未到,未生效
time_schedule_info ITimeScheduleInfo 解锁方式生效的时间表信息
unlock_detail IUnlockDetail[] 门锁解锁方式详细信息

ITimeScheduleInfo 说明

参数名 类型 描述
permanent bool 是否永久有效
effective_time number 生效时间
expired_time number 失效时间
operate string 操作类型,包括 ADDMODIFY DELETE。目前,只有 MODIFY 可用
delivery_status string 硬件对操作的反馈
  • ONGOING:进行中
  • SUCCESS: 生效中
  • FAILED:失败

IScheduleDetails 说明

参数名 类型 描述
all_day bool 是否全天有效
effective_time number 生效时间
invalid_time number 失效时间
working_day string 生效的工作时间,即星期几生效

IUnlockDetail 说明

参数名 类型 描述
dp_code number 解锁方式的 DP
count number 当前解锁方式的数量
unlock_list IUnlockList 解锁方式列表

IUnlockList 说明

参数名 类型 描述
unlock_sn string 解锁方式 SN
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
unlock_name string 解锁方式名称
unlock_attr number 解锁方式属性,取值范围:
  • 1:特殊
  • 0:非特殊
allocate_flag number 是否是从未分配的解锁方式分配给用户的,取值范围:
  • 1:是,如果是的话,可以解绑
  • 0:否

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.getListUsers({
  device_id: 'vdevo172164201350692',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  has_more: false,
  records: [
    {
      avatar_url: "https://images.tuyacn.com/xxxxxx.png",
      back_home_notify_attr: 0,
      effective_flag: 1,
      lock_user_id: 1,
      nick_name: "Alice",
      user_contact: "*******@tuya.com",
      user_id: "5958862",
      user_type: 50,
      uid: "xxxxxxxx",
      time_schedule_info: {
      permanent: true,
      user_time_set: "386cd30072bc9b7f000000000000000000",
    },
    unlock_detail:[
      {
        count: 0,
        dp_code: "unlock_fingerprint",
    unlock_list: []
  }]
}],
  total: 1,
  total_pages: 1
}

获取无手机成员列表

getListPanelUsers

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
page_no number 页码,默认值为 1 false
page_size number 每一页返回的请求数目,默认值为 200 false
dp_codes string 标准解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
false

返回参数

参数名 类型 描述
has_more bool 是否有下一页
total number 总条数
total_pages number 总页数
records GetListUserItem[] 所有列表人员详情

GetListUserItem 说明

参数名 类型 描述
user_id string 家庭下的用户 ID
lock_user_id number 门锁下的用户 ID
user_contact string 联系方式
avatar_url string 头像 URL
nick_name string 昵称
user_type number 用户类型,取值范围:
  • 10:管理员
  • 20:普通成员
  • 30:没有名字的成员
  • 50:家庭拥有者
back_home_notify_attr number 是否设置家人到家提醒,取值范围:
  • 0:否
  • 1:是
effective_flag number 是否有效,取值范围:
  • 0:无效
  • 1:有效
  • 2:由于时间未到,未生效
time_schedule_info ITimeScheduleInfo 解锁方式生效的时间表信息
unlock_detail IUnlockDetail[] 门锁解锁方式详细信息

ITimeScheduleInfo 说明

参数名 类型 描述
permanent bool 是否永久有效
effective_time number 生效时间
expired_time number 失效时间
operate string 操作类型,包括 ADDMODIFY DELETE。目前,只有 MODIFY 可用
delivery_status string 硬件对操作的反馈
  • ONGOING:进行中
  • SUCCESS: 生效中
  • FAILED:失败

IScheduleDetails 说明

参数名 类型 描述
all_day bool 是否全天有效
effective_time number 生效时间
invalid_time number 失效时间
working_day string 生效的工作时间,即星期几生效

IUnlockDetail 说明

参数名 类型 描述
dp_code number 解锁方式的 DP
count number 当前解锁方式的数量
unlock_list IUnlockList 解锁方式列表

IUnlockList 说明

参数名 类型 描述
unlock_sn string 解锁方式 SN
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
unlock_name string 解锁方式名称
unlock_attr number 解锁方式属性,取值范围:
  • 1:特殊
  • 0:非特殊
allocate_flag number 是否是从未分配的解锁方式分配给用户的,取值范围:
  • 1:是,如果是的话,可以解绑
  • 0:否

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.getListPanelUsers({
  device_id: 'vdevo172164201350692',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  has_more: false,
  records: [],
  total: 0,
  total_pages: 0,
}

添加无手机用户

addPanelUsers

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
nick_name string 昵称 true

返回参数

参数名 类型 描述
result string 用户 ID

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.addPanelUsers({
  device_id: 'vdevo172164201350692',
  nick_name: 'Ming',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

'7wmqnc';

删除无手机用户

deletePanelUsers

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
user_id string 用户 ID true

返回参数

返回参数为 Boolean 类型,表示是否删除成功。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.deletePanelUsers({
  device_id: 'vdevo172164201350692',
  user_id: '7wmqnc',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

获取未关联的解锁方式列表

获取未关联的解锁方式列表,也可以判断是否有未关联的解锁方式。

listUnallocatedOpModes

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
page_no number 页码,默认值为 1 false
page_size number 每一页返回的请求数目,默认值为 200 false

返回参数

参数名 类型 描述
has_more bool 是否有下一页
total number 总共列表条数
total_pages number 总共列表页数
records IUnAllocatedItem[] 所有的列表人员详情

IUnAllocatedItem 说明

参数名 类型 描述
standard_dp string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
unlock_info IUnlockInfo 解锁方式详情

IUnlockInfo 说明

参数名 类型 描述
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
opmode_id number 解锁方式 ID
unlock_name string 解锁方式名称
unlock_sn number 解锁方式 SN

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.listUnallocatedOpModes({
  device_id: 'vdevo172164201350692',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  has_more: false,
  records: [
    {
      standard_dp: 'unlock_fingerprint',
      unlock_info: [
        {
          dp_code: 'unlock_fingerprint',
          opmode_id: '4065562',
          unlock_name: 'fingerprint',
          unlock_sn: 2
        }
      ]
    }
  ],
  total: 1,
  total_pages: 1,
}

获取成员的解锁方式列表

listUserOpModes

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
user_id string 用户 ID true
target_unlock_standard_dp_codes string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
false
page_no number 页码,默认值为 1 false
page_size number 每一页返回的请求数目,默认值为 200 false

返回参数

参数名 类型 描述
has_more bool 是否有下一页
total number 总共列表条数
total_pages number 总共列表页数
records listUserOpmodeItem[] 所有的列表人员详情

listUserOpmodeItem 说明

参数名 类型 描述
unlock_sn string 解锁方式 SN
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
unlock_name string 解锁方式名称
unlock_attr number 解锁方式属性,1 代表劫持属性
allocate_flag number 是否是从未分配的解锁方式分配给用户的,取值范围:
  • 1:是,如果是的话,可以解绑
  • 0:否
lock_user_id number 门锁下的用户 ID
phase number 阶段,取值范围:
  • 1:已确认,正常
  • 2:待确认,等待更新
  • 3:已冻结
  • 4:待冻结
  • 5:待解冻
  • 6:待重置
  • 7:创建失败
  • 8:已删除
  • 9:待删除
  • 10:待创建
user_name string 用户昵称
user_id string 家庭下的用户 ID
user_type number 用户类型,取值范围:
  • 10:管理员
  • 20:普通成员
  • 30:没有名字的成员
  • 50:家庭拥有者
photo_unlock number 照片劫持:以照片为内容形式的告警提醒,取值范围:
  • 0:没有开启照片劫持功能
  • 1:开启照片劫持功能

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.listUserOpModes({
  device_id: 'vdevo172164201350692',
  user_id: '7wmqnc',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  has_more: false,
  records: [
    {
      allocate_flag: 1,
      channel_id: -1,
      dp_code: 'unlock_password',
      lock_user_id: 8,
      phase: 1,
      photo_unlock: 0,
      unlock_attr: 1,
      unlock_name: 'password',
      unlock_sn: 5,
      user_id: '5958862',
      user_name: 'Ling',
      user_type: 10,
      voice_attr: 0
    }
  ],
  total: 1,
  total_pages: 1,
}

删除成员的解锁方式

deleteOpMode

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
true
unlock_sn string or number 解锁方式 SN true

返回参数

返回参数为 Boolean 类型,表示是否删除成功。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.deleteOpMode({
  device_id: 'vdevo172164201350***',
  dp_code: 'unlock_fingerprint',
  unlock_sn: 10,
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

添加成员的解锁方式

createOpMode

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
user_id string 用户 ID true
standard_dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
true
unlock_no number or string 解锁 DP 的 SN true
unlock_attr number 解锁方式属性,取值范围:
  • 1:特殊
  • 0:非特殊
true
unlock_name string 门锁名称 false
notify_info number 通知信息,App 发送(app_send),取值范围:
  • 0:没有开启 App 发送消息通知
  • 1:开启 App 发送消息通知
false

返回参数

返回参数为 Boolean 类型,表示是否添加成功。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.createOpMode({
  device_id: 'vdevo172164201350692',
  standard_dp_code: 'unlock_fingerprint',
  unlock_no: 10,
  user_id: '5958862',
  unlock_attr: 0,
  unlock_name: '',
  notify_info: { app_send: 1 },
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

更新解锁方式

updateOpMode

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
true
unlock_sn string 解锁方式 SN true
unlock_attr 0 or 1 解锁方式属性,取值范围:
  • 0:没有劫持属性
  • 1:劫持属性
true
unlock_name string 解锁方式名称,默认为空 false
photo_unlock number 照片劫持,取值范围:
  • 0:没有开启照片劫持功能
  • 1:开启照片劫持功能
false
notify_info number 通知信息,App 发送(app_send),取值范围:
  • 0:没有开启 App 发送消息通知
  • 1:开启 App 发送消息通知
false

返回参数

返回参数为 Boolean 类型,表示是否更新成功。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.updateOpMode({
  device_id: 'vdevo172164201350692',
  photo_unlock: 0,
  dp_code: 'unlock_fingerprint',
  unlock_attr: 0,
  unlock_name: 'fingerprinit',
  unlock_sn: 10,
  notify_info: {
    app_send: 1,
  },
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

关联解锁方式

可同时关联多个解锁方式。

allocateOpMode

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
user_id string 用户 ID true
unlock_list UnlockListItem[] 关联的列表 true

UnlockListItem 说明

参数名 类型 描述 是否必传
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
true
unlock_sn string 解锁方式 SN true

返回参数

返回参数为 Boolean 类型,表示是否关联成功。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.allocateOpMode({
  device_id: 'vdevo172164201350692',
  user_id: '5958862',
  unlock_list: [
    {
      dp_code: 'unlock_fingerprint',
      unlock_sn: 2,
    },
  ],
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

获取创建解锁方式的 SN

getSn

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
dp_id string DP ID true

返回参数

返回参数为 number 类型,表示创建解锁方式时的 SN。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.getSn({
  device_id: 'vdevo172164201350692',
  dp_id: '63',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

1;

获取创建密码时的相关配置

获取创建密码时的开发者平台相关配置,包括进制、长度范围、是否隐藏 0。

getPwdInfo

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
digit number 进制
hasZero bool 密码是否包含 0
pwdLenMax number 成员管理里创建密码的最大长度
pwdLenMin number 成员管理里创建密码的最小长度
tempPwdLenMax number 临时密码管理里创建密码的最大长度
tempPwdLenMin number 临时密码管理里创建密码的最小长度

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.getPwdInfo({
  device_id: 'vdevo172164201350692',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  digit: 10,
  hasZero: true,
  pwdLenMax: 10,
  pwdLenMin: 10,
  tempPwdLenMax: 7,
  tempPwdLenMax: 7,
}

解除解锁方式与成员的关联

dealLocateOpMode

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
user_id string 用户 ID true
dp_code string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
true
unlock_sn string 解锁方式 SN true

返回参数

返回参数为 Boolean 类型,表示是否解除关联成功。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.dealLocateOpMode({
  device_id: 'vdevo172164201350692',
  user_id: '5958862',
  unlock_sn: 2,
  dp_code: 'unlock_fingerprint',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

触发劫持提醒

setHijack

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
unlock_type string 解锁方式的 DP,取值范围:
  • fingerprint:指纹解锁
  • password:密码解锁
  • card:卡片解锁
  • finger_vein:手指静脉识别解锁
  • hand:掌纹识别解锁
true
unlock_sn string 解锁方式 SN true

返回参数

返回参数为 Boolean 类型,表示是否成功设置劫持提醒。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.setHijack({
  device_id: 'vdevo172164201350692',
  unlock_no: 10,
  unlock_type: 'fingerprint',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

移除劫持提醒

removeHijack

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
unlock_type string 解锁方式的 DP,取值范围:
  • unlock_fingerprint:指纹解锁
  • unlock_password:密码解锁
  • unlock_card:卡片解锁
  • unlock_finger_vein:手指静脉识别解锁
  • unlock_face:人脸识别解锁
  • unlock_hand:掌纹识别解锁
  • unlock_eye:虹膜识别解锁
true
unlock_sn string 解锁方式 SN true

返回参数

返回参数为 Boolean 类型,表示是否成功移除劫持提醒。

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.removeHijack({
  device_id: 'vdevo172164201350692',
  unlock_no: 10,
  unlock_type: 'unlock_fingerprint',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

true;

获取可同步的成员解锁方式类型

getSyncableOpModeTypes

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
dp_id number DP ID
distributed bool 是否允许下发
ins string 下发的内容

请求示例

import MsMemberApi from '@ray-js/wechat-ms-member';

MsMemberApi.getSyncableOpModeTypes({
  device_id: 'vdevo172164201350692',
})
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  distributed: true,
  dp_id: 54,
  ins: "04f0080506030102"
}