lhj-tools 0.1.34 → 0.1.37

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59baee5ee2c0e14e95d4741245260f8ef1bfc0fcbe7108b44a766f4a4132224a
4
- data.tar.gz: 9461780990706de4f62301b18f3f2e79030f17bee35034af057ee827963e1f15
3
+ metadata.gz: 00bcfbfc57ef29c17ccb992fe52decd1dc169a2f4595c6c291edc99e8d5516b4
4
+ data.tar.gz: 48ea09b1938d81b27293719247d9382d1b92627ccb4e9544a312d0c00029a942
5
5
  SHA512:
6
- metadata.gz: ae3f224b6ed4ad990e596b83887d307d674d153628362f8e7da3434337976eea67f8eaeb19fccadbb0e21fd244c5c1fabd806d1c5b7299708d6e2b586509b1fe
7
- data.tar.gz: 7c4c220a5935c7a2d7c3b3bf7892d93ed1a76d4a9db3238d747e876e9a28d1d32ec4eef0b39c15b040ac9b959757e39aa08e43ceb705c1e8630c8d787384d917
6
+ metadata.gz: 19fa3572c6c8cf794f74299710c5b2a0a0e24d4ac25abec6a7d0e5bce4ef339d039aa86418a228c039b999fb63b2e00423674c584e9e1ee8cc476597da5cb180
7
+ data.tar.gz: d65ecfea427f73d635670475c9b811e4f998358de57ac1a27e9091489bf877d998008c9454e2e207e6661e74a8201192701c3e1c9d97998e61a665b84e38d90d
@@ -0,0 +1,34 @@
1
+ module Lhj
2
+ class Command
3
+ class CodeTemplate < Command
4
+ self.summary = '生成源码模板'
5
+ self.description = '生成的代码模板'
6
+
7
+ CODE_TEMPLATE_INDEX = [{ name: 'dispatch Source 模板', template: 'dispatch_source.erb' },
8
+ { name: '消息队列', template: 'message_query.erb' },
9
+ { name: '代码模板', template: 'test.erb' }].freeze
10
+
11
+ def initialize(argv)
12
+ @cli = HighLine.new
13
+ super
14
+ end
15
+
16
+ def handle
17
+ CODE_TEMPLATE_INDEX.each_index do |i|
18
+ puts "#{i}.#{CODE_TEMPLATE_INDEX[i][:name]}".yellow
19
+ end
20
+ idx = @cli.ask('请选择查看代码模板: '.green).strip.to_i
21
+ item = CODE_TEMPLATE_INDEX[idx]
22
+ template_name = item[:template]
23
+ template_str = render_template(template_name)
24
+ puts template_str
25
+ end
26
+
27
+ def render_template(template_name)
28
+ temp_str = File.read(File.join(File.dirname(__FILE__), 'template', template_name))
29
+ Lhj::ErbFormatter::Service.new(self).render_template(temp_str)
30
+ end
31
+
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,36 @@
1
+ @implementation ODOrderTimerManager
2
+
3
+ + (instancetype)sharedInstance {
4
+ static dispatch_once_t onceToken;
5
+ static ODOrderTimerManager *instance = nil;
6
+ dispatch_once(&onceToken,^{
7
+ instance = [[ODOrderTimerManager alloc] init];
8
+ });
9
+ return instance;
10
+ }
11
+
12
+ - (void)calcOrderPay:(NSString *)orderId timeout:(NSInteger)timeout
13
+ {
14
+ self.leftTime = timeout;
15
+ self.orderId = orderId;
16
+ if(self.timer){
17
+ dispatch_source_cancel(self.timer);
18
+ }
19
+ if(timeout > 0){
20
+ self.timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0));
21
+ dispatch_source_set_timer(self.timer, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0);
22
+ __weak __typeof(self)weakSelf = self;
23
+ dispatch_source_set_event_handler(self.timer, ^{
24
+ if(weakSelf.leftTime <= 0){ //倒計時結束,關閉
25
+ [[NSNotificationCenter defaultCenter] postNotificationName:kOrderTimerFinishedNotification object:nil];
26
+ dispatch_source_cancel(weakSelf.timer);
27
+ }else{
28
+ [[NSNotificationCenter defaultCenter] postNotificationName:kOrderTimerProcessingNotification object:@(self.leftTime)];
29
+ weakSelf.leftTime--;
30
+ }
31
+ });
32
+ dispatch_resume(self.timer);
33
+ }
34
+ }
35
+
36
+ @end
@@ -0,0 +1,58 @@
1
+ - (void)handleWithBlock:(void (^)(AMGoodsSellingMessageModel *, void(^completion)(BOOL finished, AMGoodsSellingMessageModel *current)))block completion:(void (^)(AMGoodsSellingMessageModel *, void(^)(BOOL)))completion
2
+ {
3
+ dispatch_once(&onceMessageQueueManagerToken, ^{
4
+ [self processWithPreModel:nil block:block completion:completion];
5
+ });
6
+ }
7
+
8
+ - (void)processWithPreModel:(AMGoodsSellingMessageModel *)preModel block:(void (^)(AMGoodsSellingMessageModel *, void(^completion)(BOOL finished, AMGoodsSellingMessageModel *current)))block completion:(void (^)(AMGoodsSellingMessageModel *, void(^)(BOOL)))completion
9
+ {
10
+ AMGoodsSellingMessageModel *next = [self popModel];
11
+ if(next && block){
12
+ __weak __typeof(self)weakSelf = self;
13
+ if(preModel){
14
+ if(![next isEqual:preModel]){
15
+ next.animationType = AMMessageAnimationTypeReShowAndAnimation;
16
+ next.currentNum = MAX(1, [next.sellingNumber integerValue]);
17
+ }else{
18
+ next.animationType = AMMessageAnimationTypeAnimation;
19
+ NSInteger num = MAX(1, [next.sellingNumber integerValue]);
20
+ next.currentNum = preModel.currentNum + num;
21
+ }
22
+ }else{
23
+ next.animationType = AMMessageAnimationTypeShowAndAnimation;
24
+ next.currentNum = MAX(1, [next.sellingNumber integerValue]);
25
+ }
26
+ next.displayNumber = [NSString stringWithFormat:@"%ld", next.currentNum];
27
+ block(next, ^(BOOL finished, AMGoodsSellingMessageModel *current){
28
+ if(finished){
29
+ [weakSelf processWithPreModel:next block:block completion:completion];
30
+ }
31
+ });
32
+ }else{
33
+ if(completion){
34
+ completion(preModel, ^(BOOL finished){
35
+ onceMessageQueueManagerToken = 0;
36
+ });
37
+ }
38
+ }
39
+ }
40
+
41
+ -(void)beginProductSoldOutAnimation
42
+ {
43
+ __weak __typeof(self)weakSelf = self;
44
+ [[AMMessageQueueManager sharedInstance] handleWithBlock:^(AMGoodsSellingMessageModel * model, void (^ _Nonnull completion)(BOOL ,AMGoodsSellingMessageModel *)) {
45
+ if(model){
46
+ [weakSelf productSoldOutViewAnimation:model completion:^(BOOL finished, AMGoodsSellingMessageModel *current) {
47
+ completion(finished, current);
48
+ }];
49
+ }
50
+ } completion:^(AMGoodsSellingMessageModel *preModel, void (^ _Nonnull finishCallback)(BOOL)) {
51
+ NSInteger des = preModel ? preModel.dismissSec : 3;
52
+ [[AMMessageTimerManager sharedInstance] scheduledWithMessageType:AMCustomMessageTypeGoodsSelling timeout:des completion:^{
53
+ [weakSelf hideProductSoldOutView:^(BOOL finished) {
54
+ finishCallback(finished);
55
+ }];
56
+ }];
57
+ }];
58
+ }
File without changes
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  require 'lhj/helper/oss_helper'
3
+ require 'highline'
3
4
 
