cocoapods-aomi-bin 0.1.21 → 0.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cea7471eae842634649c220a62e11f4589f20634d5b9c0808f4408316b49d3de
4
- data.tar.gz: 643fc2465fc83994e6438ccb12f9f93c8aa0b94762bf98c1e1fbb63c08567fc7
3
+ metadata.gz: 61ce22dc3e41408e8777e312780ce5a0a313acd15344f6026371e119d4af87f4
4
+ data.tar.gz: c0d34b7525c2ada3970d6d758a5082c67f8bbe00826f459571be509ea42de8eb
5
5
  SHA512:
6
- metadata.gz: 71c5d7acda6dc021b007cb27b81bc7ddc37b8d24f6a143236650d8054b07231fd1d98fe25df236b901530c2990f53716df4473ebd33b55f62e1d3dde62896d8d
7
- data.tar.gz: 2256e7b73731522f3e649141332db91f3328b2c0d83cfd0c84feb4ab4e4d57de8b021ee624cf5e29efd3f26dc6813f2e326f69ac6cdebc27fede34a5a2d6936d
6
+ metadata.gz: aacb0bf501176001a01146859b4a460c7d3be79c907d2d9f4e9d15f00aaf40a11d06569587d8845bdbfe8c4a2b7f83ede9633a79bf3a864ecfa979cb574df52b
7
+ data.tar.gz: 9fc30ba67b383560b301bbd41e637904dade14a4f6afb451f45419830d514b08551b4db053e0715cf9f6b80a76c0ac27180ad71fe6d7a295d0294e58cfd8634c
@@ -59,7 +59,7 @@ module Pod
59
59
  end
60
60
 
61
61
  def validate!
62
- # super
62
+ super
63
63
  # 这里由于 --help 是在 validate! 方法中提取的,会导致 --help 失效
64
64
  # pod lib create 也有这个问题
65
65
  banner! if @help
@@ -1,6 +1,7 @@
1
1
  require 'net/https'
2
2
  require 'uri'
3
3
  require 'json'
4
+ require 'plist'
4
5
 
5
6
  module Pod
6
7
  class Command
@@ -15,6 +16,20 @@ module Pod
15
16
  end
16
17
 
17
18
  def run
19
+ gen_model
20
+ # handle_plist
21
+ end
22
+
23
+ def handle_plist
24
+ entitlements_file = File.expand_path('~/config.plist')
25
+ result = Plist.parse_xml(entitlements_file)
26
+ result.delete('com.apple.security.application-groups')
27
+ result['type'] = '0'
28
+ result.delete('version')
29
+ result.save_plist(entitlements_file)
30
+ end
31
+
32
+ def gen_model
18
33
  model = fetch_model
19
34
  fetch_models(nil, model) if model
20
35
  print_models
@@ -7,12 +7,35 @@ module Pod
7
7
  def initialize(argv)
8
8
  @name = argv.option('name', 'titleLabel')
9
9
  @type = argv.option('type', 'UILabel')
10
+ super
10
11
  end
11
12
 
12
13
  def names
13
14
  @name.split(",").map(&:strip)
14
15
  end
15
16
 
17
+ def type
18
+ @ele_type ||= begin
19
+ if @type =~ /image/i
20
+ 'UIImageView'
21
+ elsif @type =~ /stack/i
22
+ 'UIStackView'
23
+ elsif @type =~ /label/i
24
+ 'UILabel'
25
+ elsif @type =~ /table/i
26
+ 'UITableView'
27
+ elsif @type =~ /text/i
28
+ 'UITextField'
29
+ elsif @type =~ /button/i
30
+ 'UIButton'
31
+ elsif @type =~ /view/i
32
+ 'UIView'
33
+ else
34
+ @type
35
+ end
36
+ end
37
+ end
38
+
16
39
  def run
17
40
  print_declare
18
41
  puts "\n\n"
@@ -26,13 +49,13 @@ module Pod
26
49
  def print_declare
