MSAppModuleKit 1.1.3

MSAppModuleKit 1.1.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2017年6月

aelam 维护。



  • 作者:
  • Ryan Wang

使用方法

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

要求

安装

MSAppModuleKit 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到您的 Podfile:

pod "MSAppModuleKit"

作者

Ryan Wang, [email protected]

许可证

MSAppModuleKit 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。

模块开发

模块命名

例如:WebApp

名称
模块 MSAppModuleWebApp
设置 MSAppSettingsWebApp
RepoName MSAppModuleWebApp

创建

使用 pod lib create 参考 使用 CocoaPods 创建模块

Finder,查找当前 TopViewController

  1. 自定义 Finder 使用[MSActiveControllerFinder setFinder:[CustomFinder new]]; 应用程序启动时设置它
  2. 运行 [MSActiveControllerFinder finder],您可以得到一个 Finder,如果您不自行实现,[MSActiveControllerFinder finder] 将向您提供一个基于 UITabBarController + UINavigationControllers 结构的 TopViewController
  3. 在您导航之前,您可以执行 [MSActiveControllerFinder finder].resetStatus();(由您自行实现)。通常您可以根据需要关闭 sliderController

开发

设置可以使相同的模块在不同的应用程序中工作!或者您需要做的是在设置类中实现所有模块的设置
id<OneOfYouModuleSettings> settings = [appModuleManager appModuleWithClass:[YourModuleClass class]].moduleSettings;
NSString *productId = settings.productId;
// ...

注册路由

- (void)moduleRegisterRoutes:(JLRoutes *)route {
#if USE_TRADE_FLAG
        [route addRoute:@"trade" priority:0 handler:^BOOL(NSDictionary *parameters) {
            [MSActiveControllerFinder finder].resetStatus();

            NSString *stockCode = parameters[@"stockCode"];
            NSString *tradeType = parameters[@"tradeType"];

            UINavigationController *navController = [MSActiveControllerFinder finder].activeNavigationController();
            [navController pushToTradeStockCode:[stockCode integerValue] withTradeType:[tradeType integerValue]];

            return YES;
        }];
#else
        NSLog(@"模拟器为实现买卖股票");
#endif

}

- (void)moduleUnregisterRoutes:(JLRoutes *)route {
  [route removeRoute:@"trade"]
}

应用架构

App Architecture

推送到规范

使用CocoaPods创建模块

服务器上的模块表

| 页面名称 | 模块名称 | 应用-URL | 网页-URL | pageId | |------ | ---- | ----- |--- | ---- | ----- | | 社区 | Community | community | | | 网络 | WebApp | web | | |