import 'dart:convert';

import 'package:flutter/cupertino.dart';
import 'package:zhiying_comm/pages/login_page/model/login_style_model.dart';
import 'package:zhiying_comm/zhiying_comm.dart';
import '../login_style_util.dart';

class LoginRepository {
  /// 获取页面数据
  Future<LoginStyleModel> fetchNetPageData() async {
    return await LoginStyleUtil.fetchNetPageData();
  }

  /// 获取缓存的页面数据
  Future<LoginStyleModel> fetchCachePageData() async {
    return await LoginStyleUtil.fetchCachePageData();
  }

  /// 淘宝登录
  Future<UserInfoModel> aliLogin(
      {@required final String nick, @required final String avatarUrl, @required final String openId, final String openSid, final String topAccessToken, final String topAuthCode}) async {
    try {
      Map<String, String> params = {};
      params['nick_name'] = nick;
      params['avatar_url'] = avatarUrl;
      params['open_id'] = openId;
      params['access_token'] = topAccessToken;
      params['sid'] = openSid;
      params['auth_code'] = topAuthCode;
      var result = await NetUtil.post(
        '/api/v1/sign/fast/in',
        queryParameters: {'third_party_login': 'taobao'},
        params: {'taobao': params},
        method: NetMethod.POST,
      );
      if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) {
        return UserInfoModel.fromJson(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]);
      }
    } catch (e, s) {
      Logger.error(e, s);
    }
    return null;
  }

  /// 微信登录
  Future<UserInfoModel> weChatLogin() async {
    return null;
  }

  /// apple 登录
  Future<UserInfoModel> appleLogin() async {
    return null;
  }

  /// QQ 登录
  Future<UserInfoModel> qqLogin() async {
    return null;
  }
}