requestCode method
Implementation
Future<CodeResult> requestCode(String? mobile) async {
//
Map<String, String> headers = {"Content-Type": "application/json"};
final initUrl = BytedeskUtils.getHostUri(
'/sms/api/send/liangshibao', {'mobile': mobile, 'client': client});
final initResponse = await httpClient.get(initUrl, headers: headers);
// .timeout(
// const Duration(seconds: 1),
// onTimeout: () {
// return http.Response('Error', 408); // Request Timeout response status code
// },
// );
//解决json解析中的乱码问题
Utf8Decoder utf8decoder = const Utf8Decoder(); // fix 中文乱码
//将string类型数据 转换为json类型的数据
final responseJson =
json.decode(utf8decoder.convert(initResponse.bodyBytes));
// debugPrint("requestCode: ${responseJson}");
SpUtil.putBool(BytedeskConstants.exist, responseJson['data']['exist']);
SpUtil.putString(BytedeskConstants.code, responseJson['data']['code']);
//
User user = User.fromJson(responseJson['data']['user']);
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.mobile, user.mobile ?? '');
SpUtil.putString(BytedeskConstants.description, user.description!);
SpUtil.putString(BytedeskConstants.subDomain, user.subDomain!);
return CodeResult.fromJson(responseJson);
}