emailLogin static method
手机号登录
captcha 验证码
proof 手机号
password 密码
registrationId App在登录时传递过来的极光推送的registrationId(这个表示的是推送id)
clientType 客户端类型,取值android 或 ios
Implementation
static Future<String> emailLogin(String? captcha, String proof, String password,
String registrationId,String clientType) async {
if(captcha == null || captcha.isEmpty) {
captcha = await getTextCaptcha();
}
String messageId = HttpUtils.getUUID();
int timestamp = DateTime.now().millisecondsSinceEpoch;
String sign = CipherUtil.generateSignature(timestamp, messageId);
Cm005BaseLoginRequest request = Cm005BaseLoginRequest(
messageId: messageId,
timestamp: timestamp,
sign: sign,
language: HttpManager().isAbroad ? 'en-US' : 'zh-CN',
signVersion: '1',
payLoadVersion: '1',
payload: Payload(
tempToken: SpUtil().getString(SpUtil.SP_KEY_IMAGE_CAPTCHA_TOKEN),
captcha: captcha,
proof: proof,
password: password,
appName: 'Maxims',
registrationId: registrationId,
clientType: clientType,
));
Map<String,dynamic> result = await HttpUtils.post(true, Api.PATH_EMAIL_LOGIN_REQUEST,
data: request.toJson());
if(result['code'] == 200 && result['result']['accessToken'] != null) {
SpUtil().setString(SpUtil.SP_KEY_ACCESS_TOKEN, result['result']['accessToken']);
}
if(result['code'] == 200 && result['result']['refreshToken'] != null) {
SpUtil().setString(SpUtil.SP_KEY_REFRESH_TOKEN, result['result']['refreshToken']);
}
result = {
'success': result['success'],
'code': result['code'],
'message': result['message'],
'result': {
'baseDdata': result['code'] == 200 ? result['result']['baseDdata'] : null
},
};
return formatResponse(result);
}