import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_alibc/alibc_model.dart'; import 'package:flutter_alibc/flutter_alibc.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:zhiying_comm/models/profile/profile_model.dart'; import 'package:zhiying_comm/util/taobao/taobao_auth_alert.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; class TaobaoAuth { static ProfileModel _profile; // 淘宝授权 static auth(BuildContext context) async { bool isAuth = await TaobaoAuth.isAuth(); if (isAuth) { Fluttertoast.showToast(msg: '你已经授权过了'); return; } bool isConfirm = await showDialog( context: context, builder: (BuildContext context) { return TaobaoAuthAlert(); }); if (isConfirm != null && isConfirm == true) { Map data = Map.from( await NetUtil.post('/api/v1/taobao/auth', method: NetMethod.GET)); Logger.debug(data); if (data['code'] != 1) { return; } String url = data['data']['redirect_url']; print("授权链接" + url); if (Platform.isAndroid) { TradeResult result = await FlutterAlibc.openByUrl( url: url, backUrl: "alisdk://", isAuth: true); // TradeResult result = await FlutterAlibc.openByUrl(url: ''); Logger.debug('${result.errorCode} ${result.errorMessage} '); } else if (Platform.isIOS) { TradeResult result = await FlutterAlibc.openByUrl(url: url); // TradeResult result = await FlutterAlibc.openByUrl(url: ''); Logger.debug('${result.errorCode} ${result.errorMessage} '); } } } // 返回是否授权 static Future isAuth() async { if (_profile != null) { return _profile.isAuth; } Map data = Map.from( await NetUtil.post('/api/v1/user/profile', method: NetMethod.GET)); if (data['code'] == 1) { _profile = ProfileModel.fromJson(Map.from(data['data'])); return _profile.isAuth; } return false; } }