xcDeviceCheckOldPwdIsCorrect method

Future<bool> xcDeviceCheckOldPwdIsCorrect({
  1. required String deviceId,
  2. required String oldPwd,
  3. required String deviceLoginName,
})

验证老密码正确

Implementation

Future<bool> xcDeviceCheckOldPwdIsCorrect(
    {required String deviceId,
    required String oldPwd,
    required String deviceLoginName}) async {
  final String pOldPwd = await JFApi.xcUtil.xcMD5Encode(encodeStr: oldPwd);
  OriginResponse result = await _api.devGetSysConfig(
      deviceId, 'Users', 1472, 5000, ApiSeq.instance.getSeq());
  if (kDebugMode) {
    XCloudResponse.fromOriginResponse(result);
  }
  if (result.param1 < 0) {
    return Future.error(
        XCloudAPIException(code: result.param1, commandId: result.commandId));
  }

  if (result.byteStream == null) {
    return Future.value(false);
  }
  String byteString = XCloudResponse.byteToString(result.byteStream);

  Map<String, dynamic> json = jsonDecode(byteString);
  DeviceSetNewPasswordUserCenter userCenter =
      DeviceSetNewPasswordUserCenter.fromJson(json);

  ///寻找是否有对应的用户
  if (userCenter.users == null) {
    return Future.value(false);
  }
  if (userCenter.users!.isEmpty) {
    return Future.value(false);
  }

  ///遍历找是否有对应的用户
  for (DeviceUser user in userCenter.users!) {
    ///找到对应的用户
    if (user.name! == deviceLoginName) {
      ///密码匹配
      if (pOldPwd == user.password!) {
        return Future.value(true);
      } else {
        return Future.value(false);
      }
    }
  }

  ///找不到就返回失败
  return Future.value(false);
}