registerAnonymous method

Future<User> registerAnonymous(
  1. String? appkey,
  2. String? subDomain
)

Implementation

Future<User> registerAnonymous(String? appkey, String? subDomain) async {
  //
  Map<String, String> headers = {"Content-Type": "application/json"};
  //
  final initUrl = BytedeskUtils.getHostUri('/visitor/api/username',
      {'appkey': appkey, 'subDomain': subDomain, 'client': client});
  final initResponse = await httpClient.get(initUrl, headers: headers);

  //解决json解析中的乱码问题
  Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
  //将string类型数据 转换为json类型的数据
  final responseJson =
      json.decode(utf8decoder.convert(initResponse.bodyBytes));
  // debugPrint("registerAnonymous: $responseJson");
  //
  User user = User.fromJson(responseJson['data']);
  //
  SpUtil.putString(BytedeskConstants.uid, user.uid!);
  SpUtil.putString(BytedeskConstants.username, user.username!);
  SpUtil.putString(BytedeskConstants.nickname, user.nickname!);
  SpUtil.putString(BytedeskConstants.avatar, user.avatar!);
  SpUtil.putString(BytedeskConstants.description, user.description!);
  SpUtil.putString(BytedeskConstants.subDomain, user.subDomain!);
  SpUtil.putString(BytedeskConstants.role, BytedeskConstants.ROLE_VISITOR);
  // 解析用户资料
  return user;
}