loginWechat static method
登录微信
code 微信code
registrationId 设备id
clientType 客户端类型,取值android 或 ios
Implementation
static Future<String> loginWechat(String code,String registrationId,String clientType) async {
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(
code: code,
appName: 'Maxims',
registrationId: registrationId,
clientType: clientType,
),
);
Map<String,dynamic> result = await HttpUtils.post(true, Api.PATH_LOGIN_WECHAT,
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);
}