diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..874fcad7fc3cb92af60d9c74237d3dbcb55731e0 Binary files /dev/null and b/.DS_Store differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/.DS_Store b/finclip-uniapp-test/nativeplugins/MopSdk/ios/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..feb8a7b06a21952a16c065574143b9b3a551b23c Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/.DS_Store differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/.DS_Store b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c50fe296e6edac4865c8ed98ca67ed737ae2bf80 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/.DS_Store differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet index 8adbd9b9f83e5dea7dd52bbd2b5958b850dd79a7..29d7bc1d1017152a14be29a82cc049a2fbee558d 100755 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_cheak@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_cheak@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..34fbc752d2ca4a94b28050035ebd9d055441b468 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_cheak@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_cheak@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_cheak@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..531eadf19949bd016664cd177c7535a7a1040549 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_cheak@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_dark@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2a2b830f0a1d045e9ba6a6a594d800eac9dfcd32 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_dark@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_dark@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_dark@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..7da10780b701f5405ab3c25834a43a4b2e16a396 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_dark@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_light@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_light@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..311c186410f026bcb9a615c8e8dacfc162ae6e1e Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_light@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_light@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_light@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e725f5c42ce43bd494aeda7639b51c35ed8f0fde Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/cheakbox_default_light@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/en.lproj/Localizable.strings b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/en.lproj/Localizable.strings index d0b82ed5cbfabdec6a8c47a65e206fd4984a332c..0d66e9768cce79d626cff733f36db2fe2c6ba4a7 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/en.lproj/Localizable.strings +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/en.lproj/Localizable.strings @@ -1,4 +1,5 @@ "fat_about" = "About"; +"fat_about_privacy_default_tips" = "Developers who collect, store, process or use user privacy and data shall abide by the relevant provisions on personal information protection in the Terms of Service and comply with relevant laws and regulations on personal information protection. If you believe that the developer has not complied with the above provisions or that there are other violations of user privacy or data, you can report a complaint."; "fat_access_and_save_pictures_or_videos_on_device" = "Access and save pictures or videos on device"; "fat_account_owner" = "Account Owner"; "fat_add_favorite" = "Add Favorite"; @@ -172,6 +173,18 @@ "fat_location_info" = "Location info"; "fat_location_usage_description" = "The effect display of the location interface requires you to authorize the location permission"; "fat_luminance" = "Luminance"; +"fat_message_allow_x_to_send_notifications" = "Allow \"%@\" to Send Notifications"; +"fat_message_always_keep" = "Always keep the above selections"; +"fat_message_cannot_be_granted_if_all_off" = "Authorization cannot be granted if all switches are off"; +"fat_message_msg_center" = "Message Center"; +"fat_message_not_receive" = "not receive"; +"fat_message_notification_bar" = "Notification Bar"; +"fat_message_notification_bar_information" = "Notification bar information"; +"fat_message_notification_manager" = "Notifications"; +"fat_message_send_methods" = "Send messages to you via the following methods"; +"fat_message_sms" = "SMS"; +"fat_message_sms_notification" = "SMS Notification"; +"fat_message_x_authorization" = "%@ authorization"; "fat_microphone" = "Microphone"; "fat_microphone_usage_description" = "Recording audio related interfaces requires you to authorize microphone permissions"; "fat_mini_app_file_md5_verification_failed" = "%@ file MD5 verification failed"; @@ -198,12 +211,14 @@ "fat_no_trial_access_please_contact_the_administrator" = "No trial access. Please contact the administrator."; "fat_no_x" = "No %@"; "fat_none" = "none"; +"fat_not_access_open_review_version_applet" = "Sorry,your app does not have review permissions"; +"fat_not_access_rights" = "No access rights"; "fat_not_allow" = "Not allow"; "fat_not_showing_location" = "Not showing location"; "fat_notes" = "Notes"; "fat_obtain_your_location_info" = "Obtain your location info"; -"fat_obtain_your_phonenumber" = "Obtain your phoneNumber"; -"fat_obtain_your_userprofile" = "Obtain your userProfile"; +"fat_obtain_your_phonenumber" = "Obtain your phone number"; +"fat_obtain_your_userprofile" = "Obtain your user profile"; "fat_office_building" = "Office Building"; "fat_offline_x_zip_file_is_not_exist" = "Offline %@ zip file is not exist"; "fat_offlineframeworkzippath_is_empty" = "offlineFrameworkZipPath is empty"; @@ -354,7 +369,7 @@ "fat_upload_time" = "upload time"; "fat_uploading_image" = "Uploading Image..."; "fat_usable_device_number_limit" = "Usable device number limit"; -"fat_use_your_addressbook" = "Use your addressBook"; +"fat_use_your_addressbook" = "Use your address book"; "fat_use_your_bluetooth" = "Use your bluetooth"; "fat_use_your_calendar" = "Use your calendar"; "fat_use_your_camera" = "Use your camera"; diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_dark@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..aba90324b4a6a16b8f23fbd5711427edce7b105c Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_dark@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_dark@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_dark@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e554f2286c5cc2e8f1feadf8ea8f2b5ef4848f79 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_dark@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_light@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_light@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0704db8768e96b14d14e275500820f411a3ced Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_light@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_light@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_light@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e3669314b709fc7840dfc6a0d503592eb01db1d1 Binary files /dev/null and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/ico_back_light@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/info.json b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/info.json index 3ff74ebda6f3093a2dfead0b1a0f74c1e4f59abb..6feb525ff85b91c99dc1b9cafba5e45c0f6bebd8 100755 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/info.json +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/info.json @@ -1,3 +1,3 @@ { - "version":"2.45.5" + "version":"2.49.5" } diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_dark@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_dark@3x.png index 9dcf6289597bac1ad068e4c7efb3ffcaef1b281f..65d6839c1aab8e131b6828ee0e89f149fa06e5ea 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_dark@3x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_dark@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_light@3x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_light@3x.png index 934690b0b8a0203fe89fe34503eb15e01f766024..7ae48ed0c9279d352efc3102a8631e5e86f7ca3f 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_light@3x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/miniapps_close_light@3x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_number_icon@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_number_icon@2x.png index 789335b4f32e24f4e883eb8ad782e5294375d359..f30b35761b0293df895a2907eb89def8e16abccf 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_number_icon@2x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_number_icon@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_original_sel@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_original_sel@2x.png index 8889b1311fc3a260f566af262376f9cfd7ebab75..630a5fffb1b110cff33b25aafe38b0e129297923 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_original_sel@2x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_original_sel@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_photoPickerVc@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_photoPickerVc@2x.png index 57012cb9c644de61ab8f659990120c48bbe12518..1a3da0258322e566ff6615bfcaf3a1bd2a1eb586 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_photoPickerVc@2x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_photoPickerVc@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_previewVc@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_previewVc@2x.png index 827c79427f9e19da022051b70678af9ea8bd30d7..2039fb721202464487f814837ab76a58869238e0 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_previewVc@2x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/photo_sel_previewVc@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/preview_number_icon@2x.png b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/preview_number_icon@2x.png index 789335b4f32e24f4e883eb8ad782e5294375d359..6262317842d9f70c4d493897e5b8732c52174dc8 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/preview_number_icon@2x.png and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/preview_number_icon@2x.png differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/zh-Hans.lproj/Localizable.strings b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/zh-Hans.lproj/Localizable.strings index e9436eaa95fc34cb71f695be5d37d25a79271c4c..d91ff9a6923fbc6596b948e6d5b14adb29c58905 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/zh-Hans.lproj/Localizable.strings +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/FinApplet.bundle/zh-Hans.lproj/Localizable.strings @@ -1,4 +1,5 @@ "fat_about" = "关于"; +"fat_about_privacy_default_tips" = "开发者收集、存储、处理或使用用户隐私及数据,应当遵守服务条款中对个人信息保护相关约定,同时遵守个人信息保护相关法律法规。若你认为开发者未遵守上述规定或存在其他侵害用户隐私或数据的情况,可进行投诉。"; "fat_access_and_save_pictures_or_videos_on_device" = "保存图片或视频到您的相册"; "fat_account_owner" = "账号主体"; "fat_add_favorite" = "添加收藏"; @@ -172,6 +173,18 @@ "fat_location_info" = "位置信息"; "fat_location_usage_description" = "位置接口的效果展示需要您授权定位权限"; "fat_luminance" = "亮度"; +"fat_message_allow_x_to_send_notifications" = "允许\"%@\"发送以下通知"; +"fat_message_always_keep" = "总是保持以上选择"; +"fat_message_cannot_be_granted_if_all_off" = "如三个开关都关闭,则无法完成授权"; +"fat_message_msg_center" = "消息中心"; +"fat_message_not_receive" = "不接收"; +"fat_message_notification_bar" = "通知栏"; +"fat_message_notification_bar_information" = "通知栏信息"; +"fat_message_notification_manager" = "通知管理"; +"fat_message_send_methods" = "通过以下方式向您发送消息"; +"fat_message_sms" = "短信"; +"fat_message_sms_notification" = "短信通知"; +"fat_message_x_authorization" = "%@授权"; "fat_microphone" = "麦克风"; "fat_microphone_usage_description" = "录制音频相关接口需要您授权麦克风权限"; "fat_mini_app_file_md5_verification_failed" = "%@整包文件MD5校验失败"; @@ -198,6 +211,8 @@ "fat_no_trial_access_please_contact_the_administrator" = "抱歉,您没有体验权限,请联系管理员"; "fat_no_x" = "暂无%@"; "fat_none" = "无"; +"fat_not_access_open_review_version_applet" = "抱歉,您的应用没有审核权限"; +"fat_not_access_rights" = "没有访问权限"; "fat_not_allow" = "不允许"; "fat_not_showing_location" = "不显示位置"; "fat_notes" = "版本说明"; diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAppJsonDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAppJsonDelegate.h index 49d4a1137c47d9f8e903a374aab6fac4f7f21a90..86c50d40907078661913978e4b11fe0c0f891165 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAppJsonDelegate.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAppJsonDelegate.h @@ -11,6 +11,8 @@ @protocol FATAppletAppJsonDelegate +@optional + /// 收到小程序appJson的代理事件 /// - Parameters: /// - appletInfo: 小程序对象 diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAuthDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAuthDelegate.h index c0e4f63a354677b88da5d4e20a7517d07be50748..678e861672074f130b67a3f4920bfe8711e386c9 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAuthDelegate.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletAuthDelegate.h @@ -10,12 +10,15 @@ #import "FATAppletInfo.h" #import "FATAuthModel.h" #import "FATAuthAlertContentViewDelegate.h" +#import "FATCustomAuthViewInfoModel.h" NS_ASSUME_NONNULL_BEGIN @protocol FATAppletAuthDelegate +@optional + /// 小程序申请权限 /// - Parameters: @@ -82,6 +85,20 @@ applyCompletion:(void(^)(BOOL allowApply))grantCompletion; /// - authType: 权限类型 - (UIView *)applet:(FATAppletInfo *)appletInfo getCustomizeAuthContentView:(FATAuthorizationType)authType; + + +/// 显示自定义授权弹窗。如果不需要SDK内置的授权弹窗,请实现这个方法即可, 自行将授权弹窗显示在infoModel.currentController中。 +/// - Parameters: +/// - appletInfo: 小程序信息模型 +/// - scopeInfo: 权限信息模型 +/// - complete: 完成的回调,在自定义弹窗消失后执行此回调 +/// allowStatus: 授权结果。1代表允许,2代表拒绝。如果是后台定位权限:FATAuthorizationTypeLocationBackground,1: 代表前台定位 2:拒绝 3:代表后台定位 +/// autoWriteScope: 是否让SDK内部自动存储授权结果。如果需要完全自己管理授权权限,则传NO,这样每次涉及到权限的时候都会来到此函数。 +/// alertView: 自定义授权弹窗对象 +/// return: 自定义弹窗视图,如果实现了自定义弹窗,一定要返回这个视图,否则会触发SDK内部的授权弹窗 +/// +- (nullable UIView *)applet:(FATAppletInfo *)appletInfo showCustomizeAuthorizeAlertView:(FATCustomAuthViewInfoModel *)scopeInfo complete:(void (^)(NSInteger allowStatus, BOOL autoWriteScope, UIView *alertView))complete; + /// 小程序权限变更的代理方法 /// - Parameters: /// - appletInfo: 小程序信息 diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfig.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfig.h index 6215ca7c92776d847e3bf6381b98234eef7417b2..0994babef0e42a60aae764b48648953ec9a601e8 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfig.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfig.h @@ -20,6 +20,9 @@ typedef NS_ENUM(NSInteger, FATAppletConfigStatus) { /// 隐藏导航栏的返回首页按钮配置 @property (nonatomic, assign) FATAppletConfigStatus hideBackToHomeStatus; +//是否禁止截屏 +@property (nonatomic, assign) FATAppletConfigStatus screenShotStatus NS_AVAILABLE_IOS(13_0); + /// 网络请求的header @property (nonatomic, strong) NSDictionary *header; diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfigurationDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfigurationDelegate.h index b055b7c105f53725bce07a772c1f2788e2d4fb18..a55e23b93767937cfb74d3f7d99d4a935f1d9308 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfigurationDelegate.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletConfigurationDelegate.h @@ -76,6 +76,26 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)applet:(FATAppletInfo *)appletInfo hookRequestInfo:(NSDictionary *)requestInfo; + + +/// web-view组件加载第一个网页的时候会触发这个函数,开发者可以回调 decisionHandler 来决定是否进行正常加载 +/// - Parameters: +/// - appletInfo: 小程序信息 +/// - urlString: 要加载的网页链接 +/// - decisionHandler: 是否允许加载的回调 +/// +- (void)applet:(FATAppletInfo *)appletInfo decidePolicyForFirstURL:(NSString *)urlString decisionHandler:(void (^)(BOOL))decisionHandler; + + + +/// 小程序webview组件即将加载url,可以在这里通过userContentController注入js代码 +/// - Parameters: +/// - appletInfo: 小程序信息 +/// - urlString: 即将加载的url +/// - userContentController: WKUserContentController,可以注入js +- (void)applet:(FATAppletInfo *)appletInfo webviewWillLoadURL:(NSString *)urlString withUserContentController:(WKUserContentController *)userContentController; + + @end NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletCustomJSInjectionDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletCustomJSInjectionDelegate.h new file mode 100644 index 0000000000000000000000000000000000000000..444ee812bc18d8d566004ae55e6ac346a3ae83e7 --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletCustomJSInjectionDelegate.h @@ -0,0 +1,26 @@ +// +// FATCustomJSInjectionDelegate.h +// FinApplet +// +// Created by chenfanfang on 2025/8/6. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "FATAppletInfo.h" + +NS_ASSUME_NONNULL_BEGIN + +@protocol FATAppletCustomJSInjectionDelegate + +@optional + +/// 获取需要注入的js内容的字符串列表 +/// - Parameter appInfo: 小程序信息 +/// +- (NSArray *)getJSContentList:(FATAppletInfo *)appInfo; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletH5WebviewDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletH5WebviewDelegate.h new file mode 100644 index 0000000000000000000000000000000000000000..3bf7ed033dcdad773a11e032e7b17119e6fb2551 --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletH5WebviewDelegate.h @@ -0,0 +1,122 @@ +/** + * FATAppletH5WebviewDelegate + * 用于宿主APP处理WebView相关的导航、加载和策略决策的代理协议 + * + * 所有代理方法的返回值说明: + * 返回值 BOOL - 返回YES表示宿主APP已处理该事件,SDK不会执行内部处理逻辑; + * 返回NO表示宿主APP未处理该事件,SDK会执行默认的内部处理逻辑 + */ +@protocol FATAppletH5WebviewDelegate + +@optional + +/// 小程序webview组件即将加载url,可以在这里通过userContentController注入js代码 +/// - Parameters: +/// - appletInfo: 小程序信息 +/// - webview: webview对象 +/// - urlString: 即将加载的url +/// - userContentController: WKUserContentController,可以注入js +- (void)applet:(FATAppletInfo *)appletInfo webview:(WKWebView *)webview WillLoadURL:(NSString *)urlString withUserContentController:(WKUserContentController *)userContentController; + + +/** + * WebView导航失败时调用 + * @param webView 当前的WebView实例 + * @param navigation 失败的导航对象 + * @param error 导航失败的错误信息 + */ +- (BOOL)fat_webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error; + +/** + * WebView导航完成时调用 + * @param webView 当前的WebView实例 + * @param navigation 完成的导航对象 + */ +- (BOOL)fat_webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation; + +/** + * WebView预加载导航失败时调用 + * @param webView 当前的WebView实例 + * @param navigation 失败的预加载导航对象 + * @param error 导航失败的错误信息 + */ +- (BOOL)fat_webView:(WKWebView *)webView didFailProvisionalNavigation:(WKNavigation *)navigation withError:(NSError *)error; + +/** + * WebView收到服务器重定向时调用 + * @param webView 当前的WebView实例 + * @param navigation 被重定向的导航对象 + */ +- (BOOL)fat_webView:(WKWebView *)webView didReceiveServerRedirectForProvisionalNavigation:(null_unspecified WKNavigation *)navigation; + +/** + * WebView开始预加载导航时调用 + * @param webView 当前的WebView实例 + * @param navigation 开始的预加载导航对象 + */ +- (BOOL)fat_webView:(WKWebView *)webView didStartProvisionalNavigation:(null_unspecified WKNavigation *)navigation; + +/** + * 决定WebView是否接受导航响应 + * @param webView 当前的WebView实例 + * @param navigationResponse 导航响应对象 + * @param decisionHandler 决策处理回调,传入WKNavigationResponsePolicy值 + */ +- (BOOL)fat_webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler; + +/** + * 决定WebView是否允许导航操作 + * @param webView 当前的WebView实例 + * @param navigationAction 导航操作对象 + * @param decisionHandler 决策处理回调,传入WKNavigationActionPolicy值 + */ +- (BOOL)fat_webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler; + +/** + * 决定WebView是否允许导航操作并可配置页面首选项 + * @param webView 当前的WebView实例 + * @param navigationAction 导航操作对象 + * @param preferences 网页首选项配置 + * @param decisionHandler 决策处理回调,传入WKNavigationActionPolicy值和更新后的WKWebpagePreferences + */ +- (BOOL)fat_webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction preferences:(WKWebpagePreferences *)preferences decisionHandler:(void (^)(WKNavigationActionPolicy, WKWebpagePreferences *))decisionHandler; + +/** + * 为打开新窗口的请求创建新的WebView + * @param webView 当前的WebView实例 + * @param configuration 新WebView的配置 + * @param navigationAction 触发创建新窗口的导航操作 + * @param windowFeatures 新窗口的特性 + * @return 返回新创建的WebView或nil(如不支持新窗口) + */ +- (nullable WKWebView *)fat_webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures; + +/** + * 显示JavaScript文本输入面板(prompt) + * @param webView 当前的WebView实例 + * @param prompt 提示信息 + * @param defaultText 默认文本 + * @param frame 发起请求的框架信息 + * @param completionHandler 完成回调,传入用户输入的文本或nil + */ +- (BOOL)fat_webView:(WKWebView *)webView runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(nullable NSString *)defaultText initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSString *_Nullable result))completionHandler; + +/** + * 显示JavaScript警告面板(alert) + * @param webView 当前的WebView实例 + * @param message 警告信息 + * @param frame 发起请求的框架信息 + * @param completionHandler 完成回调 + */ +- (BOOL)fat_webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler; + +/** + * 显示JavaScript确认面板(confirm) + * @param webView 当前的WebView实例 + * @param message 确认信息 + * @param frame 发起请求的框架信息 + * @param completionHandler 完成回调,传入用户选择(确认为YES,取消为NO) + */ +- (BOOL)fat_webView:(WKWebView *)webView runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(BOOL))completionHandler; + +@end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInfo.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInfo.h index 1d9e22abc06e90ae74836a5500663f164a9d8079..e82dfbd5f01a69af0e81edf3e447288847f31064 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInfo.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInfo.h @@ -10,18 +10,14 @@ #import "FATConstant.h" #import "FATLibraryModel.h" -NS_ASSUME_NONNULL_BEGIN - @interface FATAppletSimpleInfo : NSObject /// 小程序id @property (nonatomic, copy) NSString *appId; @end -NS_ASSUME_NONNULL_END //============================================================================================================ -NS_ASSUME_NONNULL_BEGIN @interface FATAppletInfo : NSObject @@ -116,6 +112,14 @@ NS_ASSUME_NONNULL_BEGIN /// 分包信息数组 @property (nonatomic, copy) NSArray *packages; +/** + 小程序信息对应的字典信息,可能为nil + 值只会在以下场景进行存储 + - (instancetype)initWithAppletDict:(NSDictionary *)appletDict + - (void)updateWithAppletDict:(NSDictionary *)appletDict appletVersionType:(FATAppletVersionType)appletVersionType + */ +@property (nonatomic, strong, readonly) NSDictionary * _Nullable appletInfoDict; + #pragma mark - helper properties /// 离线小程序(本地小程序)设置的图标 @@ -174,13 +178,8 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, assign) FATInterfaceOrientation appletPageOrientation; -/** - 小程序信息对应的字典信息,可能为nil - 值只会在以下场景进行存储 - - (instancetype)initWithAppletDict:(NSDictionary *)appletDict - - (void)updateWithAppletDict:(NSDictionary *)appletDict appletVersionType:(FATAppletVersionType)appletVersionType - */ -@property (nonatomic, strong, readonly) NSDictionary * _Nullable appletInfoDict; +/// 小程序的主题模式,默认为不设置 +@property (nonatomic, assign) FATAppletThemeStyle appletThemeStyle; /** 是否有指定基础库信息 @@ -189,6 +188,9 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, assign) BOOL appointLibraryVersion; +/// 转成字典(私有的和helper properties不会被包含进来) +- (NSDictionary *)convertToDictionary; + @end @@ -316,5 +318,3 @@ NS_ASSUME_NONNULL_BEGIN //@property (nonatomic, copy) NSDictionary *originData; @end - -NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInteractionDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInteractionDelegate.h new file mode 100644 index 0000000000000000000000000000000000000000..3dfa74fe232931f527ed5f7b3962f28e811a6e5b --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInteractionDelegate.h @@ -0,0 +1,28 @@ +// +// FATAppletInteractionDelegate.h +// FinApplet +// 小程序中用户交互的代理方法 +// Created by 滔 on 2025/2/26. +// Copyright © 2025 finogeeks. All rights reserved. +// +#import +#import "FATAppletInfo.h" +#import "FATMediaInfo.h" + +@protocol FATAppletInteractionDelegate + +@optional + +/// 小程序中图片组件、previweImage、preivewMedia中多媒体长按事件,可根据多媒体信息选择性处理该事件,如果不处理该事件,返回NO,处理的话返回YES +/// - Parameters: +/// - appletInfo: 小程序信息 +/// - meidaInfo: 多媒体信息,可能是网络图片/视频、沙盒路径图片/视频 +- (BOOL)applet:(FATAppletInfo *)appletInfo handleImageLongPressed:(FATMediaInfo *)mediaInfo; + +/// 小程序中文字长按事件,如果不处理该事件,返回NO,处理的话返回YES +/// - Parameters: +/// - appletInfo: 小程序信息 +/// - text: 长按选中的文字 +- (BOOL)applet:(FATAppletInfo *)appletInfo handleTextLongPressed:(NSString *)text; + +@end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInteractionManager.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInteractionManager.h new file mode 100644 index 0000000000000000000000000000000000000000..83d025f6ae822486019db751b7187304aab049aa --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletInteractionManager.h @@ -0,0 +1,26 @@ +// +// FATAppletInteractionManager.h +// FinApplet +// +// Created by 滔 on 2025/7/7. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface FATAppletInteractionManager : NSObject + + +/** + * 在指定小程序在更多按钮上显示/隐藏小红点 + * @param show 是否显示 + * @param appletId 小程序id,不传的话,会获取当前小程序 + */ +- (BOOL)setMoreButtonBadgeVisible:(BOOL)show forApplet:(NSString * _Nullable)appletId; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletMenuProtocol.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletMenuProtocol.h index 6084721febc5a8967479acba8db53415a5e48819..c17fd8cc66f0abfd690f54230d5180b848c1d3dc 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletMenuProtocol.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletMenuProtocol.h @@ -11,6 +11,8 @@ @protocol FATAppletMenuProtocol +@optional + /** 菜单id */ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletNativeProtocol.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletNativeProtocol.h index 7e63ecb2f5225efc8a9bd0dbe1e42d75b3bd47e1..3d5b941c9bc184e6a30c9c7b770e1cc74cefcd4e 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletNativeProtocol.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletNativeProtocol.h @@ -147,6 +147,8 @@ typedef NS_ENUM(NSInteger, FATCapsuleButtonState) { @protocol FATCapsuleViewProtocol +@optional + /// 展示/隐藏胶囊视图 /// @param isShow 是否展示 /// @param webViewController 胶囊所在的页面 diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletRequest.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletRequest.h index 6b0d7d4aeaa86ad1f1d1d0d24370505b6bde88a7..75ad1c4cfee11bcaa5ab649594f8c5ad5233b590 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletRequest.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletRequest.h @@ -10,6 +10,13 @@ #import "FATConstant.h" @class FATDebugInfo; + +//小程序video组件全屏模式(目前只有formSheet支持设置) +typedef NS_ENUM(NSUInteger, FATVideoFullScreenMode) { + FATVideoFullScreenDefalut, //默认模式,video组件在小程序窗口上全屏显示 + FATVideoFullScreenInWindow, //video组件全屏后会在当前APP窗口上全屏显示 +}; + //配置小程序present方式 @interface FATAppletPresentationConfig : NSObject //对应UIModalPresentationStyle的UIModalPresentationFullScreen方式 @@ -21,6 +28,10 @@ //对应UIModalPresentationStyle的UIModalPresentationFormSheet方式,ipad上生效 + (FATAppletPresentationConfig *)formSheetPresentationConfig; +//对应UIModalPresentationStyle的UIModalPresentationFormSheet方式,ipad上生效 ++ (FATAppletPresentationConfig *)formSheetPresentationConfigWithVideoFullScreenMode:(FATVideoFullScreenMode)videoFullScreenMode; + + //对应UIModalPresentationStyle的UIModalPresentationCurrentContext方式 + (FATAppletPresentationConfig *)currentContextPresentationConfig; @@ -52,13 +63,47 @@ @end -@interface FATAppletBaseRequest : NSObject +@interface FATAppletCommonRequest : NSObject /** 数据上报的上报来源 */ @property (nonatomic, strong) NSNumber *from; +/** +打开小程序时的转场动画方式 +*/ +@property (nonatomic, assign) FATTranstionStyle transitionStyle; + +/** +是否动画,默认为YES +*/ +@property (nonatomic, assign) BOOL animated; + + +//小程序热启动时的reLaunch模式 +@property (nonatomic, assign) FATReLaunchMode reLaunchMode; + +/** + 是否隐藏小程序右上角胶囊里的关闭按钮 + 默认是NO,如果设置成YES的话,首次打开的小程序的关闭按钮会被隐藏,使用api打开其他小程序时,关闭按钮正常显示 +*/ +@property (nonatomic, assign) BOOL hideMiniProgramCloseButton; + +/** + 是否隐藏小程序右上角胶囊里的更多按钮 + 默认是NO,如果设置成YES的话,打开小程序的更多菜单按钮会被隐藏。 + */ +@property (nonatomic, assign) BOOL hideMiniProgramMoreButton; + +/** 是否需要强制更新新版本后再启动小程序(默认为NO) */ +@property (nonatomic, assign) BOOL forceUpdate; + +@end + +@interface FATAppletBaseRequest : FATAppletCommonRequest + + #pragma mark - server info /** @@ -90,14 +135,6 @@ */ @property (nonatomic, copy) NSDictionary *startParams; -//小程序热启动时的reLaunch模式 -@property (nonatomic, assign) FATReLaunchMode reLaunchMode; - -/** -打开小程序时的转场动画方式 -*/ -@property (nonatomic, assign) FATTranstionStyle transitionStyle; - /// 打开小程序PresentationStyle配置 @property (nonatomic, strong) FATAppletPresentationConfig *presentationConfig; @@ -116,27 +153,19 @@ */ @property (nonatomic, assign) FATInterfaceOrientation commonUIOrientation; -/** -是否动画,默认为YES -*/ -@property (nonatomic, assign) BOOL animated; + +/// 小程序的主题模式,默认为不设置 +@property (nonatomic, assign) FATAppletThemeStyle appletThemeStyle; + +/// 页面容器背景色,支持16进制颜色字符串,如"#FFFF00" +@property (nonatomic, copy) NSString *backgroundColorContent; + /** 自定义的scheme数组(非必填) */ @property (nonatomic, strong) NSArray *schemes; -/** - 是否隐藏小程序右上角胶囊里的关闭按钮 - 默认是NO,如果设置成YES的话,首次打开的小程序的关闭按钮会被隐藏,使用api打开其他小程序时,关闭按钮正常显示 -*/ -@property (nonatomic, assign) BOOL hideMiniProgramCloseButton; - -/** - 是否隐藏小程序右上角胶囊里的更多按钮 - 默认是NO,如果设置成YES的话,打开小程序的更多菜单按钮会被隐藏。 - */ -@property (nonatomic, assign) BOOL hideMiniProgramMoreButton; @end @@ -167,63 +196,29 @@ /// 体验版小程序会带小程序信息 @property (nonatomic, copy) NSDictionary *trialInfo; + @end /// 小程序解密请求(二维码打开小程序) -@interface FATAppletDecryptRequest : NSObject +@interface FATAppletDecryptRequest : FATAppletCommonRequest -/** - 数据上报的上报来源 -*/ -@property (nonatomic, strong) NSNumber *from; @property (nonatomic, copy) NSString *appletId; //管理小程序打开体验版,info加密信息中没有带appletId字段 + /** 加密信息 */ @property (nonatomic, copy) NSString *info; -/** -打开小程序时的转场动画方式 -*/ -@property (nonatomic, assign) FATTranstionStyle transitionStyle; - -/** -是否动画,默认为YES -*/ -@property (nonatomic, assign) BOOL animated; - -//小程序热启动时的reLaunch模式 -@property (nonatomic, assign) FATReLaunchMode reLaunchMode; - @end -@interface FATAppletQrCodeRequest : NSObject - -/** - 数据上报的上报来源 -*/ -@property (nonatomic, strong) NSNumber *from; +@interface FATAppletQrCodeRequest : FATAppletCommonRequest /** 二维码内容 */ @property (nonatomic, strong) NSString *qrCode; -/** - 打开小程序时的转场动画方式 - */ -@property (nonatomic, assign) FATTranstionStyle transitionStyle; - -/** -是否动画,默认为YES -*/ -@property (nonatomic, assign) BOOL animated; - -//小程序热启动时的reLaunch模式 -@property (nonatomic, assign) FATReLaunchMode reLaunchMode; - - @end /** @@ -338,11 +333,6 @@ */ @property (nonatomic, copy) NSDictionary *extraData; -/** - 强制更新 - */ -@property (nonatomic, assign) BOOL forceUpdate; - @end /** diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletTraceDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletTraceDelegate.h new file mode 100644 index 0000000000000000000000000000000000000000..3377bb86f33f844f6509da1caac3a4acc5dd8d0f --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATAppletTraceDelegate.h @@ -0,0 +1,24 @@ +// +// FATAppletTraceDelegate.h +// FinApplet +// +// Created by chenfanfang on 2025/2/12. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/// 小程序可回溯的代理 +@protocol FATAppletTraceDelegate + +@optional + +/// 请求用户的授权,是否同意开启可回溯功能 +/// - Parameter completion: 完成的回到 enableTrace: true 代表同意开启可回溯功能 +- (void)requestUserAuthorization:(void (^)(BOOL enableTrace))completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadFailedView.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadFailedView.h index d28a709604b80952a60083931365c3f7d6b23021..929b2cd4575f924ac8015932ec9fd110c0df860b 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadFailedView.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadFailedView.h @@ -11,6 +11,9 @@ NS_ASSUME_NONNULL_BEGIN @interface FATBaseLoadFailedView : UIView +//设置错误提示图片的originY,默认是50 +@property (nonatomic, assign) CGFloat errorImageOriginY; + /** 错误提示图片 */ @@ -33,6 +36,9 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, copy) dispatch_block_t reloadBlock; +//更新主题模式,子类可重写 +- (void)updateThemeStyle:(BOOL)isDarkTheme; + @end NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadingView.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadingView.h index 65fa5f82f7241cfadef6401378db1ed18fb2f4fc..04dbaa563a270a18429ae33e665596d5b1a1be68 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadingView.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATBaseLoadingView.h @@ -47,5 +47,8 @@ */ @property (nonatomic, strong) UIImageView *bottomImageView; +//更新主题模式,子类可重写 +- (void)updateThemeStyle:(BOOL)isDarkTheme; + @end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATClient.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATClient.h index 70cf66c60c7171980d0c30500af599be32ca446f..1d5f503631c051b4969c5b091a4ca3ca37a3f690 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATClient.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATClient.h @@ -17,6 +17,7 @@ #import "IFATXLogManager.h" #import "IFATToolManager.h" #import "IFATAuthApiManager.h" +#import "IFATAppletTraceManager.h" #import "FATAppletRequest.h" #import "FATSearchAppletRequest.h" #import "FATError.h" @@ -41,8 +42,14 @@ #import "FATAppletAuthDelegate.h" #import "FATInitConfigVerifyDelegate.h" #import "FATAppletLoadingPageLifeCycleDelegate.h" +#import "FATAppletInteractionDelegate.h" +#import "FATAppletTraceDelegate.h" +#import "FATEmbedComponentDelegate.h" +#import "FATEmbedComponentManager.h" +#import "FATAppletH5WebviewDelegate.h" +#import "FATAppletInteractionManager.h" +#import "FATAppletCustomJSInjectionDelegate.h" -NS_ASSUME_NONNULL_BEGIN @interface FATClient : NSObject @@ -75,6 +82,8 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, weak) id loadingPageLifeCycleDelegate; +/** 小程序回溯功能的代理事件 */ +@property (nonatomic, weak) id appletTraceDelegate; /** 右上角胶囊和更多按钮中自定义的菜单相关的代理事件 @@ -111,6 +120,17 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, weak) id waterMaskAndScreenCaptureDelegate; + +/** + 小程序用户交互的代理事件 + */ +@property (nonatomic, weak) id appletInteractionDelegate; + +/** + 小程序用户交互的管理器 + */ +@property (nonatomic, strong) FATAppletInteractionManager *appletInteractionManager; + /** 小程序日志输出的代理事件 */ @@ -126,6 +146,11 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, weak) id authDelegate; +/** + 小程序注入自定义js内容的代理事件 + */ +@property (nonatomic, weak) id customJSInjectionDelegate; + /** 初始化外部校验代理对象 */ @@ -140,6 +165,9 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, strong) id toolManager; +/** 可回溯日志管理者 */ +@property (nonatomic, strong) id appletTraceManager; + /** 权限API管理器 */ @@ -148,6 +176,21 @@ NS_ASSUME_NONNULL_BEGIN //小组件相关API管理器 @property (nonatomic, strong) FATWidgetManager *widgetManager; +/** + 小程序自定义同层组件的代理事件 + */ +@property (nonatomic, weak) id embedComponentDelegate; + + +/// 自定义同层组件管理器 +@property (nonatomic, strong) FATEmbedComponentManager *embedComponentManager; + +/** + 小程序webview组件的代理方法 + */ +@property (nonatomic, weak) id h5WebviewDelegate; + + + (instancetype)sharedClient; @@ -160,7 +203,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param config 配置对象 /// @param uiConfig UI配置对象 /// @param error 初始化失败时返回的error -- (BOOL)initWithConfig:(FATConfig *)config uiConfig:(nullable FATUIConfig *)uiConfig error:(NSError **)error; +- (BOOL)initWithConfig:(FATConfig *)config uiConfig:(FATUIConfig *)uiConfig error:(NSError **)error; /* 处理URL @@ -199,20 +242,20 @@ NS_ASSUME_NONNULL_BEGIN @param animated 是否显示动画 @param completion 关闭完成的回调 */ -- (void)closeCurrentApplet:(BOOL)animated completion:(nullable dispatch_block_t)completion; +- (void)closeCurrentApplet:(BOOL)animated completion:(dispatch_block_t)completion; /** 关闭打开的指定小程序 @param animated 是否显示动画 @param completion 关闭完成的回调 */ -- (void)closeApplet:(NSString *)appletId animated:(BOOL)animated completion:(nullable dispatch_block_t)completion; +- (void)closeApplet:(NSString *)appletId animated:(BOOL)animated completion:(dispatch_block_t)completion; /** 关闭当前打开的所有小程序 @param completion 关闭完成的回调 */ -- (void)closeAllAppletsWithCompletion:(nullable dispatch_block_t)completion; +- (void)closeAllAppletsWithCompletion:(dispatch_block_t)completion; #pragma mark - remove applet /** @@ -238,6 +281,11 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)clearLocalApplets; +/// 删除指定用户的缓存信息,如果userId传空,则删除当前用户的缓存信息 +/// @param userId 用户id +/// @param completion 完成回调 +- (void)clearUserCache:(NSString *)userId completion:(dispatch_block_t)completion; + #pragma mark - update & download applets api /** @brief 批量更新小程序(仅支持release版小程序) @@ -303,7 +351,7 @@ NS_ASSUME_NONNULL_BEGIN /// 向WKWebView注入指定scheme的handler /// @param urlSchemeHandler scheme的handler对象 /// @param urlScheme scheme字符串 -- (BOOL)registerWkWebViewURLSchemeHandler:(nullable id )urlSchemeHandler forURLScheme:(NSString *)urlScheme API_AVAILABLE(ios(11.0)); +- (BOOL)registerWkWebViewURLSchemeHandler:(id )urlSchemeHandler forURLScheme:(NSString *)urlScheme API_AVAILABLE(ios(11.0)); /** 原生调用HTML中的JS函数(前台运行的小程序) @@ -361,7 +409,7 @@ NS_ASSUME_NONNULL_BEGIN /// appletId 小程序id,可不传,不传时会去获取当前小程序di(有可能为空) /// @param finfilePath finfile路径 /// @param needFileExist 是否需要文件存在,传YES,如果传入的finfle路径的文件不存在,返回nil;传NO,不管文件是否存在,都返回对应的路径 -- (NSString *)absolutePathWithAppletId:(NSString *_Nullable)appletId finFilePath:(NSString *)finfilePath needFileExist:(BOOL)needFileExist; +- (NSString *)absolutePathWithAppletId:(NSString *)appletId finFilePath:(NSString *)finfilePath needFileExist:(BOOL)needFileExist; /** 获取小程序内文件的完整路径,或临时文件的完整路径 @@ -406,6 +454,13 @@ NS_ASSUME_NONNULL_BEGIN */ - (void)getCurrentWebViewUserAgentWithCompletion:(void (^)(NSString *userAgent, NSError *error))completionHandler; +/** + 刷新当前加载的H5页面 + 如果小程序当前页面加载的是H5,并且触发reload成功,则返回YES + 其他情况 返回NO + */ +- (BOOL)reloadCurrentWebView; + /** 国密SM3加密(内部实现为工具类实现) @@ -457,8 +512,8 @@ NS_ASSUME_NONNULL_BEGIN /// @param closeCompletion 关闭小程序时的回调 - (void)startAppletWithRequest:(FATAppletRequest *)request InParentViewController:(UIViewController *)parentVC - completion:(nullable void (^)(BOOL result, FATError *error))completion - closeCompletion:(nullable dispatch_block_t)closeCompletion; + completion:(void (^)(BOOL result, FATError *error))completion + closeCompletion:(dispatch_block_t)closeCompletion; /// 解密信息,并启动小程序 /// @param request 加密信息的request @@ -467,8 +522,8 @@ NS_ASSUME_NONNULL_BEGIN /// @param closeCompletion 关闭小程序时的回调 - (void)startAppletWithDecryptRequest:(FATAppletDecryptRequest *)request InParentViewController:(UIViewController *)parentVC - completion:(nullable void (^)(BOOL result, FATError *error))completion - closeCompletion:(nullable dispatch_block_t)closeCompletion; + completion:(void (^)(BOOL result, FATError *error))completion + closeCompletion:(dispatch_block_t)closeCompletion; /// 二维码信息启动小程序 /// @param request 请求对象 @@ -478,9 +533,9 @@ NS_ASSUME_NONNULL_BEGIN /// @param closeCompletion 关闭小程序时的回调 - (void)startAppletWithQrCodeRequest:(FATAppletQrCodeRequest *)request inParentViewController:(UIViewController *)parentVC - requestBlock:(nullable void (^)(BOOL result, FATError *error))requestBlock - completion:(nullable void (^)(BOOL result, FATError *error))completion - closeCompletion:(nullable dispatch_block_t)closeCompletion; + requestBlock:(void (^)(BOOL result, FATError *error))requestBlock + completion:(void (^)(BOOL result, FATError *error))completion + closeCompletion:(dispatch_block_t)closeCompletion; /// 启动本地离线小程序 /// @param request 请求对象 @@ -489,10 +544,22 @@ NS_ASSUME_NONNULL_BEGIN /// @param closeCompletion 关闭小程序时的回调 - (void)startLocalAppletWithRequest:(FATAppletBaseRequest *)request inParentViewController:(UIViewController *)parentVC - completion:(nullable void (^)(BOOL result, FATError *error))completion - closeCompletion:(nullable dispatch_block_t)closeCompletion; + completion:(void (^)(BOOL result, FATError *error))completion + closeCompletion:(dispatch_block_t)closeCompletion; +/// 在小程序当前页面push一个原生页面 +/// @param appletId 小程序id +/// @param viewController 原生页面 +/// @param animated 是否动画 +- (BOOL)applet:(NSString *)appletId pushNativeViewController:(UIViewController *)viewController animated:(BOOL)animated; + +/// 打开指定小程序的某个页面 +/// @param appletId 小程序id +/// @param pagePath 页面path +/// @param complete 完成回调 +- (void)applet:(NSString *)appletId pushAppletPage:(NSString *)pagePath query:(NSString *)query withCompletion:(void(^)(NSError *error))completion; + #pragma mark - search applet /// 获取应用绑定的小程序列表 @@ -580,8 +647,8 @@ NS_ASSUME_NONNULL_BEGIN InParentViewController:(UIViewController *)parentVC transitionStyle:(FATTranstionStyle)transitionStyle animated:(BOOL)animated - completion:(nullable void (^)(BOOL result, NSError *error))completion - closeCompletion:(nullable dispatch_block_t)closeCompletion __attribute__((deprecated("该api(自2.23.5起)废弃,请使用startAppletWithRequest:InParentViewController:completion:closeCompletioncloseCompletion"))); + completion:(void (^)(BOOL result, NSError *error))completion + closeCompletion:(dispatch_block_t)closeCompletion __attribute__((deprecated("该api(自2.23.5起)废弃,请使用startAppletWithRequest:InParentViewController:completion:closeCompletioncloseCompletion"))); /** 打开服务器上的小程序,带提交序列、动画参数 @@ -655,5 +722,3 @@ NS_ASSUME_NONNULL_BEGIN - (BOOL)fat_registerWebApi:(NSString *)webApiName handle:(void (^)(id param, FATExtensionApiCallback callback))handler __attribute__((deprecated("该api(自2.36.7起)废弃,请使用 -fat_registerWebApi:handler:"))); @end - -NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConfig.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConfig.h index 6fe31b6d98bb6f75e89b9ec3c84e88f107de9612..777e330f61748e6076d4229af3dcfde4bdf99bee 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConfig.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConfig.h @@ -10,8 +10,6 @@ #import "FATStoreConfig.h" #import "FATConstant.h" -NS_ASSUME_NONNULL_BEGIN - @interface FATConfig : NSObject /** @@ -20,13 +18,23 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy, readonly) NSArray *storeConfigs; /** - 当前用户id,对应管理后台的用户管理->成员管理->用户id。 - 若体验版本配置了体验成员,则需要设置正确的userId才能具备打开小程序的权限 + 当前用户id + 会受FATStoreConfig中的encryptUserId影响,在网络接口中加密 + 小程序(storage)缓存信息、授权信息、运行过程中产生的临时文件会存储在以userId命名的不同目录下。 登录/切换用户/退出登录时,需要修改此值。 - 小程序缓存信息会存储在以userId命名的不同目录下。 */ @property (nonatomic, copy) NSString *currentUserId; +/** + 成员用户的标识(新属性) + + 可以是自己系统的userId、手机号、邮箱,会受FATStoreConfig中的encryptUserId影响,在网络接口中加密。 + 对应管理后台的用户管理->成员管理->用户id。 + 该属性影响打开体验版、审核版、开发版小程序功能;小程序用户灰度功能。 + 注意:打开体验版、审核版、开发版时,会优先取memberUserId,如果没设置则取currentUserId。 + */ +@property (nonatomic, copy) NSString *memberUserId; + /** 渠道,如果不填,默认为项目的 bundleId */ @property (nonatomic, copy) NSString *channel; @@ -74,11 +82,6 @@ apm 统计的扩展信息 */ @property (nonatomic, strong) NSDictionary *apmExtension; -/** 是否开启Crash防崩溃,默认为NO。 - 如果开启,可以防止如下类型的崩溃:UnrecognizedSelector、Notification、Timer、Container(数组越界,字典插入nil等)、String (越界、nil等) - 如果在开发阶段,建议关闭该属性,否则开发时不便于及时发现代码中的崩溃问题。 -*/ -@property (nonatomic, assign) BOOL startCrashProtection; @property (nonatomic, strong) NSDictionary *theme; @@ -118,6 +121,15 @@ apm 统计的扩展信息 */ @property (nonatomic, assign) FATConfigPriority watermarkPriority; +//是否允许截屏,默认为YES,允许截屏 更改后之前打开的页面不会生效 +@property (nonatomic, assign) BOOL enableScreenShot NS_AVAILABLE_IOS(13_0); + +/** + 截屏优先级设置,默认全局配置优先,允许截屏 + */ +@property (nonatomic, assign) FATConfigPriority screenShotPriority; + + /** 小程序的自定义启动加载页,非必填。 自定义启动加载页必须继承自FATBaseLoadingView @@ -146,6 +158,12 @@ apm 统计的扩展信息 */ @property (nonatomic, assign) FATConfigPriority headerPriority; +/** + SDK内所有的网络接口都需要将customPlatformHeader的内容添加至header中,再发起网络请求。 + 注意,如果SDK调用的接口也传递了相同的key,则以SDK的为准 + */ +@property (nonatomic, strong) NSDictionary *customPlatformHeader; + /** 是否开启小程序中加载的H5页面hook功能,非必填。 如果宿主app 拦截了http 或https,会导致H5中的request 丢失body。我们SDK为了兼容这一问题,会hook request请求, @@ -183,7 +201,7 @@ apm 统计的扩展信息 如果是放在 mainBundle 下,则设置相对路径:@"abc.lproj" 如果是放在自定于 Bundle 下,则设置相对路径:@"bundleName.bundle/abc.lproj" */ -@property (nonatomic, copy, nullable) NSString *customLanguagePath; +@property (nonatomic, copy) NSString *customLanguagePath; /** SDK外部校验Key @@ -201,10 +219,11 @@ apm 统计的扩展信息 @note 文件路径可以是应用的沙盒目录中的路径,也可以是包含在应用Bundle中的文件名。 */ -@property (nonatomic, copy, nullable) NSString *pickerRegionPath; +@property (nonatomic, copy) NSString *pickerRegionPath; /// 权限说明信息未配置时的策略,详细说明可以查看FATAuthDescStrategy +/// 如果小程序中的app.json 有配置 permission 权限说明,则 permission 的权限说明的优先权最高。不论authDescStrategy怎么设置,优先权都没 permission 高。 @property (nonatomic, assign) FATAuthDescStrategy authDescStrategy; #pragma mark - method @@ -264,6 +283,11 @@ SDK指纹,证联服务器时,必填 */ @property (nonatomic, assign) FATBOOLState enableAppletDebug __attribute__((deprecated("该属性(自2.41.11起)废弃,建议使用appletDebugMode"))); -@end -NS_ASSUME_NONNULL_END +/** 是否开启Crash防崩溃,默认为NO。 + 如果开启,可以防止如下类型的崩溃:UnrecognizedSelector、Notification、Timer、Container(数组越界,字典插入nil等)、String (越界、nil等) + 如果在开发阶段,建议关闭该属性,否则开发时不便于及时发现代码中的崩溃问题。 +*/ +@property (nonatomic, assign) BOOL startCrashProtection __attribute__((deprecated("该属性(自2.48.9起)废弃,使用后不起作用, 如果需要使用,请在项目的info.plist文件中添加boolean字段FatCrashProtection:YES"))); + +@end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConstant.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConstant.h index f3bc340c5f936d59f67acff1fcf58d01083137d1..e5797d6fa29df0cb65db39757c7c0131a9d6ba7c 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConstant.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATConstant.h @@ -141,6 +141,13 @@ typedef NS_ENUM(NSInteger, FATUserInterfaceStyle) { FATUserInterfaceAuto = 2, // 主题模式跟随系统 }; +typedef NS_ENUM(NSInteger, FATAppletThemeStyle) { + FATAppletThemeNone = 0, //不设置 + FATAppletThemeLight = 1, // 浅色模式 + FATAppletThemeDark = 2, // 深色模式 + FATAppletThemeAuto = 3, // 主题模式跟随系统 +}; + typedef NS_ENUM(NSInteger, FATFinFilePathType) { FATFinFilePathTmp = 0, // tmp目录 FATFinFilePathStore = 1, // store目录 @@ -149,12 +156,11 @@ typedef NS_ENUM(NSInteger, FATFinFilePathType) { typedef NS_ENUM(NSInteger, FATAuthDescStrategy) { - FATAuthDescStrategyNone = 0, // 默认方式,小程序有配置权限说明,显示配置的,没配置则不显示 - FATAuthDescStrategyShowDefault = 1, // 小程序有配置权限说明,显示配置的,没配置显示内置的权限信息 + FATAuthDescStrategyNone = 0, // 默认方式,后台管理系统有配置权限说明,显示配置的,没配置则不显示 + FATAuthDescStrategyShowDefault = 1, // 后台管理系统有配置权限说明,显示配置的,没配置显示内置的权限信息 FATAuthDescStrategyForbidden = 2, //没有设置,不允许申请权限;申请权限会优先判断是否有配置权限描述,没有配置则不允许申请权限,即使设置了自动授权,同时权限申请前置代理方法也不会触发 }; - /** 扩展API处理后的回调 diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATCustomAuthViewInfoModel.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATCustomAuthViewInfoModel.h new file mode 100644 index 0000000000000000000000000000000000000000..a9c64421bb416e7675d889d620d7ce95b8117998 --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATCustomAuthViewInfoModel.h @@ -0,0 +1,42 @@ +// +// FATCustomAuthViewInfoModel.h +// FinApplet +// +// Created by chenfanfang on 2025/7/25. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "FATAppletInfo.h" +#import "FATConstant.h" + + +NS_ASSUME_NONNULL_BEGIN + +@interface FATCustomAuthViewInfoModel : NSObject + +/// 权限类型 +@property (nonatomic, assign) FATAuthorizationType scopeType; + +/// 权限名称, 比如:scope.userLocation +@property (nonatomic, copy) NSString *scopeName; + +/// 权限描述(也就是申请权限的标题) +@property (nonatomic, copy) NSString *scopeDesc; + +/// 权限详细描述(也就是申请权限向用户说明的详细的描述) +@property (nonatomic, copy) NSString *scopeDetailDesc; + +/// 自定义隐私协议文档名 +@property (nonatomic, copy) NSString *customPrivacyDocName; + +/// 自定义隐私协议文URL地址 +@property (nonatomic, copy) NSString *customPrivacyDocUrl; + +/// 当前的控制器, 显示的自定义弹窗可以添加在当前的控制器上 +@property (nonatomic, strong) UIViewController *currentController; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATCustomEmbedViewProtocol.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATCustomEmbedViewProtocol.h new file mode 100644 index 0000000000000000000000000000000000000000..12f64700bdc7e85025520c3143629a79742e330e --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATCustomEmbedViewProtocol.h @@ -0,0 +1,41 @@ +// +// FATCustomEmbedViewProtocol.h +// FinApplet +// +// Created by 滔 on 2025/5/19. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "FATEmbedComponentInfo.h" +#import "FATEmbedComponentEvent.h" + +NS_ASSUME_NONNULL_BEGIN + +/// 小程序自定义同层组件代理 +@protocol FATCustomEmbedViewProtocol + +@optional + +/// 自定义组件更新 +/// - Parameters: +/// - componentInfo: 组件更新的参数 +/// - completion: 更新完成回调,必须触发 +- (void)onUpdate:(FATEmbedComponentInfo *)componentInfo withCompletion:(void (^)(void))completion; + + + +/// 自定义组件被删除,可以在这个方法里做一些清理逻辑 +/// - Parameter completion: 完成回调,必须触发 +- (void)onRemoveWithCompletion:(void (^)(void))completion; + + +/// 收到小程序发送给自定义组件的事件 +/// - Parameters: +/// - event: 事件 +/// - completion: 处理完成回调,必须触发,回调数据可以为nil +- (void)receiveComponentEvent:(FATEmbedComponentEvent *)event completion:(void (^)(NSDictionary * _Nullable resDic))completion; + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentDelegate.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentDelegate.h new file mode 100644 index 0000000000000000000000000000000000000000..c5be30f6133341f3d2d7ed652916a035f123db82 --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentDelegate.h @@ -0,0 +1,30 @@ +// +// FATEmbedComponentDelegate.h +// FinApplet +// +// Created by 滔 on 2025/5/15. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "FATEmbedComponentInfo.h" +#import "FATEmbedComponentEvent.h" +#import "FATCustomEmbedViewProtocol.h" + +NS_ASSUME_NONNULL_BEGIN + +/// 小程序自定义同层组件代理 +@protocol FATEmbedComponentDelegate + +@optional + +/// 收到创建自定义组件事件 +/// - Parameters: +/// - componentInfo: 自定义组件信息,会包含小程序信息、页面id、页面path等参数 +/// - completion: 创建完成回调,返回自定义组件视图 +- (void)onCreateEmbedComponent:(FATEmbedComponentInfo *)componentInfo completion:(void (^)(UIView * _Nullable componentView))completion; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentEvent.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentEvent.h new file mode 100644 index 0000000000000000000000000000000000000000..0f62931968ff361e4fba6edd72f7aba852281976 --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentEvent.h @@ -0,0 +1,37 @@ +// +// FATEmbedComponentEvent.h +// FinApplet +// +// Created by 滔 on 2025/5/15. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "FATAppletInfo.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FATEmbedComponentEvent : NSObject + +/// 组件ID +@property (nonatomic, copy) NSString *componentId; + + +/// 小程序信息 +@property (nonatomic, strong) FATAppletInfo *appletInfo; + +/// 页面id +@property (nonatomic, strong) NSNumber *pageId; + +/// 页面path +@property (nonatomic, copy) NSString *pagePath; + + +/// 事件 +@property (nonatomic, copy) NSString *eventName; + +/// 事件参数 +@property (nonatomic, strong) NSDictionary *eventData; +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentInfo.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentInfo.h new file mode 100644 index 0000000000000000000000000000000000000000..cd7ac990a71f4d4863e02de44886189613d5a78d --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentInfo.h @@ -0,0 +1,48 @@ +// +// FATEmbedComponentInfo.h +// FinApplet +// +// Created by 滔 on 2025/5/15. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "FATAppletInfo.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FATEmbedComponentInfo : NSObject + +/// 组件Id +@property (nonatomic, copy) NSString *componentId; + + +/// 自定义组件的domId,如果需要发送事件给组件,需要传这个id +@property (nonatomic, copy) NSString *domId; + + +/// 页面id,如果后续需要发送自定义组件事件给小程序,需要传页面id +@property (nonatomic, strong) NSNumber *pageId; + +/// 页面path +@property (nonatomic, copy) NSString *pagePath; + + +/// 小程序信息 +@property (nonatomic, strong) FATAppletInfo *appletInfo; + +/// 组件tag +@property (nonatomic, copy) NSString *componentTag; + +//组件宽度 +@property (nonatomic, assign) CGFloat width; + +//组件高度 +@property (nonatomic, assign) CGFloat height; + +/// 组件数据 +@property (nonatomic, strong) NSDictionary *dataDic; + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentManager.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentManager.h new file mode 100644 index 0000000000000000000000000000000000000000..f99d8eb9c46337576b4e8052bfdb9001395037fe --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATEmbedComponentManager.h @@ -0,0 +1,45 @@ +// +// FATEmbedComponentManager.h +// FinApplet +// +// Created by 滔 on 2025/5/15. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import +#import "UIKit/UIKit.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface FATEmbedComponentManager : NSObject + + +/// 发送自定义组件事件给小程序 +/// - Parameters: +/// - eventName: 事件名称 +/// - appletId: 小程序id,不传的话会取发送给当前运行的小程序 +/// - paramString: 事件参数 +/// - pageId: 页面id,不传的话会使用当前页面 +/// - componentId: 组件的domId +/// - handler: 事件结果回调 +- (void)sendEvent:(NSString *)eventName applet:(NSString *)appletId paramString:(NSString *)paramString pageId:(NSNumber *)pageId componentDomId:(NSString *) componentDomId handler:(void (^)(id result, NSError *error))handler; + + +/// 获取自定义同层组件 +/// - Parameters: +/// - appletId: 小程序id,不传的话,会去当前小程序获取同层组件 +/// - pageId: 页面id,不传的话,会去小程序最上层页面去获取同层组件 +/// - componentId: 同层组件id +- (UIView *)getEmbedComponent:(NSString * _Nullable)appletId pageId:(NSString * _Nullable)pageId componentId:(NSString *)componentId; + +/// 宿主APP删除自定义同层组件 +/// - Parameters: +/// - appletId: 小程序id,不传的话,会删除当前小程序里的同层组件 +/// - pageId: 页面id,不传的话,会删除小程序最上层页面去的同层组件 +/// - componentId: 同层组件id +- (BOOL)removeEmbedComponent:(NSString * _Nullable)appletId pageId:(NSString * _Nullable)pageId componentId:(NSString *)componentId; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATError.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATError.h index 23e3c4ab228be703f418970edff72f95c1773115..1f2ab09b0f393e92c0f6f7783f61f7d87f72b9b0 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATError.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATError.h @@ -151,6 +151,10 @@ typedef NS_ENUM(NSUInteger, FATErrorCode) { FATErrorCodeNetdiskDbError = 20040, //网盘db异常 FATErrorCodeNetdiskAccessError = 20041, //没有网盘文件的访问权限 FATErrorCodeNetdiskGetResError = 20042, //网盘获取资源失败 + FATErrorCodeNotReviewBindingError = 20043, //不是审核应用【非审核应用扫描审核版二维码】 + FATErrorCodeMessageTemplateNotExist = 20053, //消息模版不存在 + FATErrorCodeMessageTemplateUnSupportTemp = 20054, //临时版不支持订阅消息 + FATErrorCodeMessageTemplateCommonErr = 20055, //消息触达其他业务场景的通用错误码,接口返回的错误信息直接返回英文的,SDK直接把这个错误信息抛给小程序 // 后端映射未配置时使用该状态码(防止后端新增但本地未映射的情况) FATErrorCodeServiceException = 29999 @@ -166,4 +170,11 @@ typedef NS_ENUM(NSUInteger, FATErrorCode) { - (BOOL)shouldShowAlertWhenCheckUpdate; +/// 是否需要清除磁盘缓存 +- (BOOL)shouldClearDiskCache; + +/// 是否需要清除磁盘缓存 +/// - Parameter errorCode: 错误码 ++ (BOOL)shouldClearDiskCacheWithErrorCode:(FATErrorCode)errorCode; + @end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMediaInfo.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMediaInfo.h new file mode 100644 index 0000000000000000000000000000000000000000..e6935e6e27bfeb2f609547319f1dbaeb90bc612c --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMediaInfo.h @@ -0,0 +1,25 @@ +// +// FATImageInfo.h +// FinApplet +// +// Created by 滔 on 2025/2/26. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef NS_ENUM(NSUInteger, FATAppletMediaType) { + FATAppletImageType = 0, + FATAppletVideoType +}; + +@interface FATMediaInfo : NSObject +//多媒体类型,图片或视频 +@property (nonatomic, assign) FATAppletMediaType mediaType; +//多媒体文件路径,可能是网络资源或沙盒路径 +@property (nonatomic, copy) NSString *mediaUrl; +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMoreMenuHelper.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMoreMenuHelper.h index 040f64d272bc8339ffa32871331a4ae2a0c167bc..eb3c2f646a3a519de4fdb0ad5f3b41de402038a1 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMoreMenuHelper.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATMoreMenuHelper.h @@ -15,6 +15,13 @@ /// @param appletId 小程序id + (void)invokeForwardMenuAction:(NSString *)appletId; + +/// 更新小程序的收藏状态 +/// @param appletId 小程序id +/// @param favorite 收藏状态 +/// @param complete 结果回调,error为nil表示更新成功 ++ (void)updateApplet:(NSString *)appletId favoriteStatus:(BOOL)favorite withComplete:(void(^)(NSError *error,FATAppletInfo *appletInfo))complete; + /// 打开小程序的意见反馈页面 /// @param appletId 小程序id + (void)goToFeedbackPage:(NSString *)appletId; @@ -36,6 +43,26 @@ /// @param appletId 小程序id + (BOOL)isEnableAppletDebug:(NSString *)appletId; +/// 获取小程序是否已收藏 +/// @param appletId 小程序id ++ (BOOL)isAppletFavorite:(NSString *)appletId; + + +/// 重新打开小程序 +/// @param appletId 小程序id ++ (BOOL)restartApplet:(NSString *)appletId; + + +/// 将小程序添加到桌面 +/// @param appletId 小程序id ++ (BOOL)addAppletToDesktop:(NSString *)appletId; + + +/// 关闭小程序,并清理小程序 +/// @param appletId 小程序id ++ (BOOL)clearAppletCache:(NSString *)appletId; + + /// 获取自定义菜单项的数据(需要小程序配合实现的菜单项,需要小程序提供额外调用参数) /// @param appletId 小程序id /// @param menuId 菜单id diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModel.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModel.h index 663b090040418b99558ca8988d53e5e6b6aaba45..7f2688bd08b4f95532dac21d97435468c7e1d389 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModel.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModel.h @@ -35,6 +35,35 @@ @property (nonatomic, assign) unsigned long long lazyLoadTime; /// 内存占用 @property (nonatomic, assign) double memoryUse; +/// 注入文件列表。仅 evaluateScript 指标有效。 +@property (nonatomic, strong) NSArray *fileList; +/// 渲染层代码注入完成时间。仅 firstRender 指标有效。 +@property (nonatomic, strong) NSNumber *viewLayerReadyTime; +/// 首次渲染参数从逻辑层发出的时间。仅 firstRender 指标有效。 init关键字,改成大写的 +@property (nonatomic, strong) NSNumber *InitDataSendTime; +/// 首次渲染参数在渲染层收到的时间。仅 firstRender 指标有效。 init关键字,改成大写的 +@property (nonatomic, strong) NSNumber *InitDataRecvTime; +/// 渲染层执行渲染开始时间。仅 firstRender 指标有效。 +@property (nonatomic, strong) NSNumber *viewLayerRenderStartTime; +/// 渲染层执行渲染结束时间。仅 firstRender 指标有效。 +@property (nonatomic, strong) NSNumber *viewLayerRenderEndTime; + +//resource的指标参数 + + +/// 资源路径。仅 resourceTiming 指标有效。 +@property (nonatomic, copy) NSString *uri; + +/// 初始化性能条目的资源类型。仅 resourceTiming 指标有效。 +@property (nonatomic, copy) NSString *InitiatorType; + +/// 解析域名开始时间。仅 resourceTiming 指标有效。 +@property (nonatomic, strong) NSNumber *domainLookupStart; + +/// 解析域名结束时间。仅 resourceTiming 指标有效。 +@property (nonatomic, strong) NSNumber *domainLookupEnd; + + /// 中文描述信息 - (NSString *)chineseSimpleDescription; diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModelProtocol.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModelProtocol.h index 76b338e7b3e5a8a7772fb6fb4ebe7cbec9b8cca0..03f51a9c2e60fcd8af724a8c9047c0fa65a2dd9c 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModelProtocol.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATPerformanceModelProtocol.h @@ -12,17 +12,42 @@ NS_ASSUME_NONNULL_BEGIN @protocol FATPerformanceModelProtocol -/// 指标类型 +/** + 指标类型 + navigation 路由 + render 渲染 + script 脚本 + */ @property (nonatomic, copy) NSString *entryType; -/// 指标名称 + +/** + 指标名称 + + appLaunch 小程序启动耗时。(entryType: navigation) + route 路由处理耗时。(entryType: navigation) + firstRender 页面首次渲染耗时。(entryType: render) + firstPaint 页面首次绘制(FP)时间点,无 duration。(iOS 不支持)(entryType: render) 2.21.2 + firstContentfulPaint 页面首次内容绘制(FCP)时间点,无 duration。(iOS 14.5 以下版本不支持)(entryType: render) 2.21.2 + largestContentfulPaint 页面最大内容绘制(LCP)时间点,无 duration。(iOS 不支持)(entryType: render) 2.23.1 + evaluateScript 逻辑层 JS 代码注入耗时。(entryType: script) + downloadPackage 代码包下载耗时。(entryType: loadPackage) 2.24.0 + resourceTiming 视图层资源加载耗时。(entryType: resource) 2.24.0 + + */ @property (nonatomic, copy) NSString *name; /// 指标标签,一般为空。用于区分entryType和name都相同的不同统计打点 @property (nonatomic, copy) NSString *tag; -/// 开始时间 +/// 开始时间,不同指标的具体含义会有差异。 @property (nonatomic, assign) unsigned long long startTime; -/// 持续时间 +/// 耗时 ms。仅对于表示阶段的指标有效。 @property (nonatomic, assign) unsigned long long duration; + +/// 转成字典, 对应微信的 PerformanceEntry +/// https://developers.weixin.qq.com/miniprogram/dev/api/base/performance/PerformanceEntry.html +/// +- (NSDictionary *)toDictionary; + @end NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATStoreConfig.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATStoreConfig.h index 8d17a1395fcca6f6d7945d3682c373199ebf0bdb..ceefcc11ca0d69c315663ba277f135634d399dd2 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATStoreConfig.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATStoreConfig.h @@ -28,7 +28,7 @@ */ @property (nonatomic, copy) NSString *apiServer; /** - 在网络请求过程中是否对currentUserId进行加密处理 + 在网络请求过程中是否对currentUserId、xUserId进行加密处理 非必传,默认为NO */ @property (nonatomic, assign) BOOL encryptUserId; diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIConfig.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIConfig.h index 1658f47627a31981de728f2b9df08bbd5d7f95b4..e277ad5f65faf07d06589a0d4229309b46b664b5 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIConfig.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIConfig.h @@ -95,17 +95,17 @@ @property (nonatomic, assign) CGFloat capsuleHeight; /** - 右上角胶囊视图的右边距,默认值为10 + 右上角胶囊视图的右边距,默认值为7 */ @property (nonatomic, assign) CGFloat capsuleRightMargin; /** - 右上角胶囊视图的圆角半径,默认值为5 + 右上角胶囊视图的圆角半径,默认值为16 */ @property (nonatomic, assign) CGFloat capsuleCornerRadius; /** - 右上角胶囊视图的边框宽度,默认值为0.8 + 右上角胶囊视图的边框宽度,默认值为0.5 */ @property (nonatomic, assign) CGFloat capsuleBorderWidth; @@ -174,6 +174,39 @@ */ @property (nonatomic, strong) UIImage *closeDarkImage; + +/** + 胶囊里的红点按钮的宽度,默认值为6 + */ +@property (nonatomic, assign) CGFloat redDotBtnWidth; + +/** + 胶囊里的红点按钮的高度,默认值为6 + */ +@property (nonatomic, assign) CGFloat redDotBtnHeight; + +/** + 胶囊里的红点按钮的右边距,默认值为6 + */ +@property (nonatomic, assign) CGFloat redDotBtnRightMargin; + +/** + 胶囊里的红点按钮的上边距,默认值为3 + */ +@property (nonatomic, assign) CGFloat redDotBtnTopMargin; + +/** + 胶囊里的红点按钮的深色图片对象,如果不传,会使用默认图标 + (明亮模式) + */ +@property (nonatomic, strong) UIImage *redDotBtnDarkImage; + +/** + 胶囊里的红点按钮的浅色图片对象,如果不传,会使用默认图标 + (暗黑模式) + */ +@property (nonatomic, strong) UIImage *redDotBtnLightImage; + /** 右上角胶囊视图的边框浅色颜色 (暗黑模式) @@ -210,12 +243,13 @@ */ @property (nonatomic, strong) UIColor *capsuleDividerDarkColor; + @end @interface FATImageViewConfig : NSObject /** - 圆角半径,默认值为4 + 圆角半径,默认值为20 */ @property (nonatomic, assign) CGFloat borderCornerRadius; @@ -459,6 +493,11 @@ */ @property (nonatomic, strong) NSDictionary *navigationTitleTextAttributes; +/** + 使用push动画打开小程序时,是否隐藏loading和首页的返回按钮 + */ +@property (nonatomic, assign) BOOL hideLoadingAndHomeBackButtonWhenPushStyle; + /** 导航栏的高度(不含状态栏高度),默认值为44 */ @@ -637,6 +676,10 @@ @property (nonatomic, assign) FATInterfaceOrientation commonUISupportOrientaion; +/// 获取小程序页面支持方向时是否忽略AppDelegate中application: supportedInterfaceOrientationsForWindow:返回的页面方向,默认为NO。 +/// 小程序页面支持的方向会结合supportedInterfaceOrientationsForWindow(APP未实现则用工程方向)以及小程序页面配置的方向计算最终支持的方向,避免改变小程序页面方向可能导致的崩溃问题。 +/// 为YES的话,会忽略supportedInterfaceOrientationsForWindow方法,直接用工程方向和小程序页面配置的方向计算最终支持的方向。(用于uni-app基座打包APP会崩溃的场景,supportedInterfaceOrientationsForWindow方法中会获取最顶层页面支持的方向) +@property (nonatomic, assign) BOOL ignoreAppDelegateSupportedInterfaceOrientations; /** diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIViewController.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIViewController.h index 685870be3b6d1b5dffd513f4c9ce1b190da71c50..61f8ebf02a273c218ca85a54f941d999ef4a3c72 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIViewController.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATUIViewController.h @@ -8,6 +8,7 @@ #import #import "FATConstant.h" +#import "FATAppletInfo.h" @interface FATUIViewController : UIViewController @@ -26,6 +27,13 @@ //检查页面支持的方向和设备方向是否一致,如果不一致,则改变设备方向 -(void)changeDeviceOrientaitonIfNeeded; +//根据小程序信息重写loadView +- (void)fat_loadViewWithAppletInfo:(FATAppletInfo *)appletInfo; + + +/// 如果页面所属小程序需要显示水印,则在页面上添加水印 +/// - Parameter appletInfo: 小程序信息 +- (void)showWatermaskIfNeeded:(FATAppletInfo *)appletInfo; @end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetManager.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetManager.h index 833da6a2a045e878d6ebc0919f470d2e12d0bff2..f25ba8073d88f0f3413c4e9d06c2b4429a9f394d 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetManager.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetManager.h @@ -11,10 +11,21 @@ #import "FATWidgetView.h" #import "FATError.h" -NS_ASSUME_NONNULL_BEGIN +@protocol FATWidgetDelegate + +/// 小组件关闭 +/// - Parameter widgetView: 小组件视图 +- (void)onWidgetClose:(FATWidgetView *_Nullable)widgetView; -@interface FATWidgetManager : NSObject +/// 小组件被清除 +/// - Parameter widgetId: 小组件id +- (void)onWidgetDestory:(NSString *_Nullable)widgetId; + +@end + +@interface FATWidgetManager : NSObject +@property (nonatomic, weak) id delegate; /// 创建widget /// - Parameters: @@ -49,7 +60,7 @@ NS_ASSUME_NONNULL_BEGIN /// 清理wdiget -/// - Parameter widgetId: widgetId +/// - Parameter widgetId: 小组件id - (void)cleanWidget:(NSString *)widgetId; @@ -60,4 +71,4 @@ NS_ASSUME_NONNULL_BEGIN @end -NS_ASSUME_NONNULL_END + diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetRequest.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetRequest.h index 598618d2d0469f8f66659fedf3e4875e790725be..86a34cc4191f4404566b60ecdc8c5700b7cd6fc1 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetRequest.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetRequest.h @@ -27,6 +27,15 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, copy) NSString *widgetId; +//是否允许多开小组件,设置为YES同一个widgetId可以创建多个小组件 +@property (nonatomic, assign) BOOL enableMultiWidget; + +/** + 组件运行id,选填,需要跟enableMultiWidget配合使用,如果是多开小组件,传了widgetRunId,sdk内部会用widgetId+widgetRunId生成一个小组件实例id,如果不传widgetRunId, + sdk内部会根据一定规则生成widgetRunId +*/ +@property (nonatomic, copy) NSString *widgetRunId; + /** 组件的启动参数,非必填。 支持的key,请参考FATStartParamKey @@ -61,6 +70,9 @@ NS_ASSUME_NONNULL_BEGIN //组件大小,非必填,组件加载成功后可以再设置 @property (nonatomic, assign) CGSize widgetSize; +/** 是否需要强制更新新版本后再启动小程序(默认为NO) */ +@property (nonatomic, assign) BOOL forceUpdate; + @end @@ -164,6 +176,10 @@ NS_ASSUME_NONNULL_BEGIN 二维码内容 */ @property (nonatomic, strong) NSString *qrCode; + +/** 是否需要强制更新新版本后再启动小程序(默认为NO) */ +@property (nonatomic, assign) BOOL forceUpdate; + @end @interface FATWidgetDecryptRequest : NSObject @@ -185,6 +201,9 @@ NS_ASSUME_NONNULL_BEGIN */ @property (nonatomic, copy) NSString *qrCode; +/** 是否需要强制更新新版本后再启动小程序(默认为NO) */ +@property (nonatomic, assign) BOOL forceUpdate; + @end NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetView.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetView.h index d7be520ca92fe3ab2f414f59934085a6187266a8..1c669afbb7ec4ef118627778861d416d511fc237 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetView.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FATWidgetView.h @@ -10,10 +10,26 @@ #import "FATWidgetInfo.h" NS_ASSUME_NONNULL_BEGIN +@class FATWidgetView; +@protocol FATWidgetViewDelegate + +/// 小组件内容宽高更新,宿主APP可以根据业务需要决定是否更新小组件的区域(sdk不会主动将小组件宽高设置成内容宽高) +/// - Parameter widgetView: 小组件视图 +/// - Parameter size: 小组件内容宽高 +- (void)onWidgetView:(FATWidgetView *)widgetView contentSizeUpdate:(CGSize)size; + +@end @interface FATWidgetView : UIView @property (nonatomic, strong) NSString *widgetId; +@property (nonatomic, copy) NSString *widgetRunId; //小组件运行id,多开小组件时使用 +@property (nonatomic, weak) id delegate; + +/// 小组件的内容宽高 +@property (nonatomic, assign) CGSize contentSize; +//实例id,多开小组件场景下使用,比如多开小组件需要清理小组件,需要传实例id +- (NSString *)instanceId; @end NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FinApplet.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FinApplet.h index a89e092ff20ca3519258f7ace0b6a55be661c337..5b32fbe3e41a4f59a89d54c80e428d8908d0bf0b 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FinApplet.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/FinApplet.h @@ -33,6 +33,7 @@ #import "FATLogManager.h" #import "IFATXLogManager.h" #import "IFATToolManager.h" +#import "IFATAppletTraceManager.h" #import "FATAppletButtonOpenTypeDelegate.h" #import "FATAppletLifeCycleDelegate.h" #import "FATAppletMoreMenuDelegate.h" @@ -52,3 +53,11 @@ #import "FATPrivacyInfo.h" #import "FATExternalPageConfig.h" #import "FATAppletHUD.h" +#import "FATMediaInfo.h" +#import "FATAppletInteractionDelegate.h" +#import "FATCustomEmbedViewProtocol.h" +#import "FATEmbedComponentInfo.h" +#import "FATEmbedComponentEvent.h" +#import "FATEmbedComponentDelegate.h" +#import "FATAppletCustomJSInjectionDelegate.h" +#import "FATEmbedComponentManager.h" diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/IFATAppletTraceManager.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/IFATAppletTraceManager.h new file mode 100644 index 0000000000000000000000000000000000000000..834058c54b938885f8c3c553ec9af06aac832b06 --- /dev/null +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/IFATAppletTraceManager.h @@ -0,0 +1,44 @@ +// +// IFATAppletTraceManager.h +// FinApplet +// +// Created by chenfanfang on 2025/2/18. +// Copyright © 2025 finogeeks. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@protocol IFATAppletTraceManager + +/// 上报可回溯日志 +/// - Parameters: +/// - filePath: 日志的文件路径 +/// - apiServer: ApiServer +/// - appletId: 小程序ID +/// - success: 成功的回调 +/// - failure: 失败的回调 +/// +- (void)reportAppletTraceLog:(NSString *)filePath apiServer:(NSString *)apiServer appletId:(NSString *)appletId success:(void(^)(void))success failure:(void(^)(NSString *errorMessage))failure; + +/// 获取所有小程序的可回溯日志文件路径 +/// - Parameters: +/// - apiServer: 服务器地址 +/// - appletId: 小程序id +/// +- (NSArray *)getAppletTraceLogs:(NSString *)apiServer appletId:(NSString *)appletId; + +/// 根据可回溯日志文件路径删除可回溯日志文件 +/// - Parameter filePath: 可回溯文件日志路径 +/// - Parameter complete: 完成的回调 +/// +- (void)deleteAppletTraceLogFile:(NSString *)filePath complete:(void(^)(void))complete; + +/// 清除所有的小程序可回溯日志文件 +/// - Parameter complete: 完成的回调 +- (void)deleteAllAppletTraceLogFiles:(void(^)(void))complete; + +@end + +NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/NSString+FATPublic.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/NSString+FATPublic.h index e293c7c20ba4abf32b6bd19a6d56b0111675f756..1d3aa2c6f140218ed6a14bb48f8e62a93dccbb0a 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/NSString+FATPublic.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/NSString+FATPublic.h @@ -43,6 +43,9 @@ + (NSString *)fat_sha256:(NSData *)data; +/// 返回按照url的query格式encode后的字符串 +- (NSString *)fat_encodeString; + @end @interface NSData (FATHash) diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIApplication+FATPublic.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIApplication+FATPublic.h index f2db8609a3d083803fc2511f6fdb7642ccf1d6e2..b78b5b8b707696d4dd484d206747a2f4defd63bb 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIApplication+FATPublic.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIApplication+FATPublic.h @@ -26,6 +26,8 @@ NS_ASSUME_NONNULL_BEGIN /// @param viewController 当前的视图控制器 - (BOOL)fat_isFinclipViewController:(UIViewController *_Nonnull)viewController; +- (void)fat_openURL:(NSURL *)URL; + @end NS_ASSUME_NONNULL_END diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIImage+FATPublic.h b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIImage+FATPublic.h index c3044288fb52a70e20b79883af22f9970fa40d48..35ff19b99c80eb02337cf105f6c25187901982df 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIImage+FATPublic.h +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Headers/UIImage+FATPublic.h @@ -93,5 +93,10 @@ /// @param completion completion description + (void)fat_getImageWithUrl:(NSString *)url completion:(void (^)(UIImage *image, NSError *error))completion; + +/// 自动返回主题对应的图片 +/// @param imagePrefixName 图片名称的前缀 (icon1_light、icon1_dart)则传icon1 ++ (UIImage *)fat_autoThemeImageWithPrefixName:(NSString *)imagePrefixName; + @end diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Info.plist b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Info.plist index f16ca69608de63bd26198b3b045cc9bbfbb58978..dd2324b0371270d89ce60a1d0c3c5c5bf9b7fb09 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Info.plist and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/FinApplet.framework/Info.plist differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Info.plist b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Info.plist index d22f4f9648784f522697e65bbe141a9795849826..63deb9a8fdde27994a06377bc60d11819fe4e1a6 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Info.plist and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Info.plist differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Uniplugins_MopSdk b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Uniplugins_MopSdk index 9f8b4550051d4416867b335a72f6e9de721a76e0..0755f08f46b55d5438d796ebde12c9d3f9f20b7c 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Uniplugins_MopSdk and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/Uniplugins_MopSdk differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeDirectory b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeDirectory index bf82cbda73a140e6f1168056bb118223056402c7..8e69ad80d844b5d068a59d39f63e3dae1703d6fd 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeDirectory and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeDirectory differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeRequirements-1 b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeRequirements-1 index 4ba119d4aa84afe2d9fd595db988dc0b2d1bccdd..fd39bda402e262d1f32ca02779e8f07c17b59d49 100644 Binary files a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeRequirements-1 and b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeRequirements-1 differ diff --git a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeResources b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeResources index 2d6d619c171c0495deed6b3269b6173fe1734f80..d66defca7649addd6d1ab9efb3ce2d09f6eb9e52 100644 --- a/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeResources +++ b/finclip-uniapp-test/nativeplugins/MopSdk/ios/Uniplugins_MopSdk.framework/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Info.plist - PgOCNbUm9ydrg3ZVOT4fCESMRsI= + VzmY6aU/pAImKV81SumXfzQMROs= files2 diff --git a/ios-demo.zip b/ios-demo.zip index 0f590bac5eef438604469369a636a5e0f21fbe24..5f3f4a1e7d3b974760e1fe92e5b4457a54f3e3e4 100644 Binary files a/ios-demo.zip and b/ios-demo.zip differ