developer
2023-05-20 e12c7b4c22df631ebdcd16b2f98fbef8f738f92f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//
//  TBMTOPConfigInterface.h
//  MtopSDK
//
//  Created by wuchen.xj on 2019/1/28.
//  Copyright © 2019年 Taobao. All rights reserved.
//
 
#import <Foundation/Foundation.h>
 
NS_ASSUME_NONNULL_BEGIN
 
/**
 * MTOP统一配置接口
 */
@protocol TBMTOPConfigureProtocol <NSObject>
 
/**
 *  获取配置内容,非hig级别配置,首次获取返回空,并触下载相应的配置,如果下载成功,业务方第二次调用此接口会返回远端配置
 *
 *  @param groupName     组名称,不能为nil,区分大小写
 *  @param key           配置的key,不能为nil,区分大小写
 *  @param defaultConfig 缺省值,可以为nil
 *  @param isDefault     返回的是否为缺省值,可以为nil
 *
 *  @return 配置的内容
 */
- (id)getConfigByGroupName:(NSString *)groupName
                       key:(NSString *)key
             defaultConfig:(id)defaultConfig
                 isDefault:(BOOL *)isDefault;
 
/**
 *  获取整个组配置(和服务端的组对应), 业务方无需调用此接口,为测试使用
 *
 *  @param groupName 配置组的名字,区分大小写
 *
 *  @return 组的配置,如为空,返回nil
 */
- (NSDictionary *)getGroupConfigByGroupName:(NSString *)groupName;
 
@end
 
 
/**
 * MTOP统一配置注入实现。
 */
@interface TBMTOPConfigureInterface : NSObject
 
+ (void)setConfigureService:(id<TBMTOPConfigureProtocol>) handler;
 
+ (id<TBMTOPConfigureProtocol>)configureService;
 
@end
 
NS_ASSUME_NONNULL_END