fix:ios的新增Api修改
parent
3d4e0feb19
commit
c17910963f
|
@ -1 +1 @@
|
|||
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"mop","path":"/Users/kangxuyao/StudioProjects/finclip-flutter-sdk/","dependencies":[]}],"android":[{"name":"flutter_plugin_android_lifecycle","path":"/Users/kangxuyao/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.5/","dependencies":[]},{"name":"mop","path":"/Users/kangxuyao/StudioProjects/finclip-flutter-sdk/","dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"mop","dependencies":["flutter_plugin_android_lifecycle"]}],"date_created":"2021-12-22 09:19:50.961703","version":"2.6.0-12.0.pre.553"}
|
||||
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"mop","path":"/Users/wangtao/Documents/fantai/code/finclip-flutter-sdk/","dependencies":[]}],"android":[{"name":"flutter_plugin_android_lifecycle","path":"/Users/wangtao/development/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_plugin_android_lifecycle-2.0.5/","dependencies":[]},{"name":"mop","path":"/Users/wangtao/Documents/fantai/code/finclip-flutter-sdk/","dependencies":["flutter_plugin_android_lifecycle"]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"mop","dependencies":["flutter_plugin_android_lifecycle"]}],"date_created":"2021-12-28 10:57:42.321282","version":"2.8.1"}
|
|
@ -1 +1,2 @@
|
|||
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
|
||||
#include "Generated.xcconfig"
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
|
||||
#include "Generated.xcconfig"
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
# Uncomment this line to define a global platform for your project
|
||||
platform :ios, '9.0'
|
||||
|
||||
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
|
||||
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
|
||||
|
||||
project 'Runner', {
|
||||
'Debug' => :debug,
|
||||
'Profile' => :release,
|
||||
'Release' => :release,
|
||||
}
|
||||
|
||||
def flutter_root
|
||||
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
|
||||
unless File.exist?(generated_xcode_build_settings_path)
|
||||
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
|
||||
end
|
||||
|
||||
File.foreach(generated_xcode_build_settings_path) do |line|
|
||||
matches = line.match(/FLUTTER_ROOT\=(.*)/)
|
||||
return matches[1].strip if matches
|
||||
end
|
||||
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
|
||||
end
|
||||
|
||||
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
|
||||
|
||||
flutter_ios_podfile_setup
|
||||
|
||||
target 'Runner' do
|
||||
use_frameworks!
|
||||
use_modular_headers!
|
||||
|
||||
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
|
||||
end
|
||||
|
||||
post_install do |installer|
|
||||
installer.pods_project.targets.each do |target|
|
||||
flutter_additional_ios_build_settings(target)
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
|
||||
if config.name == "Debug"
|
||||
config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'
|
||||
else
|
||||
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,34 @@
|
|||
PODS:
|
||||
- FinApplet (2.34.11)
|
||||
- FinAppletExt (2.34.11):
|
||||
- FinApplet (= 2.34.11)
|
||||
- Flutter (1.0.0)
|
||||
- mop (0.1.1):
|
||||
- FinApplet (= 2.34.11)
|
||||
- FinAppletExt (= 2.34.11)
|
||||
- Flutter
|
||||
|
||||
DEPENDENCIES:
|
||||
- Flutter (from `Flutter`)
|
||||
- mop (from `.symlinks/plugins/mop/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- FinApplet
|
||||
- FinAppletExt
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
Flutter:
|
||||
:path: Flutter
|
||||
mop:
|
||||
:path: ".symlinks/plugins/mop/ios"
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
FinApplet: 975a76c8de4c9ddf64d6b4bfcd946ad6830f54f6
|
||||
FinAppletExt: 9489276a84f908b60a75a71d09b0b4397e070bee
|
||||
Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a
|
||||
mop: 9a49a0b917e4016aa897c76656fddb69ad69b118
|
||||
|
||||
PODFILE CHECKSUM: 2317ba7584871ae8cd67fd0244fbd5e96fd06167
|
||||
|
||||
COCOAPODS: 1.11.2
|
|
@ -3,12 +3,13 @@
|
|||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objectVersion = 51;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
|
||||
6DB2EFFFC5FD4690C06ACB3A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B691CF78BE1464D3451E07AF /* Pods_Runner.framework */; };
|
||||
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
|
||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
|
@ -31,10 +32,13 @@
|
|||
/* Begin PBXFileReference section */
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
207F05A0BE4F11BA62008DCF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
|
||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||
6793BBA3F03EE46BEAD75979 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
|
||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||
865E64E9FAB2F680272FCE6F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
|
||||
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
|
||||
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -42,6 +46,7 @@
|
|||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
B691CF78BE1464D3451E07AF /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
@ -49,12 +54,31 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6DB2EFFFC5FD4690C06ACB3A /* Pods_Runner.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1B5EB5EC57E12758D2A6310E /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6793BBA3F03EE46BEAD75979 /* Pods-Runner.debug.xcconfig */,
|
||||
207F05A0BE4F11BA62008DCF /* Pods-Runner.release.xcconfig */,
|
||||
865E64E9FAB2F680272FCE6F /* Pods-Runner.profile.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8C9832689000ED580600B3AE /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
B691CF78BE1464D3451E07AF /* Pods_Runner.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9740EEB11CF90186004384FC /* Flutter */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -72,6 +96,8 @@
|
|||
9740EEB11CF90186004384FC /* Flutter */,
|
||||
97C146F01CF9000F007C117D /* Runner */,
|
||||
97C146EF1CF9000F007C117D /* Products */,
|
||||
1B5EB5EC57E12758D2A6310E /* Pods */,
|
||||
8C9832689000ED580600B3AE /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
|
@ -105,12 +131,14 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
|
||||
buildPhases = (
|
||||
2DEACE28B1DB5888C31A623A /* [CP] Check Pods Manifest.lock */,
|
||||
9740EEB61CF901F6004384FC /* Run Script */,
|
||||
97C146EA1CF9000F007C117D /* Sources */,
|
||||
97C146EB1CF9000F007C117D /* Frameworks */,
|
||||
97C146EC1CF9000F007C117D /* Resources */,
|
||||
9705A1C41CF9048500538489 /* Embed Frameworks */,
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
|
||||
46BA5F59FC1A40CE8339661F /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -127,7 +155,7 @@
|
|||
97C146E61CF9000F007C117D /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1020;
|
||||
LastUpgradeCheck = 1300;
|
||||
ORGANIZATIONNAME = "";
|
||||
TargetAttributes = {
|
||||
97C146ED1CF9000F007C117D = {
|
||||
|
@ -169,6 +197,28 @@
|
|||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
2DEACE28B1DB5888C31A623A /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -183,6 +233,23 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
||||
};
|
||||
46BA5F59FC1A40CE8339661F /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputFileListPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -290,8 +357,11 @@
|
|||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.finogeeks.mopExample;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.finogeeks.finclip.demo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
|
@ -414,8 +484,11 @@
|
|||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.finogeeks.mopExample;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.finogeeks.finclip.demo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
|
@ -433,8 +506,11 @@
|
|||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||
ENABLE_BITCODE = NO;
|
||||
INFOPLIST_FILE = Runner/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.finogeeks.mopExample;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.finogeeks.finclip.demo;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1020"
|
||||
LastUpgradeVersion = "1300"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
@ -4,4 +4,7 @@
|
|||
<FileRef
|
||||
location = "group:Runner.xcodeproj">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Pods/Pods.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
// ignore_for_file: prefer_const_constructors
|
||||
|
||||
import 'dart:ffi';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
@ -21,18 +23,120 @@ class _MyAppState extends State<MyApp> {
|
|||
|
||||
// Platform messages are asynchronous, so we initialize in an async method.
|
||||
Future<void> init() async {
|
||||
UIConfig uiconfig = UIConfig();
|
||||
//多服务器配置
|
||||
|
||||
FinStoreConfig storeConfigA = FinStoreConfig(
|
||||
"2LyZEib0gLTQdU3MUauATBwgfnTCJjdr7FCnywmAEM=",
|
||||
"bdfd76cae24d4313",
|
||||
"https://api.finclip.com",
|
||||
"https://api.finclip.com",
|
||||
);
|
||||
|
||||
FinStoreConfig storeConfigB = FinStoreConfig(
|
||||
"2LyZEib0gLTQdU3MUauATBwgfnTCJjdr7FCnywmAEM=",
|
||||
"bdfd76cae24d4313",
|
||||
"https://finchat-mop-b.finogeeks.club",
|
||||
"https://finchat-mop-b.finogeeks.club",
|
||||
);
|
||||
List<FinStoreConfig> storeConfigs = [storeConfigA];
|
||||
uiconfig.isAlwaysShowBackInDefaultNavigationBar = false;
|
||||
uiconfig.isClearNavigationBarNavButtonBackground = false;
|
||||
uiconfig.isHideFeedbackAndComplaints = true;
|
||||
uiconfig.isHideBackHome = true;
|
||||
uiconfig.isHideForwardMenu = true;
|
||||
uiconfig.hideTransitionCloseButton = true;
|
||||
uiconfig.disableSlideCloseAppletGesture = true;
|
||||
CapsuleConfig capsuleConfig = CapsuleConfig();
|
||||
capsuleConfig.capsuleBgLightColor = 0x33ff00ee;
|
||||
capsuleConfig.capsuleRightMargin = 25;
|
||||
uiconfig.capsuleConfig = capsuleConfig;
|
||||
uiconfig.appletText = "applet";
|
||||
|
||||
if (Platform.isIOS) {
|
||||
final res = await Mop.instance.initialize('22LyZEib0gLTQdU3MUauAZ0pZVbKTWGmNN6Lx8hXhIkA', '74bde5fad53a817c',
|
||||
apiServer: 'https://api.finclip.com', apiPrefix: '/api/v1/mop');
|
||||
final res = await Mop.instance.initialize(
|
||||
'22LyZEib0gLTQdU3MUauATBwgfnTCJjdr7FCnywmAEM=', 'bdfd76cae24d4313',
|
||||
apiServer: 'https://api.finclip.com',
|
||||
apiPrefix: '/api/v1/mop',
|
||||
uiConfig: uiconfig,
|
||||
finStoreConfigs: storeConfigs);
|
||||
print(res);
|
||||
} else if (Platform.isAndroid) {
|
||||
final res = await Mop.instance.initialize('22LyZEib0gLTQdU3MUauAZ0pZVbKTWGmNN6Lx8hXhIkA', '74bde5fad53a817c',
|
||||
final res = await Mop.instance.initialize(
|
||||
'22LyZEib0gLTQdU3MUauATBwgfnTCJjdr7FCnywmAEM=', 'bdfd76cae24d4313',
|
||||
apiServer: 'https://api.finclip.com', apiPrefix: '/api/v1/mop');
|
||||
print(res);
|
||||
}
|
||||
if (!mounted) return;
|
||||
}
|
||||
|
||||
Widget _buildAppletItem(
|
||||
String appletId, String itemName, VoidCallback tapAction) {
|
||||
return GestureDetector(
|
||||
onTap: tapAction,
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(left: 7, right: 7),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
gradient: LinearGradient(
|
||||
colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],
|
||||
stops: const [0.0, 1.0],
|
||||
begin: Alignment.topCenter,
|
||||
end: Alignment.bottomCenter,
|
||||
),
|
||||
),
|
||||
child: Center(
|
||||
child: Text(
|
||||
itemName,
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildAppletWidget(String appletId, String appletName) {
|
||||
return Container(
|
||||
margin: EdgeInsets.only(left: 20, top: 30, right: 20),
|
||||
child: Column(
|
||||
children: [
|
||||
Text(
|
||||
appletName,
|
||||
style: TextStyle(
|
||||
fontSize: 18, fontWeight: FontWeight.w500, color: Colors.red),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
Container(
|
||||
height: 100,
|
||||
child: GridView.count(
|
||||
crossAxisCount: 3,
|
||||
childAspectRatio: 2,
|
||||
crossAxisSpacing: 30,
|
||||
// physics: NeverScrollableScrollPhysics(),
|
||||
children: [
|
||||
_buildAppletItem(appletId, "打开小程序", () {
|
||||
Mop.instance.openApplet(appletId,
|
||||
path: 'pages/index/index', query: '');
|
||||
}),
|
||||
_buildAppletItem(appletId, "finishRunningApplet", () {
|
||||
Mop.instance.finishRunningApplet(appletId, true);
|
||||
}),
|
||||
_buildAppletItem(appletId, "removeUsedApplet", () {
|
||||
Mop.instance.removeUsedApplet(appletId);
|
||||
}),
|
||||
// _buildAppletItem(appletId, "removeUsedApplet", () {
|
||||
// Mop.instance.removeUsedApplet(appletId);
|
||||
// }),
|
||||
],
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
// 5e637a18cbfae4000170fa7a
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
|
@ -41,83 +145,14 @@ class _MyAppState extends State<MyApp> {
|
|||
appBar: AppBar(
|
||||
title: const Text('凡泰极客小程序 Flutter 插件'),
|
||||
),
|
||||
body: Center(
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(
|
||||
top: 20,
|
||||
),
|
||||
child: Column(
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
width: 140,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
gradient: LinearGradient(
|
||||
colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],
|
||||
stops: const [0.0, 1.0],
|
||||
begin: Alignment.topCenter,
|
||||
end: Alignment.bottomCenter,
|
||||
),
|
||||
),
|
||||
child: TextButton(
|
||||
onPressed: () {
|
||||
Mop.instance.openApplet('5ea03fa563cb900001d73863', path: 'pages/index/index', query: '');
|
||||
},
|
||||
child: Text(
|
||||
'打开画图小程序',
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 30),
|
||||
Container(
|
||||
width: 140,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
gradient: LinearGradient(
|
||||
colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],
|
||||
stops: const [0.0, 1.0],
|
||||
begin: Alignment.topCenter,
|
||||
end: Alignment.bottomCenter,
|
||||
),
|
||||
),
|
||||
child: TextButton(
|
||||
onPressed: () {
|
||||
Mop.instance.openApplet('5ea0401463cb900001d73865');
|
||||
},
|
||||
child: Text(
|
||||
'打开官方小程序',
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 30),
|
||||
Container(
|
||||
width: 140,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
gradient: LinearGradient(
|
||||
colors: const [Color(0xFF12767e), Color(0xFF0dabb8)],
|
||||
stops: const [0.0, 1.0],
|
||||
begin: Alignment.topCenter,
|
||||
end: Alignment.bottomCenter,
|
||||
),
|
||||
),
|
||||
child: TextButton(
|
||||
onPressed: () {
|
||||
Mop.instance.openApplet('5ea0412663cb900001d73867');
|
||||
},
|
||||
child: Text(
|
||||
'我的对账单',
|
||||
style: TextStyle(color: Colors.white),
|
||||
),
|
||||
),
|
||||
),
|
||||
_buildAppletWidget("5facb3a52dcbff00017469bd", "画图小程序"),
|
||||
_buildAppletWidget("5fa214a29a6a7900019b5cc1", "官方小程序"),
|
||||
_buildAppletWidget("5fa215459a6a7900019b5cc3", "我的对账单"),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
@interface MOP_initialize : MOPBaseApi
|
||||
|
||||
@property (nonatomic, copy) NSString *sdkkey;
|
||||
@property (nonatomic, copy) NSString *appkey;
|
||||
@property (nonatomic, copy) NSString *secret;
|
||||
@property (nonatomic, copy) NSString *apiServer;
|
||||
@property (nonatomic, copy) NSString *apiPrefix;
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
- (void)setupApiWithSuccess:(void (^)(NSDictionary<NSString *,id> * _Nonnull))success failure:(void (^)(id _Nullable))failure cancel:(void (^)(void))cancel
|
||||
{
|
||||
if (!self.sdkkey || !self.secret) {
|
||||
if (!self.appkey || !self.secret) {
|
||||
failure(@"sdkkey 或 secret不能为空");
|
||||
return;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
|||
FATStoreConfig *storeConfig = [[FATStoreConfig alloc] init];
|
||||
storeConfig.sdkKey = dict[@"sdkKey"];
|
||||
// storeConfig.sdkKey = @"22LyZEib0gLTQdU3MUauAb4V4W8Uxd/gMgmH8Hg1bGQ=";
|
||||
storeConfig.sdkSecret = @"703b9026be3d6bc5";
|
||||
storeConfig.sdkSecret = dict[@"sdkSecret"];
|
||||
storeConfig.apiServer = dict[@"apiServer"];
|
||||
storeConfig.apmServer = dict[@"apmServer"];
|
||||
storeConfig.fingerprint = dict[@"fingerprint"];
|
||||
|
@ -46,7 +46,7 @@
|
|||
}
|
||||
config = [FATConfig configWithStoreConfigs:storeArrayM];
|
||||
} else {
|
||||
config = [FATConfig configWithAppSecret:self.secret appKey:self.sdkkey];
|
||||
config = [FATConfig configWithAppSecret:self.secret appKey:self.appkey];
|
||||
config.apiServer = [self.apiServer copy];
|
||||
config.apiPrefix = [self.apiPrefix copy];
|
||||
if([self.cryptType isEqualToString: @"SM"])
|
||||
|
|
|
@ -88,9 +88,10 @@
|
|||
id value = container[key];
|
||||
|
||||
id safetyValue = [self parseFromKeyValue:value];
|
||||
if (!safetyValue)
|
||||
if (!safetyValue) //如果safetyValue是字典或者数组类型,为nil值时设置成空字符串会产生崩溃
|
||||
{
|
||||
safetyValue = @"";
|
||||
// safetyValue = @"";
|
||||
continue;
|
||||
}
|
||||
[result setObject:safetyValue forKey:key];
|
||||
}
|
||||
|
|
11
lib/mop.dart
11
lib/mop.dart
|
@ -39,7 +39,7 @@ class FinStoreConfig {
|
|||
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
"sdkkey": sdkKey,
|
||||
"sdkKey": sdkKey,
|
||||
"sdkSecret": sdkSecret,
|
||||
"apiServer": apiServer,
|
||||
"apmServer": apmServer,
|
||||
|
@ -318,6 +318,9 @@ class Mop {
|
|||
int appletIntervalUpdateLimit = 0,
|
||||
int maxRunningApplet = 5,
|
||||
}) async {
|
||||
List<Map<String, dynamic>>? storeConfigs =
|
||||
finStoreConfigs?.map((e) => e.toMap()).toList();
|
||||
|
||||
final Map ret = await _channel.invokeMethod('initialize', {
|
||||
'appkey': sdkkey,
|
||||
'secret': secret,
|
||||
|
@ -329,7 +332,7 @@ class Mop {
|
|||
'userId': userId,
|
||||
"debug": debug,
|
||||
"bindAppletWithMainProcess": bindAppletWithMainProcess,
|
||||
"finStoreConfigs": finStoreConfigs?.map((e) => e.toMap()),
|
||||
"finStoreConfigs": storeConfigs,
|
||||
"uiConfig": uiConfig?.toMap(),
|
||||
"customWebViewUserAgent": customWebViewUserAgent,
|
||||
"appletIntervalUpdateLimit": appletIntervalUpdateLimit,
|
||||
|
@ -487,14 +490,14 @@ class Mop {
|
|||
return;
|
||||
}
|
||||
|
||||
//关闭小程序
|
||||
//关闭小程序 小程序会在内存中存在
|
||||
Future<void> closeApplet(String appletId, bool animated) async {
|
||||
await _channel.invokeMethod(
|
||||
"closeApplet", {"appletId": appletId, "animated": animated});
|
||||
return;
|
||||
}
|
||||
|
||||
//结束小程序 关闭小程序
|
||||
//结束小程序 小程序会从内存中清除
|
||||
Future<void> finishRunningApplet(String appletId, bool animated) async {
|
||||
await _channel.invokeMethod(
|
||||
"finishRunningApplet", {"appletId": appletId, "animated": animated});
|
||||
|
|
Loading…
Reference in New Issue