| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | ////  TDSRouter.h//  TDSCommon////  Created by Insomnia on 2020/11/27.//#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINextern NSString *const TDSRouterURL;extern NSString *const TDSRouterResp;extern NSString *const TDSRouterParams;typedef void (^TDSRouterHandler)(NSDictionary *params);typedef void (^TDSRouterResponse)(NSDictionary *response);/// TDS路由@interface TDSRouter : NSObject/// 注册路由/// @param url 路由路径,例如tds://service,并支持带参数路由tds://service/:user/:age/// @param handler 接收参数,包含了注册的 URL 中对应的变量, 如注册的 URL 为ds://service/:user那么,就会传一个 @{@"user": "tds_name"} 这样的字典过来+ (void)registerServiceWithURL:(NSString *)url handler:(TDSRouterHandler)handler;///  反注册/// @param url 路由路径+ (void)unregisterServiceWithUrl:(NSString *)url;/// 请求路由/// @param url 路由路径+ (void)requestWithURL:(NSString *)url;/// 请求路由/// @param url 路由路径/// @param params 请求参数+ (void)requestWithURL:(NSString *)url params:(NSDictionary * _Nullable)params;/// 请求路由/// @param url 路由路径/// @param params 请求参数/// @param response 返回值字典+ (void)requestWithURL:(NSString *)url params:(NSDictionary * _Nullable)params response:(TDSRouterResponse _Nullable)response;/// 是否存在服务/// @param url 路由路径+ (BOOL)hasServiceWithURL:(NSString *)url;/// 自动拼接路由参数/// @param url 路由路径,例如tds://service/:user/:age/// @param params 数组顺序要与路由参数顺序对应/// @return 生成URL 字符串+ (NSString *)generateWithURL:(NSString *)url params:(NSArray *)params;@endNS_ASSUME_NONNULL_END
 |