loginWechat static method

Future<String> loginWechat(
  1. String code,
  2. String registrationId,
  3. String clientType
)

登录微信 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);
}