Skip to content

Commit

Permalink
Merge branch 'master' into major_dev
Browse files Browse the repository at this point in the history
# Conflicts:
#	android/build.gradle
  • Loading branch information
yangbinqiao committed Jun 16, 2023
2 parents a6929ba + f442017 commit 11083a6
Show file tree
Hide file tree
Showing 24 changed files with 201 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -186,12 +186,17 @@ public void success(Object result) {
if (image == null) {
image = "";
}
String darkImage = (String) map.get("darkImage");
if (darkImage == null) {
darkImage = "";
}
moreMenuItems.add(
new MoreMenuItem(
menuId,
title,
image,
-1,
darkImage,
moreMenuType,
true
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;

import com.finogeeks.lib.applet.client.FinAppClient;
Expand Down Expand Up @@ -102,8 +103,14 @@ public void invoke(String event, Map param, final ICallback callback) {
if (fingerprint == null) fingerprint = "";
String encryptType = (String) config.get("cryptType");
Boolean encryptServerData1 = (Boolean) config.get("encryptServerData");
Boolean enablePreloadFramework = (Boolean) config.get("enablePreloadFramework");
//凡泰助手里,服务器是https://api.finclip.com,默认开启预加载基础库
if(!TextUtils.isEmpty(apiServer) && apiServer.equals("https://api.finclip.com")) {
enablePreloadFramework = true;
}

if (encryptServerData1 == null) encryptServerData1 = false;
finStoreConfigs.add(new FinStoreConfig(sdkKey, sdkSecret, apiUrl, apmUrl, "", fingerprint, encryptType, encryptServerData1));
finStoreConfigs.add(new FinStoreConfig(sdkKey, sdkSecret, apiUrl, apmUrl, "", fingerprint, encryptType, encryptServerData1, enablePreloadFramework));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;

import com.finogeeks.lib.applet.client.FinAppClient;
Expand Down Expand Up @@ -63,8 +64,15 @@ public void invoke(String event, Map param, ICallback callback) {
}
String cryptType = (String) store.get("cryptType");
Boolean encryptServerData = (Boolean) store.get("encryptServerData");
Boolean enablePreloadFramework = (Boolean) store.get("enablePreloadFramework");
//凡泰助手里,服务器是https://api.finclip.com,默认开启预加载基础库
if (!TextUtils.isEmpty(apiServer) && apiServer.equals("https://api.finclip.com")) {
enablePreloadFramework = true;
}


storeConfigs.add(new FinStoreConfig(sdkKey, sdkSecret, apiServer, apmServer, "",
fingerprint, cryptType, encryptServerData));
fingerprint, cryptType, encryptServerData, enablePreloadFramework));
}
configBuilder.setFinStoreConfigs(storeConfigs);
String userId = (String) configMap.get("userId");
Expand Down
3 changes: 3 additions & 0 deletions example/ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

source 'ssh://gitlab.finogeeks.club/finclip-ios/DevPods'
source 'ssh://gitlab.finogeeks.club/finclip-ios/FinPods'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

Expand Down
20 changes: 10 additions & 10 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
PODS:
- FinApplet (2.40.9)
- FinAppletExt (2.40.9):
- FinApplet (= 2.40.9)
- FinApplet (2.40.12-dev20230614v02)
- FinAppletExt (2.40.12-dev20230614v02):
- FinApplet (= 2.40.12-dev20230614v02)
- Flutter (1.0.0)
- mop (0.1.1):
- FinApplet (= 2.40.9)
- FinAppletExt (= 2.40.9)
- FinApplet (= 2.40.12-dev20230614v02)
- FinAppletExt (= 2.40.12-dev20230614v02)
- Flutter

DEPENDENCIES:
- Flutter (from `Flutter`)
- mop (from `.symlinks/plugins/mop/ios`)

SPEC REPOS:
trunk:
ssh://gitlab.finogeeks.club/finclip-ios/DevPods:
- FinApplet
- FinAppletExt

Expand All @@ -24,11 +24,11 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/mop/ios"

SPEC CHECKSUMS:
FinApplet: 9dd3810fb41400c882c8c5d5f528452b0f1f0a63
FinAppletExt: e9f418e3d11f5cf4ee42b2d64ab405fe747f51fe
FinApplet: de28575dab4c28c200c02844f4909b04d376def2
FinAppletExt: eea5d939667836c744b5eb4afcc81285e248c9f3
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
mop: 8684b0dad361ce1d9b2d4a98d65a1acb52ce4120
mop: d8bad2214a82a3440c154e496d0d49c1144490a4

PODFILE CHECKSUM: 2317ba7584871ae8cd67fd0244fbd5e96fd06167
PODFILE CHECKSUM: 2da0220ee5ba22a2dfcec42dfe5b17d05f3c3da9

COCOAPODS: 1.11.3
1 change: 1 addition & 0 deletions example/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 9QCKYFU5M4;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = finclip_example;
Expand Down
6 changes: 6 additions & 0 deletions example/ios/Runner/Assets.xcassets/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "minipro_list_collect@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "minipro_list_collect@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "minipro_list_service@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "minipro_list_service@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 29 additions & 8 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class _MyAppState extends State<MyApp> {
Config config = Config(storeConfigs);
config.language = LanguageType.English;
config.baseLoadingViewClass = "LoadingView";
config.appletDebugMode = BOOLState.BOOLStateTrue;

UIConfig uiconfig = UIConfig();
uiconfig.isAlwaysShowBackInDefaultNavigationBar = false;
Expand All @@ -59,6 +60,7 @@ class _MyAppState extends State<MyApp> {
uiconfig.capsuleConfig = capsuleConfig;
uiconfig.appletText = "applet";
uiconfig.loadingLayoutCls = "com.finogeeks.mop_example.CustomLoadingPage";
uiconfig.autoAdaptDarkMode = true;

// if (Platform.isIOS) {
// final res = await Mop.instance.initialize(
Expand Down Expand Up @@ -129,14 +131,15 @@ class _MyAppState extends State<MyApp> {
// physics: NeverScrollableScrollPhysics(),
children: [
_buildAppletItem(appletId, "打开小程序", () {
// Mop.instance.openApplet(appletId,
// path: 'pages/index/index', query: '');
TranstionStyle style = TranstionStyle.TranstionStyleUp;
if (appletId == "5f72e3559a6a7900019b5baa") {
style = TranstionStyle.TranstionStylePush;
}
RemoteAppletRequest request = RemoteAppletRequest(apiServer: 'https://api.finclip.com', appletId: appletId, transitionStyle: style);
Mop.instance.startApplet(request);

// Mop.instance.qrcodeOpenApplet('https://api.finclip.com/api/v1/mop/runtime/applet/-f-MGYzN2Q1YTYzMmI2MWIyZg--');

}),
_buildAppletItem(appletId, "finishRunningApplet", () {
Mop.instance.finishRunningApplet(appletId, true);
Expand Down Expand Up @@ -167,7 +170,7 @@ class _MyAppState extends State<MyApp> {
children: <Widget>[
_buildAppletWidget("5facb3a52dcbff00017469bd", "画图小程序"),
_buildAppletWidget("5f72e3559a6a7900019b5baa", "官方小程序"),
_buildAppletWidget("5fa215459a6a7900019b5cc3", "我的对账单"),
_buildAppletWidget("5f17f457297b540001e06ebb", "测试小程序"),
],
),
),
Expand All @@ -184,8 +187,8 @@ class MyAppletHandler extends AppletHandler {
@override
bool customCapsuleMoreButtonClick(String appId) {
print("customCapsuleMoreButtonClick---");
toAppMessageChannel.invokeMethod("showCustomMoreView", {"appId": appId});
return true;
// toAppMessageChannel.invokeMethod("showCustomMoreView", {"appId": appId});
return false;
}

@override
Expand All @@ -195,14 +198,32 @@ class MyAppletHandler extends AppletHandler {

@override
Future<List<CustomMenu>> getCustomMenus(String appId) {
List<CustomMenu> customMenus = [];
CustomMenu menu1 = CustomMenu('WXTest', 'https://img1.baidu.com/it/u=2878938773,1765835171&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500', '百度图标', 'common');
menu1.darkImage = 'https://img95.699pic.com/xsj/14/46/mh.jpg%21/fw/700/watermark/url/L3hzai93YXRlcl9kZXRhaWwyLnBuZw/align/southeast';

CustomMenu menu2 = CustomMenu('CustomMenu2', 'minipro_list_collect', '工程图标', 'common');
menu2.darkImage = 'minipro_list_service';

List<CustomMenu> customMenus = [
menu1,
menu2,
CustomMenu('MyFriends', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSpvugSNLs9R7iopz_noeotAelvgzYj-74iCg&usqp=CAU', '谷歌图标', 'common'),
// CustomMenu('WXShareAPPFriends', 'https://img1.baidu.com/it/u=2878938773,1765835171&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500', '微信好朋友', 'common'),
// CustomMenu('WXShareAPPMoments', 'https://img2.baidu.com/it/u=3113705544,436318069&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500', '微信朋友圈', 'common'),

// CustomMenu('WXShareAPPFriends', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSpvugSNLs9R7iopz_noeotAelvgzYj-74iCg&usqp=CAU', '微信好朋友', 'common'),
// CustomMenu('WXShareAPPMoments', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR7cO4KB4e5-Ugdcq4pIyWunliH7LZRZzguKQ&usqp=CAU', '微信朋友圈', 'common'),
];
return Future.value(customMenus);
}

@override
Future<void> getMobileNumber(Function(dynamic params) param0) {
Future<void> getMobileNumber(Function(dynamic params) callback) {
// TODO: implement getMobileNumber
throw UnimplementedError();
Map<String, dynamic> result = {"phone": '18607180143',"other":'abc123'};
print('getMobileNumber:' + result.toString());
callback(result);
return Future.value(null);
}

@override
Expand Down
2 changes: 1 addition & 1 deletion 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.9"
version: "2.40.11"
path:
dependency: transitive
description:
Expand Down
11 changes: 9 additions & 2 deletions ios/Classes/Api/MOPAppletDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,16 @@ - (BOOL)appletInfo:(FATAppletInfo *)appletInfo didClickMoreBtnAtPath:(NSString *
NSString *imageUrl = data[@"image"];
if ([imageUrl hasPrefix:@"http"]) {
// 需要异步加载,待优化!
model.menuIconImage = [UIImage fat_getImageWithUrl:imageUrl];
model.menuIconUrl = imageUrl;
} else {
model.menuIconImage = [UIImage imageNamed:imageUrl];
}
NSString *darkImageUrl = data[@"darkImage"];
if ([darkImageUrl hasPrefix:@"http"]) {
model.menuDarkIconUrl = darkImageUrl;
} else {
model.menuIconDarkImage = [UIImage imageNamed:darkImageUrl];
}
NSString *typeString = data[@"type"];
if (typeString) {
FATAppletMenuStyle style = [typeString isEqualToString:@"onMiniProgram"] ? FATAppletMenuStyleOnMiniProgram : FATAppletMenuStyleCommon;
Expand Down Expand Up @@ -180,8 +186,9 @@ - (void)getPhoneNumberWithAppletInfo:(FATAppletInfo *)appletInfo bindGetPhoneNum
NSDictionary *params = @{@"name":@"getPhoneNumber"};

FlutterMethodChannel *channel = [[MopPlugin instance] methodChannel];
self.bindGetPhoneNumbers = bindGetPhoneNumber;
NSLog(@"getPhoneNumberWithAppletInfo");
[channel invokeMethod:@"extensionApi:getPhoneNumber" arguments:params result:^(id _Nullable result) {
self.bindGetPhoneNumbers = bindGetPhoneNumber;
// !self.bindGetPhoneNumbers?: bindGetPhoneNumber(result);
}];

Expand Down
1 change: 1 addition & 0 deletions ios/Classes/Api/MOP_initSDK.m
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ - (void)setupApiWithSuccess:(void (^)(NSDictionary<NSString *,id> * _Nonnull))su
storeConfig.cryptType = FATApiCryptTypeMD5;
}
storeConfig.encryptServerData = [dict[@"encryptServerData"] boolValue];
storeConfig.enablePreloadFramework = [storeConfig.apiServer isEqualToString:@"https://api.finclip.com"];
[storeArrayM addObject:storeConfig];
}
config = [FATConfig configWithStoreConfigs:storeArrayM];
Expand Down
50 changes: 50 additions & 0 deletions ios/Classes/Model/MopCustomMenuModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,56 @@ NS_ASSUME_NONNULL_BEGIN

@interface MopCustomMenuModel : NSObject <FATAppletMenuProtocol>

/**
菜单id
*/
@property (nonatomic, copy) NSString *menuId;

/**
菜单的icon图标
我们固定菜单的大小:3倍图:90*90
图标中间小logo与图标宽度比是 5:8。
注意:菜单图标显示优先级:后台配置icon > APP注入icon
*/
@property (nonatomic, strong) UIImage *menuIconImage;

/**
菜单的icon图标网络链接地址
我们固定菜单的大小:3倍图:90*90
图标中间小logo与图标宽度比是 5:8,供参考
注意:菜单图标显示优先级:后台配置的icon path > App注入的icon
*/
@property (nonatomic, copy) NSString *menuIconUrl;

/**
菜单在黑暗模式下的icon图标
我们固定菜单的大小:3倍图:90*90
图标中间小logo与图标宽度比是 5:8。
注意:菜单图标显示优先级:后台配置icon > APP注入icon
*/
@property (nonatomic, strong) UIImage *menuIconDarkImage;

/**
菜单的暗黑模式icon图标网络链接地址
我们固定菜单的大小:3倍图:90*90
图标中间小logo与图标宽度比是 5:8,供参考
注意:菜单图标显示优先级:后台配置的darkIcon path > App注入的icon
*/
@property (nonatomic, copy) NSString *menuDarkIconUrl;

/**
菜单的标题
注意:菜单标题显示优先级:后台配置标题 > APP注入标题
*/
@property (nonatomic, copy) NSString *menuTitle;

/**
菜单的类型
FATAppletMenuStyleCommon:通用的按钮,不需要小程序提供额外信息就可以调用的,比如收藏;
FATAppletMenuStyleOnMiniProgram:需要小程序配合实现的按钮,也就是说需要小程序提供额外调用参数的按钮,比如分享到微信
*/
@property (nonatomic, assign) FATAppletMenuStyle menuType;

@end

NS_ASSUME_NONNULL_END
5 changes: 3 additions & 2 deletions ios/Classes/Model/MopCustomMenuModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@

@implementation MopCustomMenuModel

@synthesize menuId, menuIconImage, menuTitle, menuType;

- (id)copyWithZone:(NSZone *)zone
{
MopCustomMenuModel *model = [[MopCustomMenuModel allocWithZone:zone] init];
model.menuId = self.menuId;
model.menuIconImage = self.menuIconImage;
model.menuIconDarkImage = self.menuIconDarkImage;
model.menuTitle = self.menuTitle;
model.menuType = self.menuType;
model.menuIconUrl = self.menuIconUrl;
model.menuDarkIconUrl = self.menuDarkIconUrl;
return model;
}

Expand Down
Loading

0 comments on commit 11083a6

Please sign in to comment.