fix web build
This commit is contained in:
parent
12bb369ac1
commit
36513d14d9
@ -16,7 +16,6 @@ class LogCenterService {
|
|||||||
defaultValue: 'https://qiyuan-log-center-api.airlabs.art',
|
defaultValue: 'https://qiyuan-log-center-api.airlabs.art',
|
||||||
);
|
);
|
||||||
static const String _url = '$_baseUrl/api/v1/logs/report';
|
static const String _url = '$_baseUrl/api/v1/logs/report';
|
||||||
static const String _registerUrl = '$_baseUrl/api/v1/projects/register';
|
|
||||||
static const String _projectId = 'airhub_app';
|
static const String _projectId = 'airhub_app';
|
||||||
static const String _repoUrl = 'https://gitea.airlabs.art/zyc/rtc_prd.git';
|
static const String _repoUrl = 'https://gitea.airlabs.art/zyc/rtc_prd.git';
|
||||||
|
|
||||||
@ -30,24 +29,6 @@ class LogCenterService {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 初始化:向 Log Center 注册项目
|
|
||||||
Future<void> initialize() async {
|
|
||||||
try {
|
|
||||||
await _dio.post(_registerUrl, data: {
|
|
||||||
'project_id': _projectId,
|
|
||||||
'repo_url': _repoUrl,
|
|
||||||
'description': 'Flutter mobile app (subdirectory of rtc_prd repo)',
|
|
||||||
'platform': defaultTargetPlatform.name,
|
|
||||||
'environment': const String.fromEnvironment(
|
|
||||||
'ENVIRONMENT',
|
|
||||||
defaultValue: kDebugMode ? 'development' : 'production',
|
|
||||||
),
|
|
||||||
});
|
|
||||||
} catch (_) {
|
|
||||||
// 静默失败,不影响 App 启动
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 上报 Flutter 框架错误(FlutterError)
|
/// 上报 Flutter 框架错误(FlutterError)
|
||||||
void reportFlutterError(FlutterErrorDetails details) {
|
void reportFlutterError(FlutterErrorDetails details) {
|
||||||
_report(
|
_report(
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:flutter/foundation.dart' show debugPrint, kIsWeb;
|
import 'package:flutter/foundation.dart' show debugPrint, kIsWeb;
|
||||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||||
import 'package:ali_auth/ali_auth.dart';
|
import 'phone_auth_service_stub.dart'
|
||||||
|
if (dart.library.io) 'package:ali_auth/ali_auth.dart';
|
||||||
|
|
||||||
part 'phone_auth_service.g.dart';
|
part 'phone_auth_service.g.dart';
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,76 @@
|
|||||||
/// Web 平台 stub — ali_auth 不支持 Web,提供空实现
|
/// Web 平台 stub — ali_auth 依赖运营商 SIM 卡,Web 上不可用。
|
||||||
|
/// 仅提供编译所需的空壳,运行时由 kIsWeb 守卫跳过。
|
||||||
|
|
||||||
class AliAuth {
|
class AliAuth {
|
||||||
static Future<void> initSdk(dynamic model) async {}
|
static Future<dynamic> initSdk(dynamic model) async {}
|
||||||
static void loginListen({required Function(Map<String, dynamic>) onEvent}) {}
|
static loginListen({
|
||||||
|
bool type = true,
|
||||||
|
required Function onEvent,
|
||||||
|
Function? onError,
|
||||||
|
bool isOnlyOne = true,
|
||||||
|
}) {}
|
||||||
static Future<dynamic> login({int timeout = 5000}) async {}
|
static Future<dynamic> login({int timeout = 5000}) async {}
|
||||||
|
static Future<void> quitPage() async {}
|
||||||
|
static Future<void> hideLoading() async {}
|
||||||
|
}
|
||||||
|
|
||||||
|
enum PageType {
|
||||||
|
fullPort,
|
||||||
|
fullLand,
|
||||||
|
dialogPort,
|
||||||
|
dialogLand,
|
||||||
|
dialogBottom,
|
||||||
|
customView,
|
||||||
|
customXml,
|
||||||
|
customGif,
|
||||||
|
customMOV,
|
||||||
|
customPIC,
|
||||||
}
|
}
|
||||||
|
|
||||||
class AliAuthModel {
|
class AliAuthModel {
|
||||||
AliAuthModel(String androidSk, String iosSk,
|
AliAuthModel(
|
||||||
{bool isDebug = false, bool autoQuitPage = false, dynamic pageType});
|
String? androidSk,
|
||||||
}
|
String? iosSk, {
|
||||||
|
dynamic isDebug,
|
||||||
class PageType {
|
dynamic isDelay,
|
||||||
static const fullPort = 0;
|
dynamic autoQuitPage,
|
||||||
|
dynamic pageType,
|
||||||
|
dynamic dialogWidth,
|
||||||
|
dynamic dialogHeight,
|
||||||
|
dynamic dialogCornerRadiusArray,
|
||||||
|
dynamic dialogAlpha,
|
||||||
|
dynamic tapAuthPageMaskClosePage,
|
||||||
|
dynamic navHidden,
|
||||||
|
dynamic navReturnHidden,
|
||||||
|
dynamic logoHidden,
|
||||||
|
dynamic logoImgPath,
|
||||||
|
dynamic logoWidth,
|
||||||
|
dynamic logoHeight,
|
||||||
|
dynamic logoOffsetY,
|
||||||
|
dynamic numberColor,
|
||||||
|
dynamic numFieldOffsetY,
|
||||||
|
dynamic sloganHidden,
|
||||||
|
dynamic logBtnText,
|
||||||
|
dynamic logBtnTextColor,
|
||||||
|
dynamic logBtnWidth,
|
||||||
|
dynamic logBtnHeight,
|
||||||
|
dynamic logBtnOffsetY,
|
||||||
|
dynamic switchAccText,
|
||||||
|
dynamic switchAccTextColor,
|
||||||
|
dynamic switchOffsetY,
|
||||||
|
dynamic privacyState,
|
||||||
|
dynamic privacyBefore,
|
||||||
|
dynamic privacyEnd,
|
||||||
|
dynamic vendorPrivacyPrefix,
|
||||||
|
dynamic vendorPrivacySuffix,
|
||||||
|
dynamic protocolOneName,
|
||||||
|
dynamic protocolOneURL,
|
||||||
|
dynamic protocolTwoName,
|
||||||
|
dynamic protocolTwoURL,
|
||||||
|
dynamic privacyOffsetY_B,
|
||||||
|
dynamic pageBackgroundPath,
|
||||||
|
dynamic backgroundColor,
|
||||||
|
dynamic pageBackgroundRadius,
|
||||||
|
dynamic isHiddenCustom,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,6 @@ void main() {
|
|||||||
|
|
||||||
final container = ProviderContainer();
|
final container = ProviderContainer();
|
||||||
final logCenter = container.read(logCenterServiceProvider);
|
final logCenter = container.read(logCenterServiceProvider);
|
||||||
logCenter.initialize();
|
|
||||||
|
|
||||||
// 捕获 Flutter 框架错误(Widget build 异常等)
|
// 捕获 Flutter 框架错误(Widget build 异常等)
|
||||||
FlutterError.onError = (details) {
|
FlutterError.onError = (details) {
|
||||||
FlutterError.presentError(details); // 保留控制台输出
|
FlutterError.presentError(details); // 保留控制台输出
|
||||||
|
|||||||
@ -1,57 +1,38 @@
|
|||||||
import 'dart:html' as html show window;
|
import 'package:flutter/foundation.dart' show debugPrint;
|
||||||
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
|
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
|
||||||
import 'ali_auth_web_api.dart';
|
|
||||||
import 'ali_auth_platform_interface.dart';
|
import 'ali_auth_platform_interface.dart';
|
||||||
export 'ali_auth_method_channel.dart';
|
export 'ali_auth_method_channel.dart';
|
||||||
|
|
||||||
/// A web implementation of the AliAuthPlatform of the AliAuth plugin.
|
/// Web 平台 stub —— 一键登录依赖运营商 SIM 卡,Web 上不可用。
|
||||||
|
/// 所有方法均为空实现,PhoneAuthService 已通过 kIsWeb 守卫跳过调用。
|
||||||
class AliAuthPluginWeb extends AliAuthPlatform {
|
class AliAuthPluginWeb extends AliAuthPlatform {
|
||||||
/// Constructs a AliAuthWeb
|
|
||||||
AliAuthPluginWeb();
|
AliAuthPluginWeb();
|
||||||
|
|
||||||
AliAuthPluginWebApi aliAuthPluginWebApi = AliAuthPluginWebApi();
|
|
||||||
|
|
||||||
static void registerWith(Registrar registrar) {
|
static void registerWith(Registrar registrar) {
|
||||||
AliAuthPlatform.instance = AliAuthPluginWeb();
|
AliAuthPlatform.instance = AliAuthPluginWeb();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Returns a [String] containing the version of the platform.
|
|
||||||
@override
|
@override
|
||||||
Future<String?> getPlatformVersion() async {
|
Future<String?> getPlatformVersion() async => 'web (unsupported)';
|
||||||
final version = html.window.navigator.userAgent;
|
|
||||||
return version;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 获取SDK版本号
|
|
||||||
@override
|
@override
|
||||||
Future<String?> getSdkVersion() async {
|
Future<String?> getSdkVersion() async => null;
|
||||||
return await aliAuthPluginWebApi.getVersion();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 网络类型检查接口
|
|
||||||
@override
|
@override
|
||||||
Future<String?> getConnection() async {
|
Future<String?> getConnection() async => null;
|
||||||
return await aliAuthPluginWebApi.getConnection();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 设置SDK是否开启日志。开启后会在控制台打印更多内容便于排查问题。
|
|
||||||
@override
|
@override
|
||||||
Future<void> setLoggerEnable(bool isEnable) async {
|
Future<void> setLoggerEnable(bool isEnable) async {}
|
||||||
return await aliAuthPluginWebApi.setLoggerEnable(isEnable);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// 身份鉴权
|
|
||||||
@override
|
@override
|
||||||
Future<void> checkAuthAvailable(String accessToken, String jwtToken,
|
Future<void> checkAuthAvailable(String accessToken, String jwtToken,
|
||||||
Function(dynamic) success, Function(dynamic) error) async {
|
Function(dynamic) success, Function(dynamic) error) async {
|
||||||
aliAuthPluginWebApi.checkAuthAvailable(
|
debugPrint('[AliAuth] Web 平台不支持一键登录');
|
||||||
accessToken, jwtToken, success, error);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 获取本机号码校验Token
|
|
||||||
@override
|
@override
|
||||||
Future<void> getVerifyToken(
|
Future<void> getVerifyToken(
|
||||||
Function(dynamic) success, Function(dynamic) error) async {
|
Function(dynamic) success, Function(dynamic) error) async {
|
||||||
aliAuthPluginWebApi.getVerifyToken(success, error);
|
debugPrint('[AliAuth] Web 平台不支持一键登录');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user