基础库
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

login_repository.dart 2.7 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import 'dart:convert';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:zhiying_comm/pages/login_page/model/login_style_model.dart';
  4. import 'package:zhiying_comm/zhiying_comm.dart';
  5. import '../login_style_util.dart';
  6. class LoginRepository {
  7. /// 获取页面数据
  8. Future<LoginStyleModel> fetchNetPageData() async {
  9. return await LoginStyleUtil.fetchNetPageData();
  10. }
  11. /// 获取缓存的页面数据
  12. Future<LoginStyleModel> fetchCachePageData() async {
  13. return await LoginStyleUtil.fetchCachePageData();
  14. }
  15. /// 淘宝登录
  16. Future<UserInfoModel> aliLogin(
  17. {@required final String nick, @required final String avatarUrl, @required final String openId, final String openSid, final String topAccessToken, final String topAuthCode}) async {
  18. try {
  19. Map<String, String> params = {};
  20. params['nick_name'] = nick;
  21. params['avatar_url'] = avatarUrl;
  22. params['open_id'] = openId;
  23. params['access_token'] = topAccessToken;
  24. params['sid'] = openSid;
  25. params['auth_code'] = topAuthCode;
  26. var result = await NetUtil.post(
  27. '/api/v1/sign/fast/in',
  28. queryParameters: {'third_party_login': 'taobao'},
  29. params: {'taobao': params},
  30. method: NetMethod.POST,
  31. );
  32. if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) {
  33. return UserInfoModel.fromJson(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]);
  34. }
  35. } catch (e, s) {
  36. Logger.error(e, s);
  37. }
  38. return null;
  39. }
  40. /// 微信登录
  41. Future<UserInfoModel> weChatLogin() async {
  42. return null;
  43. }
  44. /// apple 登录
  45. Future<UserInfoModel> appleLogin() async {
  46. return null;
  47. }
  48. /// QQ 登录
  49. Future<UserInfoModel> qqLogin(final Map<dynamic, dynamic> data) async {
  50. try {
  51. var dbInfo = jsonDecode(data['dbInfo']);
  52. Map<String, String> params = {};
  53. params['nickname'] = dbInfo['nickname']?.toString();
  54. params['gender'] = dbInfo['gender']?.toString() == '0' ? '1' : '2';
  55. params['avatar_url'] = dbInfo['icon']?.toString();
  56. params['open_id'] = dbInfo['userID']?.toString();
  57. params['unionid'] = dbInfo['unionid']?.toString();
  58. params['token'] = dbInfo['token']?.toString();
  59. var result = await NetUtil.post(
  60. '/api/v1/sign/fast/in',
  61. params: {'qq': params},
  62. queryParameters: {'third_party_login': 'qq'},
  63. method: NetMethod.POST,
  64. );
  65. if (NetUtil.isSuccess(result) && !EmptyUtil.isEmpty(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA])) {
  66. return UserInfoModel.fromJson(result[GlobalConfig.HTTP_RESPONSE_KEY_DATA]);
  67. }
  68. } catch (e, s) {
  69. Logger.error(e, s);
  70. }
  71. return null;
  72. }
  73. }