4
5
  module Lhj
5
6
  class Command
@@ -7,42 +8,24 @@ module Lhj
7
8
  class Del < OSS
8
9
  self.summary = '删除OSS的key'
9
10
 
10
- self.arguments = [
11
- CLAide::Argument.new('--key=XX', true),
12
- CLAide::Argument.new('--type=XX', true)
13
- ]
14
-
15
- def self.options
16
- [
17
- %w[--key OSS对应的key],
18
- %w[--type OSS对应的类型]
19
- ]
20
- end
21
-
22
11
  def initialize(argv)
23
- @key = argv.option('key')
24
- @type = argv.option('type')
25
- super
26
- end
27
-
28
- def validate!
29
- help! '请输入key或者类型' unless @key || @type
12
+ @cli = HighLine.new
30
13
  super
31
14
  end
32
15
 
33
16
  def handle
34
- if @type
35
- objects = Lhj::OSS::Helper.instance.list
36
- objects.each do |o|
37
- if /#{@type}/ =~ o.key
38
- puts "成功删除#{o.key}"
39
- Lhj::OSS::Helper.instance.delete(o.key)
40
- end
41
- end
42
- else
43
- Lhj::OSS::Helper.instance.delete(@key)
17
+ objects = Lhj::OSS::Helper.instance.list
18
+ obj_keys = []
19
+ objects.each_with_index do |o, i|
20
+ obj_keys << o.key
21
+ puts "#{i}.#{o.key}".yellow
44
22
  end