27
50
  names.each do |name|
28
51
  puts "///"
29
- puts "@property (nonatomic, strong) #{@type} *#{name};"
52
+ puts "@property (nonatomic, strong) #{type} *#{name};"
30
53
  end
31
54
  end
32
55
 
33
56
  def print_instance
34
57
  names.each do |name|
35
- puts "-(#{@type} *)#{name}"
58
+ puts "-(#{type} *)#{name}"
36
59
  puts "{"
37
60
  puts " if(!_#{name}){"
38
61
  print_alloc(name)
@@ -46,37 +69,50 @@ module Pod
46
69
  end
47
70
 
48
71
  def print_alloc(name)
49
- if @type.eql?('UIImageView')
72
+ if type.eql?('UIImageView')
50
73
  puts " _#{name} = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@\"xxxx\"]];"
51
- elsif @type.eql?('UIButton')
74
+ elsif type.eql?('UIButton')
52
75
  puts " _#{name} = [UIButton buttonWithType:UIButtonTypeCustom];"
76
+ elsif type.eql?('UITableView')
77
+ puts " _#{name} = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];"
53
78
  else
54
- puts " _#{name} = [[#{@type} alloc] init];"
79
+ puts " _#{name} = [[#{type} alloc] init];"
55
80
  end
56
81
  end
57
82
 
58
83
  def print_property(name)
59
- if @type.eql?('UILabel')
84
+ if type.eql?('UILabel')
60
85
  puts " _#{name}.textColor = kSetCOLOR(0x333333);"
61
86
  puts " _#{name}.text = @\"xxxxxxxx\";"
62
87
  puts " _#{name}.font = [UIFont systemFontOfSize:12.0 weight:UIFontWeightRegular];"
63
88
  puts " _#{name}.textAlignment = NSTextAlignmentCenter;"
64
- elsif @type.eql?('UIImageView')
89
+ elsif type.eql?('UIImageView')
65
90
  puts " _#{name}.backgroundColor = kBackgroundColor;"
66
91
  puts " _#{name}.contentMode = UIViewContentModeScaleAspectFit;"
67
92
  puts " _#{name}.clipsToBounds = YES;"
68
93
  puts " _#{name}.layer.cornerRadius = 6.0f;"
69
94
  puts " _#{name}.layer.borderColor = kLineColor.CGColor;"
70
95
  puts " _#{name}.layer.borderWidth = 0.5;"
71
- elsif @type.eql?('UITextField')
96
+ elsif type.eql?('UITextField')
72
97
  puts " _#{name}.textColor = kSetCOLOR(0x333333);"
73
98
  puts " _#{name}.font = [UIFont systemFontOfSize:12.0 weight:UIFontWeightRegular];"
74
- elsif @type.eql?('UIView')
99
+ elsif type.eql?('UIView')
100
+ puts " _#{name}.backgroundColor = kBackgroundColor;"
101
+ elsif type.eql?('UIStackView')
102
+ puts " _#{name}.axis = UILayoutConstraintAxisHorizontal;"
103
+ puts " _#{name}.distribution = UIStackViewDistributionFillEqually;"
104
+ elsif type.eql?('UITableView')
75
105
  puts " _#{name}.backgroundColor = kBackgroundColor;"
76
- elsif @type.eql?('UIButton')
106
+ puts " _#{name}.delegate = self;"
107
+ puts " _#{name}.delegate = self;"
108
+ puts " _#{name}.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];"
109
+ puts " _#{name}.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];"
110
+ puts " _#{name}.separatorStyle = UITableViewCellSeparatorStyleNone;"
111
+ elsif type.eql?('UIButton')
77
112
  puts " _#{name}.backgroundColor = kBackgroundColor;"
78
113
  puts " [_#{name} setTitle:@\"xxx\" forState:UIControlStateNormal];"
79
114
  puts " [_#{name} setTitleColor:kSetCOLOR(0x999999) forState:UIControlStateNormal];"
