Commit 848b6916ae86201c4586338d961f33ab0fc9a1f8

Authored by yanglingyu
1 parent 1cbbfdbd

0.7.7

CNLiveVideoClassifyKit.podspec
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 8
9 Pod::Spec.new do |s| 9 Pod::Spec.new do |s|
10 s.name = 'CNLiveVideoClassifyKit' 10 s.name = 'CNLiveVideoClassifyKit'
11 - s.version = '0.7.6' 11 + s.version = '0.7.7'
12 s.summary = '视讯头部一二级菜单组件' 12 s.summary = '视讯头部一二级菜单组件'
13 13
14 # This description is used to generate tags and improve search results. 14 # This description is used to generate tags and improve search results.
CNLiveVideoClassifyKit/Classes/SearchView/Model/CNWitnessSearchModel.h
@@ -14,7 +14,19 @@ NS_ASSUME_NONNULL_BEGIN @@ -14,7 +14,19 @@ NS_ASSUME_NONNULL_BEGIN
14 @property (nonatomic, copy)NSString *title; 14 @property (nonatomic, copy)NSString *title;
15 @property (nonatomic, strong)NSArray <NSString *>* list; 15 @property (nonatomic, strong)NSArray <NSString *>* list;
16 @end 16 @end
17 - 17 +///用户认证信息
  18 +@interface CNAuthInfosModel : NSObject
  19 +/// 认证id
  20 +@property (nonatomic, copy)NSString *officialId;
  21 +/// 文字背景色
  22 +@property (nonatomic, copy)NSString *background_color;
  23 +/// 认证图标
  24 +@property (nonatomic, copy)NSString *icon;
  25 +/// 认证名称
  26 +@property (nonatomic, copy)NSString *name;
  27 +/// 字体颜色
  28 +@property (nonatomic, copy)NSString *text_color;
  29 +@end
18 @interface CNWitnessHotModel : NSObject 30 @interface CNWitnessHotModel : NSObject
19 @property (nonatomic, assign)NSInteger sort; 31 @property (nonatomic, assign)NSInteger sort;
20 @property (nonatomic, copy)NSString *value; 32 @property (nonatomic, copy)NSString *value;
@@ -30,7 +42,10 @@ NS_ASSUME_NONNULL_BEGIN @@ -30,7 +42,10 @@ NS_ASSUME_NONNULL_BEGIN
30 @property (nonatomic, strong)NSDictionary *vip; 42 @property (nonatomic, strong)NSDictionary *vip;
31 @property (nonatomic, assign)NSInteger fansNum; 43 @property (nonatomic, assign)NSInteger fansNum;
32 @property (nonatomic, assign)NSInteger focusNum; 44 @property (nonatomic, assign)NSInteger focusNum;
  45 +/// 认证信息
  46 +@property (nonatomic, strong)NSArray<CNAuthInfosModel *>* authInfos;
33 @end 47 @end
  48 +
34 @interface CNToolMessageModel : NSObject 49 @interface CNToolMessageModel : NSObject
35 @property (nonatomic, assign)NSInteger commentsNum; 50 @property (nonatomic, assign)NSInteger commentsNum;
36 @property (nonatomic, strong)NSArray * commentList; 51 @property (nonatomic, strong)NSArray * commentList;
@@ -44,6 +59,7 @@ NS_ASSUME_NONNULL_BEGIN @@ -44,6 +59,7 @@ NS_ASSUME_NONNULL_BEGIN
44 @property (nonatomic, assign)NSInteger collectionNum; 59 @property (nonatomic, assign)NSInteger collectionNum;
45 @property (nonatomic, copy)NSString *sort; 60 @property (nonatomic, copy)NSString *sort;
46 @property (nonatomic, copy)NSString *voted; 61 @property (nonatomic, copy)NSString *voted;
  62 +
47 @end 63 @end
48 @interface CNWitnessSearchDetailModel : NSObject 64 @interface CNWitnessSearchDetailModel : NSObject
49 @property (nonatomic, copy)NSString *title; 65 @property (nonatomic, copy)NSString *title;
CNLiveVideoClassifyKit/Classes/SearchView/Model/CNWitnessSearchModel.m
@@ -15,11 +15,16 @@ @@ -15,11 +15,16 @@
15 15
16 @end 16 @end
17 @implementation CNPersonMessageModel 17 @implementation CNPersonMessageModel
18 - 18 ++ (NSDictionary *)mj_objectClassInArray{
  19 + return @{@"authInfos":@"CNAuthInfosModel"};
  20 +}