23
+ idx = @cli.ask('请选择删除的key: '.green).strip.to_i
24
+ oss_key = obj_keys[idx]
25
+ puts "删除的key为:#{oss_key}".red
26
+ Lhj::OSS::Helper.instance.delete(oss_key)
45
27
  end
28
+
46
29
  end
47
30
  end
48
31
  end
@@ -10,8 +10,8 @@ module Lhj
10
10
  def handle
11
11
  objects = Lhj::OSS::Helper.instance.list
12
12
  rows = []
13
- objects.each do |o|
14
- path = "#{Lhj::OSS::Helper.instance.url_path}/#{o.key}"
13
+ objects.each_with_index do |o, i|
14
+ path = "#{i}.#{Lhj::OSS::Helper.instance.url_path}/#{o.key}"
15
15
  rows << [path]
16
16
  end
17
17
  table = Terminal::Table.new title: 'OSS List', headings: ['URL'], rows: rows
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'lhj/helper/oss_helper'
4
+ require 'highline'
4
5
 
5
6
  module Lhj
6
7
  class Command
@@ -10,41 +11,34 @@ module Lhj
10
11
  self.summary = '上传文件'
11
12
 
12
13
  self.arguments = [
13
- CLAide::Argument.new('type', false),
14
- CLAide::Argument.new('name', false),
15
14
  CLAide::Argument.new('tag', false)
16
15
  ]
17
16
 
18
17
  def self.options
19
18
  [
20
- %w[--type 文件类型],
21
- %w[--name 文件名],
22
19
  %w[--tag 标签]
23
20
  ]
24
21
  end
25
22
 
26
- def validate!
27
- super
28
- help! '类型或名字必须输入' unless @name || @type
29
- end
30
-
31
23
  def initialize(argv)
32
24
  @current_path = argv.shift_argument || Dir.pwd
33
- @type = argv.option('type')
34
- @name = argv.option('name')
35
25
  @tag = argv.option('tag')
26
+ @cli = HighLine.new
36
27
  super
37
28
  end
38
29
 
39
30
  def handle
40
- Dir.glob("#{@current_path}/*").each do |f|
41
- file_name = File.basename(f)
42
- if @name && /#{@name}/ =~ file_name
43
- upload(f, file_name)
44
- elsif @type && /#{@type}/ =~ file_name
45
- upload(f, file_name)
46
- end
31
+ file_list = []
32
+ file_name_list = []
33
+ Dir.glob("#{@current_path}/*").each_with_index do |f, i|
34
+ file_base_name = File.basename(f)
35
+ file_list << f
36
+ file_name_list << file_base_name
37
+ puts "#{i}.#{file_base_name}".yellow
47
38
  end