115
+ puts " _#{name}.titleLabel.font = [UIFont systemFontOfSize:14.0 weight:UIFontWeightRegular];"
80
116
  puts " [_#{name} setImage:[UIImage imageNamed:@\"xx\"] forState:UIControlStateNormal];"
81
117
  puts " [_#{name} setImage:[UIImage imageNamed:@\"xx\"] forState:UIControlStateSelected];"
82
118
  puts " [_#{name} addTarget:self action:@selector(actionHandler:) forControlEvents:UIControlEventTouchUpInside];"
@@ -90,13 +126,15 @@ module Pod
90
126
  puts "[self.#{name}.trailingAnchor constraintEqualToAnchor:contentView.trailingAnchor constant:0].active = YES;"
91
127
  puts "[self.#{name}.topAnchor constraintEqualToAnchor:contentView.topAnchor].active = YES;"
92
128
  puts "[self.#{name}.bottomAnchor constraintEqualToAnchor:contentView.bottomAnchor].active = YES;"
129
+ puts "[self.#{name}.widthAnchor constraintEqualToConstant:80].active = YES;"
130
+ puts "[self.#{name}.heightAnchor constraintEqualToAnchor:80].active = YES;"
93
131
  puts "\n\n"
94
132
  end
95
133
  end
96
134
 
97
135
  def print_value
98
136
  names.each do |name|
99
- if @type.eql?('UILabel')
137
+ if type.eql?('UILabel')
100
138
  puts "self.#{name}.text = @\"xxxxx\";"
101
139
  end
102
140
  end
@@ -8,9 +8,18 @@ module Pod
8
8
  class Yapi < Bin
9
9
  self.summary = '通过yapi接口生成请求'
10
10
 
11
+ def self.options
12
+ [
13
+ %w[--id api的id],
14
+ %w[--model-pre 模型的前缀],
15
+ %w[--save 保存生成文件]
16
+ ]
17
+ end
18
+
11
19
  def initialize(argv)
12
20
  @id = argv.option('id')
13
21
  @model_pre_name = argv.option('model-pre')
22
+ @save = argv.flag?('save', false)
14
23
  @http_url = ''
15
24
  @http_headers = []
16
25
  @data_json = {}
@@ -20,12 +29,43 @@ module Pod
20
29
  @type_trans = {}
21
30
  @config_model_names = []
22
31
  @model_names = []
32
+ super
23
33
  end
24
34
 
25
35
  def run
26
36
  load_config
27
37
  fetch_model
28
38
  print_methods
39
+ save_to_file if @save
40
+ end
41
+
42
+ def test_ding
43
+ require 'net/http'
44
+ require 'uri'
45
+ body = { "msgtype" => "text", "text" => { "content" => "error:上传蒲公英超时失败!" } }.to_json
46
+ Net::HTTP.post(URI('https://oapi.dingtalk.com/robot/send?access_token=6a3519057170cdb1b7274edfe43934c84a0062ffe2c9bcced434699296a7e26e'), body, "Content-Type" => "application/json")
47
+ end
48
+
49
+ def puts_h(str)
50
+ puts str
51
+ @h_file_array ||= []
52
+ @h_file_array << str
53
+ end
54
+
55
+ def puts_m(str)
56
+ puts str
57
+ @m_file_array ||= []
58
+ @m_file_array << str
59
+ end
60
+
61
+ def save_to_file
62
+ @model_names = []
63
+ file_name = gen_model_name('')
64
+ h_file = File.join('.', "#{file_name}.h")
65
+ m_file = File.join('.', "#{file_name}.m")
66
+ File.write(h_file, @h_file_array.join("\n")) if @h_file_array.count > 0
67
+ File.write(m_file, @m_file_array.join("\n")) if @m_file_array.count > 0
68
+ puts "\n\n生成文件成功!所在路径:\n#{File.expand_path(h_file)} \n#{File.expand_path(m_file)}"
29
69
  end
30
70
 
31
71
  def url_str
