lhj-tools 0.1.77 → 0.1.80
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 +4 -4
- data/lib/lhj/command/yapi.rb +58 -8
- data/lib/lhj/tools/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1ec339600a7bccdf6e71366bf4c0d153544ddeae42cdf867d197d4320129492c
|
|
4
|
+
data.tar.gz: 2914782da786e0dcd1e6ecb71e0088669b15e8d7e64bb5deb9a478faa563785d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 846675816476a4f97aeb78818d5ccb6ec1173e8654fea452f31af652b17ddcdb87650cd3192b732908a4e2993a760959e077973ce38fdb8c3b0ded745b5d29c9
|
|
7
|
+
data.tar.gz: e745f2ce809027cf10f461a385089de93f60e8245cb1f960eb8b519245e42a73e72103c99037bcb0a09255135b0c4eda804173d221ac26b4283ede005a31c527
|
data/lib/lhj/command/yapi.rb
CHANGED
|
@@ -64,13 +64,15 @@ module Lhj
|
|
|
64
64
|
project_id = res_body['data']['project_id']
|
|
65
65
|
project_info = get_project_info(project_id)
|
|
66
66
|
# 1.print request result
|
|
67
|
-
print_res_body_model(res_body)
|
|
67
|
+
res_models = print_res_body_model(res_body)
|
|
68
68
|
# 2.print request json body
|
|
69
|
-
print_req_body_model(res_body) if res_body['data']['req_body_is_json_schema']
|
|
69
|
+
req_models = print_req_body_model(res_body) if res_body['data']['req_body_is_json_schema']
|
|
70
70
|
# 3.print request param
|
|
71
71
|
print_req_query(res_body['data']) unless res_body['data']['req_body_is_json_schema']
|
|
72
72
|
# 4.print request method
|
|
73
73
|
service_code = print_http_method(res_body['data'], project_info)
|
|
74
|
+
# print request mock data
|
|
75
|
+
print_mock_request_data(req_models) unless req_models.empty?
|
|
74
76
|
# 5.save to file
|
|
75
77
|
file_map = save_to_file(service_code) if @save
|
|
76
78
|
# 6.push to git
|
|
@@ -176,6 +178,7 @@ module Lhj
|
|
|
176
178
|
@config_model_name = config['model_name']
|
|
177
179
|
@config_robot_url = config['dingtalk']
|
|
178
180
|
@type_trans = config['type_trans']
|
|
181
|
+
@config_property_mapper = config['property_mapper']
|
|
179
182
|
end
|
|
180
183
|
|
|
181
184
|
def api_id
|
|
@@ -202,6 +205,10 @@ module Lhj
|
|
|
202
205
|
@config_robot_url || 'https://oapi.dingtalk.com/robot/send?access_token=fe879fd3e7a3b5e59d5719b2384845b7884901919be5a78fe443cbf777869807'
|
|
203
206
|
end
|
|
204
207
|
|
|
208
|
+
def property_mapper
|
|
209
|
+
@config_property_mapper || { 'id' => 'gid' }
|
|
210
|
+
end
|
|
211
|
+
|
|
205
212
|
def get_interface_api_model
|
|
206
213
|
uri = URI.parse(interface_url_str)
|
|
207
214
|
req = Net::HTTP::Get.new(uri)
|
|
@@ -232,7 +239,7 @@ module Lhj
|
|
|
232
239
|
|
|
233
240
|
puts "\n<===============打印返回数据模型-Begin=====================>\n".green
|
|
234
241
|
models = []
|
|
235
|
-
handle_model(res_body) do |model|
|
|
242
|
+
handle_model(res_body, :res) do |model|
|
|
236
243
|
models << model
|
|
237
244
|
end
|
|
238
245
|
case @language
|
|
@@ -243,6 +250,7 @@ module Lhj
|
|
|
243
250
|
print_models_for_java(models)
|
|
244
251
|
end
|
|
245
252
|
puts "\n<===============打印返回数据模型-End=====================>\n".green
|
|
253
|
+
models
|
|
246
254
|
end
|
|
247
255
|
|
|
248
256
|
def print_req_body_model(res_json)
|
|
@@ -251,7 +259,7 @@ module Lhj
|
|
|
251
259
|
|
|
252
260
|
puts "\n<===============打印请求模型-Begin=====================>\n".green
|
|
253
261
|
models = []
|
|
254
|
-
handle_model(req_body) do |model|
|
|
262
|
+
handle_model(req_body, :req) do |model|
|
|
255
263
|
models << model
|
|
256
264
|
end
|
|
257
265
|
case @language
|
|
@@ -262,6 +270,7 @@ module Lhj
|
|
|
262
270
|
print_models_for_java(models)
|
|
263
271
|
end
|
|
264
272
|
puts "\n<===============打印请求模型-End=====================>\n".green
|
|
273
|
+
models
|
|
265
274
|
end
|
|
266
275
|
|
|
267
276
|
def fetch_res_boy(res_json)
|
|
@@ -299,7 +308,7 @@ module Lhj
|
|
|
299
308
|
end
|
|
300
309
|
end
|
|
301
310
|
|
|
302
|
-
def handle_model(model, &block)
|
|
311
|
+
def handle_model(model, type, &block)
|
|
303
312
|
p_type = model['type']
|
|
304
313
|
p_name = model['name']
|
|
305
314
|
p_properties = model['properties']
|
|
@@ -313,12 +322,12 @@ module Lhj
|
|
|
313
322
|
c_model = { key: k, type: c_type, description: v['description'], default: '' }
|
|
314
323
|
if v['type'].eql?('object') || v['type'].eql?('array')
|
|
315
324
|
o = v['items'] || v
|
|
316
|
-
o['name'] = gen_model_name(k)
|
|
325
|
+
o['name'] = gen_model_name(k, type)
|
|
317
326
|
if v['type'].eql?('array') && v['items']['type'].eql?('string')
|
|
318
327
|
c_model[:type_name] = 'NSString'
|
|
319
328
|
else
|
|
320
329
|
c_model[:type_name] = o['name']
|
|
321
|
-
handle_model(o, &block)
|
|
330
|
+
handle_model(o, type, &block)
|
|
322
331
|
end
|
|
323
332
|
end
|
|
324
333
|
properties << c_model
|
|
@@ -328,7 +337,7 @@ module Lhj
|
|
|
328
337
|
when 'array'
|
|
329
338
|
t = model['items']
|
|
330
339
|
t['name'] = p_name
|
|
331
|
-
handle_model(t, &block)
|
|
340
|
+
handle_model(t, type, &block)
|
|
332
341
|
end
|
|
333
342
|
end
|
|
334
343
|
|
|
@@ -365,6 +374,15 @@ module Lhj
|
|
|
365
374
|
puts_m " return @{#{str}};"
|
|
366
375
|
puts_m '}'
|
|
367
376
|
end
|
|
377
|
+
properties = model[:properties].filter { |p| property_mapper.keys.include?(p[:key]) }.map do |p|
|
|
378
|
+
"@\"#{property_mapper[p[:key]]}\": @\"#{p[:key]}\""
|
|
379
|
+
end
|
|
380
|
+
property_mapper_str = properties.join(', ') if properties.count.positive?
|
|
381
|
+
if property_mapper_str&.length&.positive?
|
|
382
|
+
puts_m '+ (NSDictionary<NSString *, id> *)modelCustomPropertyMapper {'
|
|
383
|
+
puts_m " return @{#{property_mapper_str}};"
|
|
384
|
+
puts_m '}'
|
|
385
|
+
end
|
|
368
386
|
puts_m "@end\n"
|
|
369
387
|
puts "\n\n"
|
|
370
388
|
end
|
|
@@ -372,6 +390,7 @@ module Lhj
|
|
|
372
390
|
|
|
373
391
|
def print_model(m)
|
|
374
392
|
key = m[:key]
|
|
393
|
+
key = property_mapper[key] if property_mapper.keys.include?(key)
|
|
375
394
|
type_name = m[:type_name]
|
|
376
395
|
type = m[:type]
|
|
377
396
|
des = m[:description] || ''
|
|
@@ -491,6 +510,37 @@ module Lhj
|
|
|
491
510
|
end
|
|
492
511
|
|
|
493
512
|
end
|
|
513
|
+
|
|
514
|
+
def print_mock_request_data(req_models)
|
|
515
|
+
puts "\n<===============打印Mock Data-Begin=====================>\n".green
|
|
516
|
+
req_models.each do |model|
|
|
517
|
+
model_name = model[:name] || ''
|
|
518
|
+
model_properties = model[:properties]
|
|
519
|
+
puts "#{model_name} *mock = [[#{model_name} alloc] init];"
|
|
520
|
+
model_properties.each do |m|
|
|
521
|
+
puts "/// #{m[:description]}"
|
|
522
|
+
type = m[:type]
|
|
523
|
+
case type
|
|
524
|
+
when 'integer'
|
|
525
|
+
puts "mock.#{m[:key]} = 0;"
|
|
526
|
+
when 'number'
|
|
527
|
+
puts "mock.#{m[:key]} = 0;"
|
|
528
|
+
when 'float'
|
|
529
|
+
puts "mock.#{m[:key]} = 0;"
|
|
530
|
+
when 'double'
|
|
531
|
+
puts "mock.#{m[:key]} = 0;"
|
|
532
|
+
when 'object'
|
|
533
|
+
puts "mock.#{m[:key]} = @{};"
|
|
534
|
+
when 'array'
|
|
535
|
+
puts "mock.#{m[:key]} = @[];"
|
|
536
|
+
else
|
|
537
|
+
puts "mock.#{m[:key]} = @\"\";"
|
|
538
|
+
end
|
|
539
|
+
end
|
|
540
|
+
puts "\n\n"
|
|
541
|
+
end
|
|
542
|
+
puts "\n<===============打印Mock Data-End=====================>\n".green
|
|
543
|
+
end
|
|
494
544
|
end
|
|
495
545
|
end
|
|
496
546
|
end
|
data/lib/lhj/tools/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lhj-tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.80
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- lihaijian
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-12-
|
|
11
|
+
date: 2022-12-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: xcodeproj
|