Skip to content

Commit

Permalink
update getUserProfile
Browse files Browse the repository at this point in the history
  • Loading branch information
wanghualei committed Jul 5, 2023
1 parent 06fba0f commit 48f357d
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.finogeeks.mop.service.MopPluginService;
import com.finogeeks.mop.utils.AppletUtils;
import com.finogeeks.mop.utils.GsonUtil;
import com.finogeeks.mop.impls.MyUserProfileHandler;
import com.google.gson.reflect.TypeToken;

import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -65,6 +66,9 @@ public void invoke(String event, Map param, ICallback callback) {
Log.d("AppletHandlerModule", "registerAppletHandler");

MethodChannel channel = MopPluginService.getInstance().getMethodChannel();
// getUserProfile的内置实现
FinAppClient.INSTANCE.getFinAppConfig().setGetUserProfileHandlerClass(MyUserProfileHandler.class.getName());

FinAppClient.INSTANCE.getAppletApiManager().setAppletHandler(mIAppletHandler = new IAppletHandler() {

@Nullable
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.finogeeks.mop.api.mop.util.InitUtils;
import com.finogeeks.mop.interfaces.ICallback;
import com.finogeeks.mop.service.MopPluginService;
import com.finogeeks.mop.impls.MyUserProfileHandler;
import com.finogeeks.xlog.XLogLevel;
import com.google.gson.Gson;

Expand Down Expand Up @@ -199,6 +200,9 @@ public void invoke(String event, Map param, ICallback callback) {
configBuilder.setLocale(Locale.SIMPLIFIED_CHINESE);
}

// getUserProfile的内置实现
configBuilder.setGetUserProfileHandlerClass(MyUserProfileHandler.class.getName());

// uiConfig
FinAppConfig.UIConfig uiConfig = InitUtils.createUIConfigFromMap(uiConfigMap);
if (uiConfig != null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package com.finogeeks.mop.impls;

import android.content.Context;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;

import com.finogeeks.lib.applet.client.FinAppInfo;
import com.finogeeks.lib.applet.modules.userprofile.IUserProfileHandler;
import com.finogeeks.mop.service.MopPluginService;

import java.util.Map;

import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;

import io.flutter.plugin.common.MethodChannel;

public class MyUserProfileHandler implements IUserProfileHandler {
private static final String TAG = "MyUserProfileHandler";

private Handler handler = new Handler(Looper.getMainLooper());

@Override
public void getUserProfileWithAppletInfo(@NotNull Context context, @NotNull FinAppInfo finAppInfo, @NotNull UserProfileCallback callback) {
MethodChannel channel = MopPluginService.getInstance().getMethodChannel();
Log.d(TAG, "getUserProfileWithAppletInfo:");
channel.invokeMethod("extensionApi:getUserProfile", null, new MethodChannel.Result() {
@Override
public void success(Object mapResult) {
JSONObject result = null;
try {
result = new JSONObject(mapResult);
} catch (Exception e) {

}

if (result == null) {
callback.onError(null);
} else {
callback.onSuccess(result);
}
}

@Override
public void error(String errorCode, String errorMessage, Object errorDetails) {
callback.onError(null);
}

@Override
public void notImplemented() {
callback.onError(null);
}
});

}
}
17 changes: 17 additions & 0 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,26 @@ class _MyAppState extends State<MyApp> {
print(res);
Mop.instance.registerAppletHandler(MyAppletHandler());

Mop.instance.registerExtensionApi('getUserProfile', getUserProfile);

if (!mounted) return;
}

Future<Map<String, dynamic>> getUserProfile(dynamic params) async {
Map<String, dynamic> result = {
"userInfo":{
"nickName" : "haley",
"avatarUrl" : "https://www.finclip.com",
"gender" : 1,
"country" : "China",
"province" : "Guangdong",
"city" : "shenzhen",
}
};

return result;
}

Widget _buildAppletItem(
String appletId, String itemName, VoidCallback tapAction) {
return GestureDetector(
Expand Down
11 changes: 2 additions & 9 deletions example/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ packages:
path: ".."
relative: true
source: path
version: "2.40.13"
version: "2.41.1"
path:
dependency: transitive
description:
Expand Down Expand Up @@ -169,14 +169,7 @@ packages:
name: test_api
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.3"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
version: "0.4.9"
vector_math:
dependency: transitive
description:
Expand Down
28 changes: 14 additions & 14 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,14 @@ packages:
name: collection
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.15.0"
version: "1.16.0"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.0"
version: "1.3.0"
flutter:
dependency: "direct main"
description: flutter
Expand Down Expand Up @@ -88,6 +88,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.1.4"
meta:
dependency: transitive
description:
Expand All @@ -101,7 +108,7 @@ packages:
name: path
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.8.0"
version: "1.8.1"
sky_engine:
dependency: transitive
description: flutter
Expand All @@ -113,7 +120,7 @@ packages:
name: source_span
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.8.1"
version: "1.8.2"
stack_trace:
dependency: transitive
description:
Expand Down Expand Up @@ -148,21 +155,14 @@ packages:
name: test_api
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.4.3"
typed_data:
dependency: transitive
description:
name: typed_data
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.3.0"
version: "0.4.9"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.1.1"
version: "2.1.2"
sdks:
dart: ">=2.14.0 <3.0.0"
dart: ">=2.17.0-0 <3.0.0"
flutter: ">=2.2.3"

0 comments on commit 48f357d

Please sign in to comment.