@@ -161,24 +201,25 @@ module Pod
161
201
  @models.each do |model|
162
202
  model_name = model[:name] || ''
163
203
  model_properties = model[:properties]
164
- puts "@interface #{model_name} : NSObject"
204
+ puts_h "@interface #{model_name} : NSObject"
165
205
  model_properties.each do |m|
166
206
  print_model(m)
167
207
  end
168
- puts "@end\n\n\n"
208
+ puts_h "@end\n\n\n"
169
209
  end
170
210
  end
171
211
 
172
212
  def print_models_implementation
173
213
  @models.each do |model|
174
- puts "@implementation #{model[:name]}"
214
+ puts_m "@implementation #{model[:name]}"
175
215
  str = model[:properties].filter { |p| p[:type].eql?('array') && !p[:type_name].eql?('NSString') }.map{ |p| "@\"#{p[:key]}\": #{p[:type_name]}.class" }.join(', ')
176
216
  if str && str.length > 0
177
- puts "+(NSDictionary *)modelContainerPropertyGenericClass {"
178
- puts " return @{#{str}};"
179
- puts "}"
217
+ puts_m "+(NSDictionary *)modelContainerPropertyGenericClass {"
218
+ puts_m " return @{#{str}};"
219
+ puts_m "}"
180
220
  end
181
- puts "@end\n\n\n"
221
+ puts_m "@end\n"
222
+ puts "\n\n"
182
223
  end
183
224
  end
184
225
 
@@ -187,63 +228,68 @@ module Pod
187
228
  type_name = m[:type_name]
188
229
  type = m[:type]
189
230
  des = m[:description] || ''
190
- des.gsub!(/\n/, '')
231
+ des.gsub!(/\n/, ' ')
191
232
  default = m[:default]
192
- puts "///#{des} #{default}"
233
+ puts_h "///#{des} #{default}"
193
234
  if type.eql?('integer')
194
- puts "@property (nonatomic, assign) NSInteger #{key};"
235
+ puts_h "@property (nonatomic, assign) NSInteger #{key};"
236
+ if des.include?('分')
237
+ puts_h "/////////==========删掉其中一个属性"
238
+ puts_h "@property (nonatomic, strong) MLCentNumber *#{key};"
239
+ end
195
240
  elsif type.eql?('cent')
196
- puts "@property (nonatomic, strong) MLCentNumber *#{key};"
241
+ puts_h "@property (nonatomic, strong) MLCentNumber *#{key};"
197
242
  elsif type.eql?('string')
198
- puts "@property (nonatomic, copy) NSString *#{key};"
243
+ puts_h "@property (nonatomic, copy) NSString *#{key};"
199
244
  elsif type.eql?('number')
200
- puts "@property (nonatomic, strong) NSNumber *#{key};"
245
+ puts_h "@property (nonatomic, strong) NSNumber *#{key};"
201
246
  elsif type.eql?('float')
202
- puts "@property (nonatomic, assign) CGFloat #{key};"
247
+ puts_h "@property (nonatomic, assign) CGFloat #{key};"
203
248
  elsif type.eql?('double')
204
- puts "@property (nonatomic, assign) double #{key};"
249
+ puts_h "@property (nonatomic, assign) double #{key};"
205
250
  elsif type.eql?('boolean')
206
- puts "@property (nonatomic, assign) BOOL #{key};"
251
+ puts_h "@property (nonatomic, assign) BOOL #{key};"
207
252
  elsif type.eql?('object')
208
- puts "@property (nonatomic, strong) #{type_name} *#{key};"
253
+ puts_h "@property (nonatomic, strong) #{type_name} *#{key};"
209
254
  elsif type.eql?('array')
210
- puts "@property (nonatomic, strong) NSArray<#{type_name} *> *#{key};"
255
+ puts_h "@property (nonatomic, strong) NSArray<#{type_name} *> *#{key};"
211
256
  else
212
- puts "@property (nonatomic, copy) NSString *#{key};"
257
+ puts_h "@property (nonatomic, copy) NSString *#{key};"
213
258
  end
