update getUserProfile

master
wanghualei 2023-07-05 17:30:57 +08:00
parent 06fba0ff0b
commit 48f357de17
6 changed files with 98 additions and 23 deletions

View File

@ -24,6 +24,7 @@ import com.finogeeks.mop.interfaces.ICallback;
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;
@ -65,6 +66,9 @@ public class AppletHandlerModule extends BaseApi {
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

View File

@ -14,6 +14,7 @@ import com.finogeeks.mop.api.BaseApi;
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;
@ -199,6 +200,9 @@ public class InitSDKModule extends BaseApi {
configBuilder.setLocale(Locale.SIMPLIFIED_CHINESE);
}
// getUserProfile
configBuilder.setGetUserProfileHandlerClass(MyUserProfileHandler.class.getName());
// uiConfig
FinAppConfig.UIConfig uiConfig = InitUtils.createUIConfigFromMap(uiConfigMap);
if (uiConfig != null) {

View File

@ -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);
}
});
}
}

View File

@ -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(

View File

@ -115,7 +115,7 @@ packages:
path: ".."
relative: true
source: path
version: "2.40.13"
version: "2.41.1"
path:
dependency: transitive
description:
@ -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:

View File

@ -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
@ -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:
@ -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
@ -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:
@ -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"