逆向分析微信小程序
微信调用openWeAppDestop 方法 进入小程序
先是进入应用列表WAMainListViewController
搜索京东进入MMWebViewController
看了源代码
发现小程序是基于YYUIWebView的也就是内嵌了网页应用,再加上了WebViewJSLogicImpl.sendEventToJSBridge js跟OC互相调用的方法,搞了半天也就那样
具体看相关头文件
YYUIWebView.h
//
//Generated by class-dump 3.5 (64 bit).
//
//class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
//
#import"UIWebView.h"
#import"UIWebViewDelegate.h"
#import"YYWebViewInterface.h"
@classNSString, NSURLRequest, UIScrollView;
@interfaceYYUIWebView : UIWebView
{
_BoolallowsBackForwardNavigationGestures;
id wvDelegate;
}
@property(nonatomic)id wvDelegate;// @synthesize wvDelegate;
@property(nonatomic)_BoolallowsBackForwardNavigationGestures;// @synthesize allowsBackForwardNavigationGestures;
- (void)webView:(id)arg1 didFailLoadWithError:(id)arg2;
- (void)webViewDidFinishLoad:(id)arg1;
- (void)webViewDidStartLoad:(id)arg1;
- (_Bool)webView:(id)arg1 shouldStartLoadWithRequest:(id)arg2 navigationType:(longlong)arg3;
- (void)enableJavaScriptPopup:(_Bool)arg1;
- (void)evaluateJavaScriptFromString:(id)arg1 completionBlock:(CDUnknownBlockType)arg2;
- (id)initWithFrame:(structCGRect)arg1 delegate:(id)arg2;
- (id)initWithFrame:(structCGRect)arg1;
// Remaining properties
@property(nonatomic)_BoolallowsInlineMediaPlayback;
@property(readonly,nonatomic,getter=canGoBack)_BoolcanGoBack;
@property(readonly,nonatomic,getter=canGoForward)_BoolcanGoForward;
@property(readonly,copy) NSString *debugDescription;
@property(readonly,copy) NSString *description;
@property(readonly)unsignedlonglonghash;
@property(readonly,nonatomic,getter=isLoading)_Boolloading;
@property(nonatomic)_BoolmediaPlaybackRequiresUserAction;
@property(readonly,nonatomic) NSURLRequest *request;
@property(nonatomic)_BoolscalesPageToFit;
@property(readonly,nonatomic) UIScrollView *scrollView;
@property(readonly) Class superclass;
@end
WebViewJSLogicImpl.h
//
//Generated by class-dump 3.5 (64 bit).
//
//class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
//
#import"MMObject.h"
#import"JSEventHandler.h"
#import"WebviewJSEventHandlerBaseDelegate.h"
@classNSMutableArray, NSMutableDictionary, NSString, UIView, WebviewJSEventHandlerFacade;
@interfaceWebViewJSLogicImpl : MMObject
{
NSMutableDictionary *_jsCallbackHooks;
NSMutableDictionary *_jsUrlHooks;
NSMutableArray *_jsEvents;
WebviewJSEventHandlerFacade *_jsEventHandlerFacade;
UIView *_webView;
id _delegate;
NSString *_curRandomUUID;
NSString *_curContextUUID;
_Bool_isUseMd5ForJSAPI;
}
@property(retain,nonatomic) UIView *webView;// @synthesize webView=_webView;
@property(nonatomic)__weakid delegate;// @synthesize delegate=_delegate;
- (void).cxx_destruct;
- (void)reportIDKeyForJsApiCall:(id)arg1;
- (void)reportIDKeyForInjectJS;
- (id)sha1:(id)arg1;
- (void)sendEventToJSBridge:(id)arg1 params:(id)arg2 completionBlock:(CDUnknownBlockType)arg3;
- (void)sendMessageToJSBridge:(id)arg1 completionBlock:(CDUnknownBlockType)arg2;
- (void)injectPluginJS;
- (void)injectWeixinJSBridge;
- (void)sendGetA8KeyUrlEvent:(id)arg1;
- (void)markPageWebCached;
- (void)tryInjectWeixinJSBridge:(id)arg1;
- (id)isExistJSApis:(id)arg1;
- (id)webviewController;
- (id)GetCurrentWebviewViewController;
- (void)jsHandlerHandle:(id)arg1;
- (void)onEndEvent:(id)arg1 withResult:(id)arg2;
- (void)setJSAPIFunctionMap:(id)arg1;
- (id)funcDefByName:(id)arg1;
- (void)webviewWillAnimateRotationToInterfaceOrientation:(longlong)arg1 duration:(double)arg2;
- (id)extraDataForNextJSEventCalled:(id)arg1;
- (void)recoverJSAPIEventDelegateWithBackup;
- (void)cleanJSAPIDelegate;
- (void)handleJSApiDispatchMessage:(id)arg1;
- (void)functionCall:(id)arg1 withParams:(id)arg2 withCallbackID:(id)arg3;
- (id)jsEventWithFunction:(id)arg1 params:(id)arg2 callBackID:(id)arg3;
- (void)dealloc;
- (id)init;
// Remaining properties
@property(readonly,copy) NSString *debugDescription;
@property(readonly,copy) NSString *description;
@property(readonly)unsignedlonglonghash;
@property(readonly) Class superclass;
@end
MMWebViewController.h
//
//Generated by class-dump 3.5 (64 bit).
//
//class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
//
#import"MMUIViewController.h"
#import"EnterpriseConnectorLogicDelegate.h"
#import"IUiUtilExt.h"
#import"MMExposeViewControllerDelegate.h"
#import"MMJSApiVerifyMgrDelegate.h"
#import"MMScrollActionSheetDelegate.h"
#import"MMWebViewFontFloatViewDelegate.h"
#import"UIAlertViewDelegate.h"
#import"UIGestureRecognizerDelegate.h"
#import"UIScrollViewDelegate.h"
#import"UIWebViewDelegate.h"
#import"WCActionSheetDelegate.h"
#import"WCForceTouchPopProtocol.h"
#import"WebViewA8KeyLogicDelegate.h"
#import"WebViewJSLogicDelegate.h"
#import"WebViewURLCheckLogicDelegate.h"
#import"YYWebViewDelegate.h"
@classBrandActionReportLogicController, CContact, EnterpriseConnectorLogic, JSConsoleViewController, MMAnimationTipView, MMJSApiVerifyMgr, MMScrollActionSheet, MMURLHandler, MMWebProgressBar, MMWebViewController_SwipeGestureGoBackHistory, MMWebViewPluginScheduler, NSCache, NSMutableArray, NSMutableDictionary, NSMutableSet, NSString, NSURLConnection, UIActivityIndicatorView, UIButton, UIImageView, UILabel, UILongPressGestureRecognizer, UITapGestureRecognizer, UIView, UIView, UIViewController, WCDeepLinkHandler, WCStatTimerHelper, WXGesture, WebViewA8KeyLogicImpl, WebViewJSLogicImpl, WebViewMenuCustomizeLogic, WebViewTimeProfileData, WebViewURLCheckLogic;
@interfaceMMWebViewController : MMUIViewController
{
UIView *webView;
UILabel *m_deeplinkRedirecting;
UIImageView *m_addressBarView;
UILabel *m_addressLabel;
UIButton *m_addressBarBtn;
UIActivityIndicatorView *m_activityView;
MMURLHandler *m_urlHandler;
WXGesture *m_gesture;
NSString *m_initUrl;
WebViewA8KeyLogicImpl *m_a8KeyLogicImpl;
JSConsoleViewController *m_consoleViewController;
WebViewJSLogicImpl *m_jsLogicImpl;
WebViewURLCheckLogic *m_urlCheckLogic;
unsignedintm_uiBackCount;
_Boolm_isPageDidLoaded;
UIButton *m_loadFailView;
NSMutableArray *m_actionSheetRow1;
NSMutableArray *m_actionSheetRow2;
MMScrollActionSheet *m_scrollActionSheet;
WebViewMenuCustomizeLogic *m_menuCustomizeLogic;
NSMutableDictionary *m_jsInitInfo;
WCDeepLinkHandler *m_deepLinkHandler;
EnterpriseConnectorLogic *m_enterpriseConnectorLogic;
_Boolm_bDeepLink;
_Boolm_isScrollMenuScroll;
MMJSApiVerifyMgr *m_apiVerifyMgr;
_Bool_bIsDisablePullDown;
_Bool_bIsDisablePullUp;
CDUnknownBlockType _OnInitReadyNotifyBlock;
CDUnknownBlockType m_blockOnWebViewWillReturn;
_Bool_bIsHideShareMenuByJsApi;
UILabel *m_previewTopBar;
UIView *m_previewTopBarBg;
_Boolm_isPreviewing;
_Boolm_isFinishLoaded;
UIView *_previewSourceView;
UIViewController *_previewFromController;
_Bool_bIsStatusBarBlack;
_Bool_bUseColorfulNavBar;
_Bool_bUseTransparentNaviBar;
_Boolm_bLongPressRightButton;
id m_delegate;
_Boolm_bAutoSetTitle;
NSMutableSet *m_jsTempAllowApiCalls;
_Boolm_isDisableShareMenu;
_Boolm_disalbeStartLoadGetA8Key;
unsignedintm_addScence;
UIView *m_customLoadingView;
UIView *_tailBgView;
_Boolm_bShouldForcedRotationToPortrait;
unsignedintm_stat_enterTime;
WCStatTimerHelper *m_oStatTimerHelper;
longlongm_loadingCount;
UITapGestureRecognizer *_singleTapRec;
unsignedlonglong_singleTapCount;
UILongPressGestureRecognizer *m_longPressGestureRecognizer;
MMWebViewController_SwipeGestureGoBackHistory *swipeGoBackLogic;
_Boolm_openAllPermission;
_Boolm_isPageLoading;
NSString *m_jump;
_Boolm_viewDidAppear;
NSString *m_oLoadingUrl;
WebViewTimeProfileData *m_webTimeProfileData;
_Boolm_isPageLoadFail;
_Boolm_bPresentModal;
_Boolm_bLoadFromLocalServer;
vector_01fc9dba _pIDKeyList;
_Boolm_bHasAnimated;
_Boolm_bOfflinePage;
_Boolm_bIsRefreshOfflinePageAction;
_Boolm_bIFrame;
BrandActionReportLogicController *m_brandActionReport;
NSString *_httpHeadReferer;
_Bool_bIsDraggingScroll;
double_fLastStartOffsetY;
_Bool_bIsForceShowCloseButton;
_Bool_bIsAlreadyReloadWebviewFromJsapi;
_Boolm_bFullScreen;
NSMutableArray *_arrRouteUrl;
_Boolm_bIsCloseWebGL;
unsignedint_startTime;
_Bool_bIsTouchedScreen;
_Bool_bHasFinishLoadOnce;
_Boolm_isLanscape;
_Boolm_bIsJsapiUploadVideoUploading;
_Bool_m_canCache;
_Bool_m_bUserHasClickLink;
_Bool_m_bIsDelayPushWebView;
int_m_webviewType;
NSMutableDictionary *m_extraInfo;
NSCache *m_urlCheckResultCache;
NSString *m_nsJSFitContent;
doublem_fTabBarHeight;
MMWebViewPluginScheduler *_pluginScheduler;
CContact *_brandContact;
MMWebProgressBar *_m_progressBar;
UIView *_m_navBarView;
MMAnimationTipView *_m_animationTipView;
NSURLConnection *_m_connection;
NSString *_m_lastCheckCpKey;
}
@property(retain,nonatomic) NSString *m_lastCheckCpKey;// @synthesize m_lastCheckCpKey=_m_lastCheckCpKey;
@property(retain,nonatomic) NSURLConnection *m_connection;// @synthesize m_connection=_m_connection;
@property(retain,nonatomic) MMAnimationTipView *m_animationTipView;// @synthesize m_animationTipView=_m_animationTipView;
@property(nonatomic)intm_webviewType;// @synthesize m_webviewType=_m_webviewType;
@property(nonatomic)_Boolm_bIsDelayPushWebView;// @synthesize m_bIsDelayPushWebView=_m_bIsDelayPushWebView;
@property(retain,nonatomic) UIView *m_navBarView;// @synthesize m_navBarView=_m_navBarView;
@property(retain,nonatomic) MMWebProgressBar *m_progressBar;// @synthesize m_progressBar=_m_progressBar;
@property(nonatomic)_Boolm_bUserHasClickLink;// @synthesize m_bUserHasClickLink=_m_bUserHasClickLink;
@property(retain,nonatomic) CContact *brandContact;// @synthesize brandContact=_brandContact;
@property(nonatomic)_Boolm_canCache;// @synthesize m_canCache=_m_canCache;
@property(retain,nonatomic) MMWebViewPluginScheduler *pluginScheduler;// @synthesize pluginScheduler=_pluginScheduler;
@property(nonatomic)_Boolm_bIsJsapiUploadVideoUploading;// @synthesize m_bIsJsapiUploadVideoUploading;
@property(nonatomic)_Boolm_bUseTransparentNaviBar;// @synthesize m_bUseTransparentNaviBar=_bUseTransparentNaviBar;
@property(nonatomic)_Boolm_bUseColorfulNavBar;// @synthesize m_bUseColorfulNavBar=_bUseColorfulNavBar;
@property(nonatomic)_Boolm_bIsStatusBarBlack;// @synthesize m_bIsStatusBarBlack=_bIsStatusBarBlack;
@property(nonatomic)_Boolm_bIsHideShareMenuByJsApi;// @synthesize m_bIsHideShareMenuByJsApi=_bIsHideShareMenuByJsApi;
@property(nonatomic)doublem_fTabBarHeight;// @synthesize m_fTabBarHeight;
@property(retain,nonatomic) NSString *m_nsJSFitContent;// @synthesize m_nsJSFitContent;
@property(readonly,nonatomic)_Boolm_isPreviewing;// @synthesize m_isPreviewing;
@property(retain,nonatomic) NSCache *m_urlCheckResultCache;// @synthesize m_urlCheckResultCache;
@property(nonatomic)_Boolm_bDeepLink;// @synthesize m_bDeepLink;
@property(retain,nonatomic) UIImageView *m_addressBarView;// @synthesize m_addressBarView;
@property(retain,nonatomic) UILabel *m_addressLabel;// @synthesize m_addressLabel;
@property(readonly,nonatomic) NSString *m_initUrl;// @synthesize m_initUrl;
@property(retain,nonatomic) NSMutableDictionary *m_extraInfo;// @synthesize m_extraInfo;
@property(retain,nonatomic) UIView *m_customLoadingView;// @synthesize m_customLoadingView;
@property(nonatomic)_Boolm_isLanscape;// @synthesize m_isLanscape;
@property(readonly,nonatomic) WebViewA8KeyLogicImpl *m_a8KeyLogicImpl;// @synthesize m_a8KeyLogicImpl;
@property(readonly,nonatomic) WebViewJSLogicImpl *m_jsLogicImpl;// @synthesize m_jsLogicImpl;
@property(nonatomic)__weakid m_delegate;// @synthesize m_delegate;
@property(retain,nonatomic) UIView *webView;// @synthesize webView;
- (id).cxx_construct;
- (void).cxx_destruct;
- (id)tagForCurrentPage;
- (void)forceShowCloseButton;
- (void)setNotifyWillReturnBlock:(CDUnknownBlockType)arg1;
- (void)setDelayLoadActionBlock:(CDUnknownBlockType)arg1;
- (void)restoreToDefaultNavBar;
- (void)setNavBarBgColor:(id)arg1;
- (id)getWebviewBannerTitle;
- (id)getLeftBarButton;
- (void)setFullScreenNavAlpha:(id)arg1;
- (void)setTailBackGroundColor:(id)arg1;
- (void)viewWillPop:(_Bool)arg1;
- (void)viewWillPush:(_Bool)arg1;
- (void)setFullScreen:(_Bool)arg1;
- (void)enableFullScreen;
- (void)onClickFailView:(id)arg1;
- (void)hideLoadFailView;
- (void)relayoutLoadFailView;
- (void)showLoadFailView:(unsignedint)arg1 errorCode:(longlong)arg2;
- (void)onPreverifyFinished;
- (id)getJSFunctionDef:(id)arg1;
- (_Bool)isGetingA8Key;
- (void)onFinishedHandleJSApi;
- (void)onPageStateChange:(id)arg1;
- (void)onDomReady;
- (void)handleFromWeixinNotify:(id)arg1;
- (id)getCurrentWebviewViewController;
- (_Bool)canAccessJSApi:(id)arg1;
- (id)getAuthorizedMonitorEvents:(id)arg1;
- (void)tryStartOutlinkDetect;
- (unsignedchar)getJSApiPermission:(id)arg1;
- (_Bool)isShowMenuItem:(id)arg1;
- (unsignedchar)getPermissionWithName:(id)arg1;
- (void)processJSAPICall:(id)arg1 funcDef:(id)arg2 funcBlock:(CDUnknownBlockType)arg3 failHandleBlock:(CDUnknownBlockType)arg4 apiPermission:(unsignedchar)arg5;
- (void)url:(id)arg1 DidCheckReturnContentAttribute:(unsignedint)arg2;
- (void)onJumpToEmoticonDetailViewController:(id)arg1;
- (void)onJumpToViewController:(id)arg1;
- (void)onJumpToSafariWithUrl:(id)arg1;
- (void)onUpdatedPermisson;
- (void)onGetA8Key:(_Bool)arg1 Reason:(int)arg2;
- (void)onStartGetA8Key;
- (void)saveJSAPIPermissionsInOfflineCache:(id)arg1 url:(id)arg2;
- (void)saveJSAPIPermissions:(id)arg1 url:(id)arg2;
- (void)saveJSAPIAuthInfo:(id)arg1;
- (void)sendGetA8KeyUrlEvent;
- (void)kvReportJSCall:(id)arg1 withParam:(id)arg2;
- (void)sendEventToJSBridge:(id)arg1 Param:(id)arg2;
- (void)doJsApiInitEvent;
- (void)showWXPayTip;
- (void)updateRightBarButtonWithURL:(id)arg1;
- (void)setCurrentUrl:(id)arg1;
- (unsignedint)getCurrentScene;
- (_Bool)isContentOriginal;
- (_Bool)isCanShowAllMenus;
- (_Bool)isPageDidLoad;
- (id)getCurrentUrl;
- (void)stopForcedRotationToPortrait;
- (void)startForcedRotationToPortrait;
- (void)keyboardDidShow:(id)arg1;
- (void)removeNotificationObservers;
- (void)initNotificationObservers;
- (id)getWebViewTimeProfileData;
- (id)webviewController;
- (void)permitTempAccessOfJSApi:(id)arg1;
- (_Bool)isTempAccessOfJSApiPermitted:(id)arg1;
- (_Bool)isAccessPermitttedByPermissionBitSet:(id)arg1;
- (void)shareToFB;
- (void)immediateDismissWebViewController;
- (void)dismissWebViewController;
- (void)setDisableWebAlertView:(_Bool)arg1;
- (_Bool)isMenuAction:(id)arg1;
- (id)getRequestingOrCurrentUrl;
- (void)onSelectFont:(unsignedint)arg1;
- (_Bool)shoudDelaySetFont;
- (void)dealloc;
- (void)reportWhenDealloc;
- (void)OnClose;
- (void)backToAppIfNeed;
- (void)OnReturn;
- (void)doBackActionCleanWithType:(_Bool)arg1;
- (void)alertView:(id)arg1 clickedButtonAtIndex:(longlong)arg2;
- (void)showAlertUploadingVideo;
- (void)cleanJSAPIDelegate;
- (_Bool)isSvrErrorTipForbidden;
- (void)willDisappear;
- (_Bool)useBlackStatusbar;
- (_Bool)useCustomNavibar;
- (_Bool)useTransparentNavibar;
- (void)applicationWillEnterForeground;
- (void)applicationDidEnterBackground;
- (void)applicationWillResignActive;
- (void)startWebSearch:(id)arg1;
- (void)doSearch:(id)arg1;
- (void)setCustomMenu;
- (void)viewDidLoad;
- (void)willAnimateRotationToInterfaceOrientation:(longlong)arg1 duration:(double)arg2;
- (void)willRotateToInterfaceOrientation:(longlong)arg1 duration:(double)arg2;
- (void)didRotateFromInterfaceOrientation:(longlong)arg1;
- (unsignedlonglong)supportedInterfaceOrientations;
- (_Bool)allowsAutoMediaPlay;
- (_Bool)allowsInlineMediaPlay;
- (void)setCustomLoadingView:(id)arg1;
- (void)webView:(id)arg1 didFailLoadWithError:(id)arg2;
- (void)removeCustomLoadingView;
- (void)delaySetFontsWithSize:(id)arg1;
- (void)webviewDidReceiveScriptMessage:(id)arg1 handler:(id)arg2;
- (void)webViewDidFinishLoad:(id)arg1;
- (void)webViewDidStartLoad:(id)arg1;
- (id)getPreInjectScriptStr;
- (void)handleJumpProfileUrl:(id)arg1 profileRange:(struct_NSRange)arg2;
- (void)delayHandleUrl:(id)arg1;
- (_Bool)isPhoneNumberUrl:(id)arg1;
- (_Bool)webView:(id)arg1 shouldStartLoadWithRequest:(id)arg2 navigationType:(longlong)arg3 isMainFrame:(_Bool)arg4;
- (void)markNeedCheckUrlAndRemoveLastCheckedUrl:(id)arg1;
- (void)delayPopForAppStore;
- (id)getUrlPermission:(id)arg1;
- (_Bool)hasUrlPermission:(id)arg1;
- (id)getLastUrl;
- (void)goToURL:(id)arg1;
- (void)goForward;
- (void)goBack;
- (void)stop;
- (void)clearWebviewCacheAndCookie:(_Bool)arg1;
- (void)cleanWebCacheFromReloadMenuAction;
- (void)reload;
- (id)getRoutUrls;
- (void)onInfoBarButtonClick:(id)arg1;
- (void)onSessionBarButtonClick:(id)arg1;
- (void)createBrandActionReport;
- (void)setShareBarItem:(id)arg1;
- (unsignedint)GetGeneralBitSetForUrl:(id)arg1;
- (_Bool)IsBitsetSet:(unsignedint)arg1 forUrl:(id)arg2;
- (_Bool)allowScanQRCodeByImage;
- (unsignedint)GetPermissionBitSet3;
- (unsignedint)GetPermissionBitSet2;
- (unsignedint)GetPermissionBitSet;
- (unsignedlonglong)GetDeepLinkBitSet;
- (void)done:(id)arg1;
- (void)adjustSubviewRects;
- (void)willDismissAndShow;
- (void)viewWillBeDismissed:(_Bool)arg1;
- (void)viewDidBePoped:(_Bool)arg1;
- (void)viewWillBePoped:(_Bool)arg1;
- (void)viewWillBePushed:(_Bool)arg1;
- (void)viewDidDisappear:(_Bool)arg1;
- (void)viewWillDisappear:(_Bool)arg1;
- (void)viewWillAppear:(_Bool)arg1;
- (void)didAppear;
- (void)willAppear;
- (void)onMenuControllerDidShow:(id)arg1;
- (void)onMenuControllerDidHide:(id)arg1;
- (void)viewDidAppear:(_Bool)arg1;
- (_Bool)isViewDidAppear;
- (void)notifyToJSBridgeVisibilityChanged:(_Bool)arg1;
- (void)loadHTMLString:(id)arg1 baseURL:(id)arg2;
- (id)extraInfo;
- (void)doDNS;
- (void)StartLoadWeb;
- (void)setExtraInfoValue:(id)arg1 forKey:(id)arg2;
- (void)setIsHideShareMenuByJsApi:(_Bool)arg1;
- (void)setDisableShareMenu:(_Bool)arg1;
- (void)setAddFriendScene:(unsignedint)arg1;
- (void)setAutoSetTitle:(_Bool)arg1;
- (void)setWebviewType:(int)arg1;
- (id)getOperationButtonImageNameWithURL:(id)arg1;
- (void)onLongPressOnWebview:(id)arg1;
- (_Bool)abtestCloseWebSingleTapEnable;
- (void)onSingleTap:(id)arg1;
- (void)enableSingleTapDetect;
- (void)enableLongPressDetect;
- (_Bool)gestureRecognizer:(id)arg1 shouldRequireFailureOfGestureRecognizer:(id)arg2;
- (_Bool)gestureRecognizer:(id)arg1 shouldBeRequiredToFailByGestureRecognizer:(id)arg2;
- (_Bool)gestureRecognizer:(id)arg1 shouldReceiveTouch:(id)arg2;
- (_Bool)gestureRecognizer:(id)arg1 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)arg2;
- (_Bool)gestureRecognizerShouldBegin:(id)arg1;
- (void)shouldShowGoBackBtn;
- (void)setSwipeBackInteractiveEnable:(_Bool)arg1;
- (id)initWithURL:(id)arg1 presentModal:(_Bool)arg2 extraInfo:(id)arg3 referer:(id)arg4;
- (id)initWithURL:(id)arg1 presentModal:(_Bool)arg2 extraInfo:(id)arg3 delegate:(id)arg4;
- (id)initWithURL:(id)arg1 presentModal:(_Bool)arg2 extraInfo:(id)arg3;
- (void)internalInitWithUrl:(id)arg1 presentModal:(_Bool)arg2 extraInfo:(id)arg3;
- (_Bool)isABTestAllowUseWkWebview;
- (void)scrollViewDidEndScrollingAnimation:(id)arg1;
- (void)scrollViewDidScroll:(id)arg1;
- (void)scrollViewWillBeginDecelerating:(id)arg1;
- (void)scrollViewDidEndDragging:(id)arg1 willDecelerate:(_Bool)arg2;
- (void)scrollViewWillBeginDragging:(id)arg1;
- (void)resetWebviewInsetOrY;
- (void)calcCurrentWebViewInset:(structUIEdgeInsets *)arg1 y:(double*)arg2 height:(double*)arg3;
- (void)calcCurrentWebViewY:(double*)arg1 height:(double*)arg2;
- (void)restoreAddressBar;
- (void)initAddressBarView;
- (void)initDeeplinkRedirectingView;
- (void)initDeepLinkConfig;
- (id)getVCWithDeepLinkName:(id)arg1;
- (id)getAddressBarHostText:(id)arg1;
- (void)initNavigationBarItem;
- (void)initProgressView;
- (id)getInitUrl;
- (id)getShareUrl;
- (void)setPayTitle:(id)arg1;
- (id)getCurrentAppId;
- (void)setPublisher:(id)arg1;
- (void)setTitle:(id)arg1;
- (void)setRightBarButtonItemEnabled:(_Bool)arg1;
- (void)accessDeepLink:(id)arg1 Url:(id)arg2;
- (void)jumpDeepLink:(id)arg1;
- (_Bool)canAccessDeepLink:(id)arg1 Url:(id)arg2;
- (void)hideAllNonBaseMenuItem;
- (void)showAllNonBaseMenuItem;
- (void)showMenuitemBatch:(id)arg1;
- (void)hideMenuitemBatch:(id)arg1;
- (void)modifyPermissionValue:(id)arg1 permissionValue:(unsignedchar)arg2;
- (void)startupPreVerifyJSAPI:(id)arg1 failHandleBlock:(CDUnknownBlockType)arg2;
- (void)doCleanCookiesForUrl:(id)arg1;
- (void)cleanCookiesIfNeed;
- (void)stopPullDownRefreshAnimation;
- (void)startPullDownRefreshAnimation;
- (void)disablePullDownRefreshMode;
- (void)setEnablePullDownRefreshMode;
- (void)restoreDefaultBackgroundColorAndCleanFooterBounceColor;
- (void)setCustomBackgroundColor:(id)arg1;
- (void)setDisableWebViewScrollViewPullUp;
- (void)setDisableWebViewScrollViewPullDown;
- (void)setDisableWebViewScrollViewBounces;
- (id)colorWithHtmlRGBAString:(id)arg1;
- (void)setEnterpriseConnectorLogic:(id)arg1;
- (id)getEnterpriseConnectorLogic;
- (void)showJSLog:(id)arg1;
- (void)promptForAuthInfo:(id)arg1;
- (void)checkApiAuthorization:(id)arg1;
- (void)reportIDKeyForLoadFinish:(longlong)arg1;
- (void)reportIDKeyForSystemError:(longlong)arg1;
- (void)reportIDKeyForAllRequest;
- (void)logFeature11576WithOpType:(unsignedint)arg1;
- (void)reportWhenClickMenuWithActionType:(unsignedlonglong)arg1;
- (void)onExposeComplete;
- (void)showEnterpriseConnectResult:(id)arg1;
- (void)onEnterpriseConnectFail:(id)arg1;
- (void)onEnterpriseConnectSucceed:(id)arg1;
- (void)onEnterpriseSelectChat:(id)arg1 brand:(id)arg2 logic:(id)arg3;
- (void)onEnterpriseSelectBrand:(id)arg1 logic:(id)arg2;
- (void)onWebViewEditTag;
- (void)onWebViewDelete;
- (void)actionSheet:(id)arg1 clickedButtonAtIndex:(longlong)arg2;
- (void)scrollActionSheetWillDismiss:(id)arg1;
- (void)scrollActionSheetDidScroll:(id)arg1;
- (void)logFeature11577WithOpType:(unsignedlonglong)arg1;
- (void)scrollActionSheet:(id)arg1 didSelecteItem:(id)arg2;
- (void)setupRow1;
- (void)setupRow2;
- (void)setupIconActionSheetCells;
- (void)setupPreShowIconActionSheet;
- (void)AddMemuData:(id)arg1 toRow:(id)arg2;
- (void)setupCustomMenuForJD;
- (void)addJSCustomMenuData:(id)arg1;
- (void)showCustomActionSheet:(id)arg1;
- (void)onOperate:(id)arg1;
- (void)addH5GameExtraButton:(id)arg1;
- (void)addViewBrandContactButtonWithArrary:(id)arg1;
- (void)addReturnBackToNewMainFrameButtonWithArrary:(id)arg1;
- (void)addQQBrowserButtonWithArrary:(id)arg1;
- (void)addShareToWeWorkButtonWithArray:(id)arg1;
- (void)addShareToQZoneButtonWithArray:(id)arg1;
- (void)addShareToQQButtonWithArray:(id)arg1;
- (void)addExposeButtonWithArray:(id)arg1;
- (void)addAdjustFontButtonWithArray:(id)arg1;
- (void)addFavouriteButtonWithArray:(id)arg1;
- (void)addCopyToPasteboardButtonWithArray:(id)arg1;
- (void)addSendToEnterpriseWithArray:(id)arg1;
- (void)addOpenInSafariButtonWithArray:(id)arg1;
- (void)addRefreshButtonWithArray:(id)arg1;
- (void)addSupportBrandToMenuAtEndOf:(id)arg1;
- (id)AddNewActionSheetCell2Array:(id)arg1 WithText:(id)arg2 WithImage:(id)arg3;
- (void)readMode;
- (void)hideChangeFont;
- (void)exposeArticle;
- (void)showChangeFont:(unsignedint)arg1;
- (void)copyToPasteBoard;
- (void)openWithQQBrowser;
- (void)openWithSafari;
- (void)jumpToInstallUrl:(id)arg1;
- (void)shareWithAppMessage:(id)arg1;
- (void)sendToEnterprise;
- (void)shareWithEmail;
- (void)shareToWeWork;
- (void)shareToQZone;
- (void)shareToWeibo;
- (void)shareToQQ;
- (void)shareToFaceBook;
- (void)shareToTimeline;
- (void)setFontWithSize:(longlong)arg1;
- (void)internalShowJSLog:(id)arg1;
- (void)log3DTouchWebViewActionFeatureWithOpType:(id)arg1;
- (id)previewActionItems;
- (id)initForPreviewWithURL:(id)arg1 presentModal:(_Bool)arg2 extraInfo:(id)arg3;
- (void)commitViewController;
- (_Bool)canPop;
@property(nonatomic)__weakUIView *previewSourceView;
@property(nonatomic)__weakUIViewController *previewFromController;
// Remaining properties
@property(readonly,copy) NSString *debugDescription;
@property(readonly,copy) NSString *description;
@property(readonly)unsignedlonglonghash;
@property(readonly) Class superclass;
@end
WAMainListViewController.h
//
//Generated by class-dump 3.5 (64 bit).
//
//class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
//
#import"MMUIViewController.h"
#import"IWAAppEntryExtension.h"
#import"UITableViewDataSource.h"
#import"UITableViewDelegate.h"
#import"WAAppItemManagerExtension.h"
#import"WAContactMgrExtension.h"
#import"WASearchControllerDelegate.h"
#import"WCActionSheetDelegate.h"
@classMMTableView, MMToastViewController, NSDictionary, NSMutableArray, NSMutableDictionary, NSMutableSet, NSString, UISearchBar, UIView, WAAppItemData, WAPackageSweeperLogic, WASearchController;
@interfaceWAMainListViewController : MMUIViewController
{
NSMutableArray *m_historyItems;
NSMutableArray *m_starItems;
NSMutableSet *m_starSet;
NSMutableArray *m_unStarHistoryItemMenuArray;
NSMutableArray *m_staredHistoryItemMenuArray;
NSMutableDictionary *m_contactViewCache;
WAAppItemData *m_appItemToDelete;
WAPackageSweeperLogic *m_sweepLogic;
NSString *m_showSessionId;
_Bool_isShowSearchBar;
NSMutableArray *m_sessionData;
_Bool_isViewHasLayout;
NSString *m_nearByUrl;
unsignedlonglongm_scene;
NSString *m_relatedUserName;
WASearchController *_searchController;
UISearchBar *_searchBar;
UIView *_topNavView;
MMTableView *_tableView;
MMToastViewController *_toastView;
UIView *_emptyView;
NSDictionary *_searchResult;
}
@property(retain,nonatomic) NSDictionary *searchResult;// @synthesize searchResult=_searchResult;
@property(retain,nonatomic) UIView *emptyView;// @synthesize emptyView=_emptyView;
@property(retain,nonatomic) MMToastViewController *toastView;// @synthesize toastView=_toastView;
@property(retain,nonatomic) MMTableView *tableView;// @synthesize tableView=_tableView;
@property(retain,nonatomic) UIView *topNavView;// @synthesize topNavView=_topNavView;
@property(retain,nonatomic) UISearchBar *searchBar;// @synthesize searchBar=_searchBar;
@property(retain,nonatomic) WASearchController *searchController;// @synthesize searchController=_searchController;
@property(copy,nonatomic) NSString *m_relatedUserName;// @synthesize m_relatedUserName;
@property(nonatomic)unsignedlonglongm_scene;// @synthesize m_scene;
- (void).cxx_destruct;
- (void)fixTableViewOffset;
- (void)didEndSearch;
- (void)willBeginSearch;
- (void)reportDestopOpWithAppItem:(id)arg1 eventId:(unsignedlonglong)arg2;
- (void)reportDestopStateWhenViewAppear;
- (void)onWeAppItemUnStared:(id)arg1 errCode:(int)arg2;
- (void)onWeAppItemStared:(id)arg1 errCode:(int)arg2;
- (void)onWeAppItemsInfoUpdated;
- (void)onWeAppItemOpened:(id)arg1;
- (void)openStarListView;
- (_Bool)hasStarSection;
- (id)genStaredHistoryItemMenuArray;
- (id)genUnStarHistoryItemMenuArray;
- (_Bool)hasRunningAppTask;
- (id)getContactByUserName:(id)arg1;
- (void)reloadTableView;
- (void)showTipsViewController:(id)arg1;
- (void)showToast:(id)arg1;
- (void)setAppItemStarState:(_Bool)arg1 appItem:(id)arg2;
- (void)onDeleteAppListItemAtIndexPath:(id)arg1 appItem:(id)arg2;
- (void)onSearchPlaceHolderUpdate:(id)arg1;
- (void)onOpenNearWeApps;
- (void)onNearWeAppUpdate:(id)arg1;
- (void)onModifyWeAppContact:(id)arg1;
- (longlong)tableView:(id)arg1 editingStyleForRowAtIndexPath:(id)arg2;
- (void)tableView:(id)arg1 commitEditingStyle:(longlong)arg2 forRowAtIndexPath:(id)arg3;
- (void)tableView:(id)arg1 didSelectRowAtIndexPath:(id)arg2;
- (double)tableView:(id)arg1 heightForRowAtIndexPath:(id)arg2;
- (double)tableView:(id)arg1 heightForFooterInSection:(longlong)arg2;
- (id)tableView:(id)arg1 cellForRowAtIndexPath:(id)arg2;
- (longlong)tableView:(id)arg1 numberOfRowsInSection:(longlong)arg2;
- (longlong)numberOfSectionsInTableView:(id)arg1;
- (void)actionSheet:(id)arg1 clickedButtonAtIndex:(longlong)arg2;
- (void)onMoreOperate;
- (void)onReturn;
- (void)updateFooter;
- (void)initEmptyView;
- (void)initSearchController;
- (void)initTopNavView;
- (void)initTableView;
- (void)updateNavigationItems;
- (void)initCustomNavigationBar;
- (void)viewDidLayoutSubviews;
- (_Bool)useBlackStatusbar;
- (_Bool)useTransparentNavibar;
- (void)adjustTableViewInset:(id)arg1;
- (void)viewDidAppear:(_Bool)arg1;
- (void)viewWillAppear:(_Bool)arg1;
- (void)viewDidLoad;
- (void)dealloc;
- (void)updateEmptyViewState;
- (longlong)indexOfSessionId:(id)arg1;
- (void)updateSectionData;
- (void)updateData;
- (id)init;
// Remaining properties
@property(readonly,copy) NSString *debugDescription;
@property(readonly,copy) NSString *description;
@property(readonly)unsignedlonglonghash;
@property(readonly) Class superclass;
@end