19 @end 21 @end
20 @implementation CNToolMessageModel 22 @implementation CNToolMessageModel
21 23
22 @end 24 @end
  25 +@implementation CNAuthInfosModel
  26 +
  27 +@end
23 @implementation CNWitnessSearchDetailModel 28 @implementation CNWitnessSearchDetailModel
24 29
25 @end 30 @end
CNLiveVideoClassifyKit/Classes/SearchView/View/CNWitnessSearchPersonCell.m
@@ -11,6 +11,7 @@ @@ -11,6 +11,7 @@
11 11
12 @interface CNWitnessSearchPersonCell () 12 @interface CNWitnessSearchPersonCell ()
13 @property (nonatomic, strong)UIImageView *logoImage; 13 @property (nonatomic, strong)UIImageView *logoImage;
  14 +@property (nonatomic, strong)UIImageView *authInfoImage;
14 @property (nonatomic, strong)UILabel *nameLabel; 15 @property (nonatomic, strong)UILabel *nameLabel;
15 @property (nonatomic, strong)UILabel *fansNumLabel; 16 @property (nonatomic, strong)UILabel *fansNumLabel;
16 @property (nonatomic, strong)QMUIButton *focusedBtn; 17 @property (nonatomic, strong)QMUIButton *focusedBtn;
@@ -21,6 +22,7 @@ @@ -21,6 +22,7 @@
21 - (instancetype)initWithFrame:(CGRect)frame{ 22 - (instancetype)initWithFrame:(CGRect)frame{
22 if (self = [super initWithFrame:frame]) { 23 if (self = [super initWithFrame:frame]) {
23 [self.contentView addSubview:self.logoImage]; 24 [self.contentView addSubview:self.logoImage];
  25 + [self.contentView addSubview:self.authInfoImage];
24 [self.contentView addSubview:self.nameLabel]; 26 [self.contentView addSubview:self.nameLabel];
25 [self.contentView addSubview:self.fansNumLabel]; 27 [self.contentView addSubview:self.fansNumLabel];
26 [self.contentView addSubview:self.focusedBtn]; 28 [self.contentView addSubview:self.focusedBtn];
@@ -30,6 +32,10 @@ @@ -30,6 +32,10 @@
30 make.centerY.equalTo(self); 32 make.centerY.equalTo(self);
31 make.width.height.mas_equalTo(50); 33 make.width.height.mas_equalTo(50);
32 }]; 34 }];
  35 + [self.authInfoImage mas_makeConstraints:^(MASConstraintMaker *make) {
  36 + make.width.height.mas_equalTo(12);
  37 + make.right.bottom.equalTo(self.logoImage).offset(-2);
  38 + }];
33 [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { 39 [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
34 make.top.equalTo(self.logoImage).offset(4); 40 make.top.equalTo(self.logoImage).offset(4);
35 make.left.equalTo(self.logoImage.mas_right).offset(15); 41 make.left.equalTo(self.logoImage.mas_right).offset(15);
@@ -91,6 +97,10 @@ @@ -91,6 +97,10 @@
91 self.focusedBtn.layer.borderWidth = 0; 97 self.focusedBtn.layer.borderWidth = 0;
92 } 98 }
93 self.focusedBtn.hidden = [CNUserShareModelUid isEqualToString:model.id]; 99 self.focusedBtn.hidden = [CNUserShareModelUid isEqualToString:model.id];
  100 + if (model.authInfos.count>0) {
  101 + CNAuthInfosModel *authModel = model.authInfos[0];
  102 + [self.authInfoImage sd_setImageWithURL:[NSURL URLWithString:authModel.icon]];
  103 + }
94 } 104 }
95 #pragma mark - Getting 105 #pragma mark - Getting
96 - (UIImageView *)logoImage 106 - (UIImageView *)logoImage
@@ -118,6 +128,14 @@ @@ -118,6 +128,14 @@
118 } 128 }
119 return _logoImage; 129 return _logoImage;
120 } 130 }
  131 +- (UIImageView *)authInfoImage
  132 +{
  133 + if (!_authInfoImage) {
  134 + _authInfoImage = [[UIImageView alloc] init];
  135 + _authInfoImage.contentMode = UIViewContentModeScaleAspectFit;
  136 + }
  137 + return _authInfoImage;
  138 +}
