registerAnonymous method
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;
}