APP-組件通訊 & 頁面路由

一、組件之間的通訊 MKRouter

/* 註冊 */
[[MKRouter sharedInstance] registerHandler:^(MKRouteRequest *request) {
    // 跳轉至商祥頁
    // request.callBack(nil, @{@"productId" : request[@"productId"]});
} forRoute:MKString(@".*product/detail.*\\?(.*)\\&(.*)$")];
  
/* 調用 */
[[MKRouter sharedInstance] handleURL:[NSURL URLWithString:@"weixin://com.apple.iphone/product/detail?productId=ID985632"] params:nil targetCallBack:^(NSError *error, NSDictionary *responseObject) {
        
}];

數據埋點: "appData/click?params={eventId:0925D6A034A58F06}"

商詳跳轉: "product/detail?productId=id1314785643"

二、頁面跳轉(推送、scheme、JSAPI-openURL)MKPageRouter

通過url正則匹配到相關的路由配置,生成對應類型的VC容器,從而實現頁面跳轉(url鏈接必須實現URL編解碼)

native:通過plist配置,找到key對應VC容器的ClassName,或是在args中配置相關的映射規則

weex:獲取weex資源文件lx的下載鏈接,傳遞給weex容器實現資源加載和頁面渲染

flutter:配置相關的routeName,傳遞給FlutterViewController實現flutter端路由的切換

web:直接通過url,生成WebVC,實現頁面跳轉和H5資源加載

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章