121 - (UILabel *)nameLabel 139 - (UILabel *)nameLabel
122 { 140 {
123 if (!_nameLabel) { 141 if (!_nameLabel) {
CNLiveVideoClassifyKit/Classes/SearchView/View/CNWitnessSearchVideoCell.m
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
15 @property (nonatomic, strong)UIImageView *playImage; 15 @property (nonatomic, strong)UIImageView *playImage;
16 @property (nonatomic, strong)UILabel *titleLabel; 16 @property (nonatomic, strong)UILabel *titleLabel;
17 @property (nonatomic, strong)UIImageView *logoImage; 17 @property (nonatomic, strong)UIImageView *logoImage;
  18 +@property (nonatomic, strong)UIImageView *authInfoImage;
18 @property (nonatomic, strong)UILabel *nameLabel; 19 @property (nonatomic, strong)UILabel *nameLabel;
19 @property (nonatomic, strong)QMUIButton *likeBtn; 20 @property (nonatomic, strong)QMUIButton *likeBtn;
20 @end 21 @end
@@ -27,6 +28,7 @@ @@ -27,6 +28,7 @@
27 [self.videoImage addSubview:self.playImage]; 28 [self.videoImage addSubview:self.playImage];
28 [self.bgView addSubview:self.titleLabel]; 29 [self.bgView addSubview:self.titleLabel];
29 [self.bgView addSubview:self.logoImage]; 30 [self.bgView addSubview:self.logoImage];
  31 + [self.bgView addSubview:self.authInfoImage];
30 [self.bgView addSubview:self.nameLabel]; 32 [self.bgView addSubview:self.nameLabel];
31 [self.bgView addSubview:self.likeBtn]; 33 [self.bgView addSubview:self.likeBtn];
32 [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) { 34 [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -51,6 +53,10 @@ @@ -51,6 +53,10 @@
51 make.left.equalTo(self.contentView).offset(10); 53 make.left.equalTo(self.contentView).offset(10);
52 make.width.height.mas_equalTo(21); 54 make.width.height.mas_equalTo(21);
53 }]; 55 }];
  56 + [self.authInfoImage mas_makeConstraints:^(MASConstraintMaker *make) {
  57 + make.width.height.mas_equalTo(6);
  58 + make.right.bottom.equalTo(self.logoImage).offset(-1);
  59 + }];
54 [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { 60 [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
55 make.centerY.equalTo(self.logoImage); 61 make.centerY.equalTo(self.logoImage);
56 make.left.equalTo(self.logoImage.mas_right).offset(5); 62 make.left.equalTo(self.logoImage.mas_right).offset(5);
@@ -118,6 +124,10 @@ @@ -118,6 +124,10 @@
118 [self.likeBtn setTitle:[NSString stringWithFormat:@"%ld",model.tool.likesNum] forState:UIControlStateNormal]; 124 [self.likeBtn setTitle:[NSString stringWithFormat:@"%ld",model.tool.likesNum] forState:UIControlStateNormal];
119 [self.likeBtn setTitle:[NSString stringWithFormat:@"%ld",model.tool.likesNum] forState:UIControlStateSelected]; 125 [self.likeBtn setTitle:[NSString stringWithFormat:@"%ld",model.tool.likesNum] forState:UIControlStateSelected];
120 self.likeBtn.selected = _model.tool.liked; 126 self.likeBtn.selected = _model.tool.liked;
  127 + if (model.icon.authInfos.count>0) {
  128 + CNAuthInfosModel *authModel = model.icon.authInfos[0];
  129 + [self.authInfoImage sd_setImageWithURL:[NSURL URLWithString:authModel.icon]];
  130 + }
121 [self.likeBtn sizeToFit]; 131 [self.likeBtn sizeToFit];
122 } 132 }
123 #pragma mark - Getting 133 #pragma mark - Getting
@@ -169,6 +179,14 @@ @@ -169,6 +179,14 @@
169 } 179 }
170 return _logoImage; 180 return _logoImage;
171 } 181 }
  182 +- (UIImageView *)authInfoImage
  183 +{
  184 + if (!_authInfoImage) {
  185 + _authInfoImage = [[UIImageView alloc] init];
  186 + _authInfoImage.contentMode = UIViewContentModeScaleAspectFit;
  187 + }
  188 + return _authInfoImage;
  189 +}