214
259
  end
215
260
 
216
261
  def print_methods
217
262
  puts "\n<===============方法调用=====================>\n"
218
- puts "/**"
219
- puts " * #{@data_json['title']} -- #{@data_json['username']}"
220
- puts " */"
263
+ puts_m "/**"
264
+ puts_m " * #{@data_json['title']} -- #{@data_json['username']}"
265
+ puts_m " */"
221
266
  key_str = @data_json['path'].split('/').map{ |s| s.gsub(/[^A-Za-z0-9]/, '').gsub(/^\w/){ $&.upcase } }.join('')
222
267
  key = "k#{key_str}URL"
223
- puts "static NSString * const #{key} = @\"#{@data_json['path']}\";"
224
- puts "\n\n"
225
- puts "@interface MLParamModel : NSObject"
268
+ puts_m "static NSString * const #{key} = @\"#{@data_json['path']}\";"
269
+ puts_m "\n\n"
270
+ puts_h "@interface MLParamModel : NSObject"
226
271
  @data_json['req_query'].each do |h|
227
- puts "///#{h['desc']} #{h['example']}"
228
- puts "@property (nonatomic, copy) NSString *#{h['name']};"
272
+ des = h['desc'].gsub(/\n/, ' ')
273
+ puts_h "///#{des} #{h['example']}"
274
+ puts_h "@property (nonatomic, copy) NSString *#{h['name']};"
229
275
  end
230
- puts "@end"
276
+ puts_h "@end"
231
277
  puts "\n\n"
232
278
  model = @models.last
233
279
  if @data_json['method'].eql?('GET')
234
- puts " [MLNetworkingManager getWithUrl:#{key} params:nil response:^(MLResponseMessage *responseMessage) {"
235
- puts " if (response.resultCode == 0 && !response.error){"
236
- puts " NSDictionary *detailMsg = response.detailMsg"
237
- puts " #{model[:name]} *model = [#{model[:name]} yy_modelWithDictionary:detailMsg];" if model
238
- puts " }"
239
- puts " }];"
280
+ puts_m " [MLNetworkingManager getWithUrl:#{key} params:nil response:^(MLResponseMessage *responseMessage) {"
281
+ puts_m " if (response.resultCode == 0 && !response.error){"
282
+ puts_m " NSDictionary *detailMsg = response.detailMsg"
283
+ puts_m " #{model[:name]} *model = [#{model[:name]} yy_modelWithDictionary:detailMsg];" if model
284
+ puts_m " }"
285
+ puts_m " }];"
240
286
  else
241
- puts " [MLNetworkingManager postWithUrl:#{key} params:nil response:^(MLResponseMessage *responseMessage) {"
242
- puts " if (response.resultCode == 0 && !response.error){"
243
- puts " NSDictionary *detailMsg = response.detailMsg"
244
- puts " #{model[:name]} *model = [#{model[:name]} yy_modelWithDictionary:detailMsg];" if model
245
- puts " }"
246
- puts " }];"
287
+ puts_m " [MLNetworkingManager postWithUrl:#{key} params:nil response:^(MLResponseMessage *responseMessage) {"
288
+ puts_m " if (response.resultCode == 0 && !response.error){"
289
+ puts_m " NSDictionary *detailMsg = response.detailMsg"
290
+ puts_m " #{model[:name]} *model = [#{model[:name]} yy_modelWithDictionary:detailMsg];" if model
291
+ puts_m " }"
292
+ puts_m " }];"
247
293
  end
248
294
  end
249
295
  end
@@ -1,5 +1,5 @@
1
1
  module CBin
2
- VERSION = '0.1.21'
2
+ VERSION = '0.1.26'
3
3
  end
4
4
 
5
5
  module Pod
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-aomi-bin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.21
4
+ version: 0.1.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-24 00:00:00.000000000 Z
11
+ date: 2021-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.8.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: plist
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 3.1.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 3.1.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement