2026-02-09 18:03:55 +08:00

108 lines
3.1 KiB
Dart

import 'dart:async';
import 'ali_auth_model.dart';
import 'ali_auth_platform_interface.dart';
export 'ali_auth_enum.dart';
export 'ali_auth_model.dart';
/// 阿里云一键登录类
/// 原来的全屏登录和dialog 统一有配置参数isDislog来控制
class AliAuth {
/// 初始化监听
static Stream<dynamic>? onChange({bool type = true}) {
return AliAuthPlatform.instance.onChange(type: type);
}
/// 获取设备版本信息
static Future<String?> get platformVersion async {
return AliAuthPlatform.instance.getPlatformVersion();
}
/// 获取SDK版本号
static Future<String?> get sdkVersion async {
return AliAuthPlatform.instance.getSdkVersion();
}
/// 初始化SDK sk 必须
/// isDialog 是否使用Dialog 弹窗登录 非必须 默认值false 非Dialog登录
/// debug 是否开启调试模式 非必须 默认true 开启
/// 使用一键登录传入 SERVICE_TYPE_LOGIN 2 使用号码校验传入 SERVICE_TYPE_AUTH 1 默认值 2
static Future<dynamic> initSdk(AliAuthModel? config) async {
return AliAuthPlatform.instance.initSdk(config);
}
/// 一键登录
static Future<dynamic> login({int timeout = 5000}) async {
return AliAuthPlatform.instance.login(timeout: timeout);
}
/// 强制关闭一键登录授权页面
static Future<void> quitPage() async {
return AliAuthPlatform.instance.quitPage();
}
/// 强制关闭Loading
static Future<void> hideLoading() async {
return AliAuthPlatform.instance.hideLoading();
}
/// 强制关闭一键登录授权页面
static Future<String> getCurrentCarrierName() async {
return AliAuthPlatform.instance.getCurrentCarrierName();
}
/// pageRoute
static Future<void> openPage(String? pageRoute) async {
return AliAuthPlatform.instance.openPage(pageRoute);
}
static Future<dynamic> get checkCellularDataEnable async {
return AliAuthPlatform.instance.checkCellularDataEnable;
}
/// 苹果登录iOS专用
static Future<dynamic> get appleLogin async {
return AliAuthPlatform.instance.appleLogin;
}
/// 数据监听
static loginListen(
{bool type = true,
required Function onEvent,
Function? onError,
isOnlyOne = true}) async {
return AliAuthPlatform.instance.loginListen(
type: type, onEvent: onEvent, onError: onError, isOnlyOne: isOnlyOne);
}
/// 暂停
static pause() {
return AliAuthPlatform.instance.pause();
}
/// 恢复
static resume() {
return AliAuthPlatform.instance.resume();
}
/// 销毁监听
static dispose() {
return AliAuthPlatform.instance.dispose();
}
/// WEB专用接口
static Future<void> checkAuthAvailable(String accessToken, String jwtToken,
{required Function(dynamic) success,
required Function(dynamic) error}) async {
await AliAuthPlatform.instance
.checkAuthAvailable(accessToken, jwtToken, success, error);
}
/// WEB专用接口
static Future<void> getVerifyToken(
{required Function(dynamic) success,
required Function(dynamic) error}) async {
await AliAuthPlatform.instance.getVerifyToken(success, error);
}
}