172 - (UILabel *)nameLabel 190 - (UILabel *)nameLabel
173 { 191 {
174 if (!_nameLabel) { 192 if (!_nameLabel) {
Example/Podfile.lock
@@ -138,48 +138,48 @@ PODS: @@ -138,48 +138,48 @@ PODS:
138 - CNLiveUserManagement 138 - CNLiveUserManagement
139 - WebViewJavascriptBridge 139 - WebViewJavascriptBridge
140 - CNLiveEnvironment (0.4.5) 140 - CNLiveEnvironment (0.4.5)
141 - - CNLiveNewTripartiteManagement/AFNetworking (0.2.0.8): 141 + - CNLiveNewTripartiteManagement/AFNetworking (0.2.0.9):
142 - AFNetworking (= 4.0.0) 142 - AFNetworking (= 4.0.0)
143 - - CNLiveNewTripartiteManagement/Masonry (0.2.0.8): 143 + - CNLiveNewTripartiteManagement/Masonry (0.2.0.9):
144 - Masonry (= 1.1.0) 144 - Masonry (= 1.1.0)
145 - - CNLiveNewTripartiteManagement/MJExtension (0.2.0.8): 145 + - CNLiveNewTripartiteManagement/MJExtension (0.2.0.9):
146 - MJExtension (= 3.2.1) 146 - MJExtension (= 3.2.1)
147 - - CNLiveNewTripartiteManagement/MJRefresh (0.2.0.8): 147 + - CNLiveNewTripartiteManagement/MJRefresh (0.2.0.9):
148 - MJRefresh (= 3.2.0) 148 - MJRefresh (= 3.2.0)
149 - - CNLiveNewTripartiteManagement/QMUIKit (0.2.0.8): 149 + - CNLiveNewTripartiteManagement/QMUIKit (0.2.0.9):
150 - QMUIKit (= 4.2.1) 150 - QMUIKit (= 4.2.1)
151 - - CNLiveNewTripartiteManagement/SDCycleScrollView (0.2.0.8): 151 + - CNLiveNewTripartiteManagement/SDCycleScrollView (0.2.0.9):
152 - SDCycleScrollView (= 1.80) 152 - SDCycleScrollView (= 1.80)
153 - - CNLiveNewTripartiteManagement/SDWebImage (0.2.0.8): 153 + - CNLiveNewTripartiteManagement/SDWebImage (0.2.0.9):
154 - SDWebImage (= 5.2.3) 154 - SDWebImage (= 5.2.3)
155 - - CNLiveNewTripartiteManagement/SSZipArchive (0.2.0.8): 155 + - CNLiveNewTripartiteManagement/SSZipArchive (0.2.0.9):
156 - SSZipArchive (= 2.1.5) 156 - SSZipArchive (= 2.1.5)
157 - - CNLiveNewTripartiteManagement/WechatOpenSDK (0.2.0.8): 157 + - CNLiveNewTripartiteManagement/WechatOpenSDK (0.2.0.9):
158 - WechatOpenSDK (= 1.8.7.1) 158 - WechatOpenSDK (= 1.8.7.1)
159 - - CNLiveNewTripartiteManagement/WeiboSDK (0.2.0.8):  
160 - - Weibo_SDK (= 3.2.7)  
161 - - CNLiveNewTripartiteManagement/YYAsyncLayer (0.2.0.8): 159 + - CNLiveNewTripartiteManagement/WeiboSDK (0.2.0.9):
  160 + - Weibo_SDK (= 3.3.0)
  161 + - CNLiveNewTripartiteManagement/YYAsyncLayer (0.2.0.9):
162 - YYAsyncLayer (= 1.0) 162 - YYAsyncLayer (= 1.0)
163 - - CNLiveNewTripartiteManagement/YYCache (0.2.0.8): 163 + - CNLiveNewTripartiteManagement/YYCache (0.2.0.9):
164 - YYCache (= 1.0.4) 164 - YYCache (= 1.0.4)
165 - - CNLiveNewTripartiteManagement/YYCategories (0.2.0.8): 165 + - CNLiveNewTripartiteManagement/YYCategories (0.2.0.9):
166 - YYCategories (= 1.0.4) 166 - YYCategories (= 1.0.4)
167 - - CNLiveNewTripartiteManagement/YYDispatchQueuePool (0.2.0.8): 167 + - CNLiveNewTripartiteManagement/YYDispatchQueuePool (0.2.0.9):
168 - YYDispatchQueuePool (= 1.0) 168 - YYDispatchQueuePool (= 1.0)
169 - - CNLiveNewTripartiteManagement/YYImage (0.2.0.8): 169 + - CNLiveNewTripartiteManagement/YYImage (0.2.0.9):
170 - YYImage (= 1.0.4) 170 - YYImage (= 1.0.4)
171 - - CNLiveNewTripartiteManagement/YYKeyboardManager (0.2.0.8): 171 + - CNLiveNewTripartiteManagement/YYKeyboardManager (0.2.0.9):
172 - YYKeyboardManager (= 1.0.1) 172 - YYKeyboardManager (= 1.0.1)
173 - - CNLiveNewTripartiteManagement/YYModel (0.2.0.8): 173 + - CNLiveNewTripartiteManagement/YYModel (0.2.0.9):
174 - YYModel (= 1.0.4) 174 - YYModel (= 1.0.4)
175 - - CNLiveNewTripartiteManagement/YYText (0.2.0.8): 175 + - CNLiveNewTripartiteManagement/YYText (0.2.0.9):
176 - YYText (= 1.0.7) 176 - YYText (= 1.0.7)
177 - - CNLiveNewTripartiteManagement/YYWebImage (0.2.0.8): 177 + - CNLiveNewTripartiteManagement/YYWebImage (0.2.0.9):
178 - YYWebImage (= 1.0.5) 178 - YYWebImage (= 1.0.5)
179 - - CNLiveRequestBastKit (0.2.5.8): 179 + - CNLiveRequestBastKit (0.2.6.0):
180 - AFNetworking 180 - AFNetworking
181 - CNLiveSDK/CNLiveStat (0.3.5.0) 181 - CNLiveSDK/CNLiveStat (0.3.5.0)
182 - - CNLiveShareToolKit (0.4.4): 182 + - CNLiveShareToolKit (0.4.6):
183 - CNLiveCommonCategory 183 - CNLiveCommonCategory
184 - CNLiveEnvironment 184 - CNLiveEnvironment
185 - CNLiveNewTripartiteManagement/AFNetworking 185 - CNLiveNewTripartiteManagement/AFNetworking
@@ -194,7 +194,7 @@ PODS: @@ -194,7 +194,7 @@ PODS:
194 - CNLiveTencentopenapi (0.0.3) 194 - CNLiveTencentopenapi (0.0.3)
195 - CNLiveUserManagement (0.1.5): 195 - CNLiveUserManagement (0.1.5):
196 - CNLiveNewTripartiteManagement/MJExtension 196 - CNLiveNewTripartiteManagement/MJExtension
197 - - CNLiveVideoClassifyKit (0.6.8): 197 + - CNLiveVideoClassifyKit (0.7.6):
198 - CNLiveBaseKit 198 - CNLiveBaseKit
199 - CNLiveBaseTools 199 - CNLiveBaseTools
200 - CNLiveBeeHive 200 - CNLiveBeeHive
@@ -560,7 +560,7 @@ PODS: @@ -560,7 +560,7 @@ PODS:
560 - UMDevice (2.2.1) 560 - UMDevice (2.2.1)
561 - WebViewJavascriptBridge (6.0.3) 561 - WebViewJavascriptBridge (6.0.3)
562 - WechatOpenSDK (1.8.7.1) 562 - WechatOpenSDK (1.8.7.1)
563 - - Weibo_SDK (3.2.7) 563 + - Weibo_SDK (3.3.0)
564 - YYAsyncLayer (1.0) 564 - YYAsyncLayer (1.0)
565 - YYCache (1.0.4) 565 - YYCache (1.0.4)
566 - YYCategories (1.0.4): 566 - YYCategories (1.0.4):
@@ -648,13 +648,13 @@ SPEC CHECKSUMS: @@ -648,13 +648,13 @@ SPEC CHECKSUMS:
648 CNLiveCustomUI: d33b487d45d7c2411d12cf63ed2aaefe2cb02273 648 CNLiveCustomUI: d33b487d45d7c2411d12cf63ed2aaefe2cb02273
649 CNLiveCWebViewModule: 7f48305d603dd362943b4fc24f888a8ee77fe639 649 CNLiveCWebViewModule: 7f48305d603dd362943b4fc24f888a8ee77fe639
650 CNLiveEnvironment: ceec94d48016f2c76794ba0e19d9bf343f091065 650 CNLiveEnvironment: ceec94d48016f2c76794ba0e19d9bf343f091065
651 - CNLiveNewTripartiteManagement: 8cb5eb9c78bf45ce75d505c9ad6cf72d257df2c3  
652 - CNLiveRequestBastKit: 2c4834ecb6abf2f1191100b2e904d16a79bcb3c4 651 + CNLiveNewTripartiteManagement: 7fb07741462b67e290997f80efc42a3df47049bc
  652 + CNLiveRequestBastKit: ef3ebe292acaf2922189ea8b46cc8a9ef48b0b33
653 CNLiveSDK: 31b81f0296df1aeff28134e93d006a5e96f0f31f 653 CNLiveSDK: 31b81f0296df1aeff28134e93d006a5e96f0f31f
654 - CNLiveShareToolKit: f910a6cb6bac6038e27d582dd7e0b8c41ca4778f 654 + CNLiveShareToolKit: c9e31fc76e9559f1a675aea6c2237ef153aaecee
655 CNLiveTencentopenapi: d7c4cea634f51cae6aa61286dc3847193246dc6d 655 CNLiveTencentopenapi: d7c4cea634f51cae6aa61286dc3847193246dc6d
656 CNLiveUserManagement: ead053f2d701b01ea8fb5f1da572be788f2dd3cf 656 CNLiveUserManagement: ead053f2d701b01ea8fb5f1da572be788f2dd3cf
657 - CNLiveVideoClassifyKit: 3f81acad60edb8cecaebf6b94fdc29bdaf194570 657 + CNLiveVideoClassifyKit: ef860faa9ce04b5506d7d6562ba4019147948da4
658 JXCategoryView: 7b1ee69ede4843c581688afe84d0f047723262f2 658 JXCategoryView: 7b1ee69ede4843c581688afe84d0f047723262f2
659 Masonry: 678fab65091a9290e40e2832a55e7ab731aad201 659 Masonry: 678fab65091a9290e40e2832a55e7ab731aad201
660 MJExtension: 635f2c663dcb1bf76fa4b715b2570a5710aec545 660 MJExtension: 635f2c663dcb1bf76fa4b715b2570a5710aec545
@@ -669,7 +669,7 @@ SPEC CHECKSUMS: @@ -669,7 +669,7 @@ SPEC CHECKSUMS:
669 UMDevice: 053478c4b4d7292f31f0a275c227d3c4007a5571 669 UMDevice: 053478c4b4d7292f31f0a275c227d3c4007a5571
670 WebViewJavascriptBridge: 7f5bc4d3581e672e8f32bd0f812d54bc69bb8e29 670 WebViewJavascriptBridge: 7f5bc4d3581e672e8f32bd0f812d54bc69bb8e29
671 WechatOpenSDK: 6a4d1436c15b3b5fe2a0bd383f3046010186da44 671 WechatOpenSDK: 6a4d1436c15b3b5fe2a0bd383f3046010186da44
672 - Weibo_SDK: 5a4d08f7e1fedbb635435e4585c8c0439c7da089 672 + Weibo_SDK: 7478846cccb43c4785ba76b214115fb7ec9dc0d4
673 YYAsyncLayer: df6b01ebc695c5f6b4c15dd5c23fa3e081eb25c0 673 YYAsyncLayer: df6b01ebc695c5f6b4c15dd5c23fa3e081eb25c0
674 YYCache: 8105b6638f5e849296c71f331ff83891a4942952 674 YYCache: 8105b6638f5e849296c71f331ff83891a4942952
675 YYCategories: 6bcd4314c6661a561410dce4a793379ebd306abd 675 YYCategories: 6bcd4314c6661a561410dce4a793379ebd306abd