| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import 'dart:convert';
- import 'dart:io';
- import 'package:flutter/services.dart';
- import 'package:location/data/consts/build_config.dart';
- import 'package:location/data/consts/web_url.dart';
- import 'package:location/resource/assets.gen.dart';
- import 'package:location/utils/atmob_log.dart';
- import 'package:quickpass_yidun_flutter/quickpass_flutter_plugin.dart';
- class QuickLoginHelper {
- QuickLoginHelper._();
- static final String tag = 'QuickLoginHelper';
- static final String _businessId = BuildConfig.quickLoginBusinessId;
- static final String userAgreement = WebUrl.userAgreement;
- static final String privacyPolicy = WebUrl.privacyPolicy;
- static final QuickpassFlutterPlugin quickLoginPlugin =
- QuickpassFlutterPlugin();
- static Future<void> init() {
- return quickLoginPlugin.init(_businessId).then((map) {
- bool result = map?['success'];
- AtmobLog.d(tag, 'init success:$result');
- _setUiConfig();
- });
- }
- static EventChannel getEventChannel() {
- return const EventChannel("yd_quicklogin_flutter_event_channel");
- }
- static void closeLoginAuthView() {
- quickLoginPlugin.closeLoginAuthView();
- }
- static void _setUiConfig() {
- Map<String, dynamic> configMap;
- String file = "";
- if (Platform.isIOS) {
- file = Assets.config.iosQuickLoginConfig;
- } else if (Platform.isAndroid) {
- file = Assets.config.androidQuickLoginConfig;
- }
- rootBundle.loadString(file).then((value) async {
- configMap = {"uiConfig": json.decode(value)};
- quickLoginPlugin.setUiConfig(configMap);
- });
- }
- static void preFetchNumber({
- required void Function(String token) onSuccess,
- required void Function(String errorMsg) onError,
- }) async {
- // _setUiConfig();//仅测试
- Map<dynamic, dynamic>? map = await quickLoginPlugin.preFetchNumber();
- if (map?['success'] == true) {
- var ydToken = map?['token'];
- AtmobLog.d(tag, 'preFetchNumber success token:$ydToken');
- onSuccess(ydToken);
- } else {
- //获取预设手机号失败
- var ydToken = map?['token'];
- var errorMsg = map?['errorMsg'];
- AtmobLog.e(tag, "preFetchNumber error token:$ydToken,errorMsg:$errorMsg");
- onError(errorMsg);
- }
- }
- static void onePassLogin({
- required void Function(String ydToken, String accessToken) onSuccess,
- required void Function(String errorMsg) onError,
- }) async {
- try {
- Map<dynamic, dynamic>? map = await quickLoginPlugin.onePassLogin();
- if (map?["success"]) {
- var accessToken = map?["accessToken"];
- var ydToken = map?["ydToken"];
- AtmobLog.d(tag,
- "onePassLogin success ydToken:$ydToken, accessToken:$accessToken");
- onSuccess(ydToken, accessToken);
- } else {
- var errorMsg = map?["msg"];
- AtmobLog.e(tag, "onePassLogin error msg:$errorMsg");
- onError(errorMsg);
- }
- closeLoginAuthView();
- } catch (e) {
- onError(e.toString());
- closeLoginAuthView();
- }
- }
- }
|