39
+ idx = @cli.ask('请选择上传文件序号: '.green).strip.to_i
40
+ puts "上传的文件名:#{file_name_list[idx]}".yellow
41
+ upload(file_list[idx], file_name_list[idx])
48
42
  end
49
43
 
50
44
  private
@@ -54,7 +48,7 @@ module Lhj
54
48
  oss_key = "#{@tag}/#{file_name}" if @tag
55
49
  Lhj::OSS::Helper.instance.upload(oss_key, file)
56
50
  url = Lhj::OSS::Helper.instance.object_url(oss_key)
57
- puts "云端上传成功:#{url}\n"
51
+ puts "云端上传成功:#{url}\n".yellow
58
52
  end
59
53
  end
60
54
  end
@@ -53,6 +53,8 @@ module Lhj
53
53
 
54
54
  def modify_file(file)
55
55
  File.chmod(0o644, file)
56
+ # arr = File.open(file, 'r+').readlines
57
+ # lines = arr.size
56
58
  str = file_string(file)
57
59
  File.open(file, 'w+') do |f|
58
60
  f.write(str)
@@ -26,7 +26,8 @@ module Lhj
26
26
  end
27
27
 
28
28
  def handler_files
29
- Dir.glob("#{@current_path}/**/*.{#{@file_type}}").each do |f|
29
+ search_type = @file_type.gsub('.', '')
30
+ Dir.glob("#{@current_path}/**/*.{#{search_type}}").each do |f|
30
31
  handler_file f
31
32
  end
32
33
  end
data/lib/lhj/command.rb CHANGED
@@ -17,7 +17,8 @@ module Lhj
17
17
  require 'lhj/command/oss/del'
18
18
  require 'lhj/command/oss/upload'
19
19
  require 'lhj/command/oss/list'
20
- require 'lhj/command/view'
20
+ require 'lhj/command/code/view'
21
+ require 'lhj/command/code/code_template'
21
22
  require 'lhj/command/rename_image'
22
23
  require 'lhj/command/trans'
23
24
  require 'lhj/command/yapi'
@@ -16,7 +16,7 @@ module Lhj
16
16
 
17
17
  QUERY_RECORDS_API_URL = 'https://api.vika.cn/fusion/v1/datasheets/dstid/records?viewId=viwid'.freeze
18
18
 
19
- QUERY_RECORDS_FIELD_KEY_API_URL = 'https://api.vika.cn/fusion/v1/datasheets/dstid/records?viewId=viwid&fieldKey=id'.freeze
19
+ QUERY_RECORDS_FIELD_KEY_API_URL = 'https://api.vika.cn/fusion/v1/datasheets/dstid/records?viewId=viwid&fieldKey=id&pageSize=500'.freeze
20
20
 
21
21
  RECORD_LINK_URL = 'https://vika.cn/workbench/dstid/viwid/recid'.freeze
22
22
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lhj
4
4
  module Tools
5
- VERSION = "0.1.34"
5
+ VERSION = "0.1.37"
6
6
  end
7
7
  end
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.34
4
+ version: 0.1.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-27 00:00:00.000000000 Z
11
+ date: 2022-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -294,6 +294,10 @@ files:
294
294
  - bin/lhj
295
295
  - lib/lhj/action/sh_helper.rb
296
296
  - lib/lhj/command.rb
297
+ - lib/lhj/command/code/code_template.rb
298
+ - lib/lhj/command/code/template/dispatch_source.erb
299
+ - lib/lhj/command/code/template/message_query.erb
300
+ - lib/lhj/command/code/view.rb
297
301
  - lib/lhj/command/config.rb
298
302
  - lib/lhj/command/config/info.rb
299
303
  - lib/lhj/command/duplicate_imageset.rb
@@ -318,7 +322,6 @@ files:
318
322
  - lib/lhj/command/sync_pod_version.rb
319
323
  - lib/lhj/command/template.rb
320
324
  - lib/lhj/command/trans.rb
321
- - lib/lhj/command/view.rb
322
325
  - lib/lhj/command/yapi.rb
323
326
  - lib/lhj/command/yapi/formatters/base.rb
324
327
  - lib/lhj/command/yapi/formatters/command_context.rb