lhj-tools 0.1.91 → 0.1.92

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: 3ff9380c967d2d9a660c0bc2985aa7593c56fdaed4178c1b6fc82f79aafa383e
4
- data.tar.gz: 9e6c8e22f31276d5811595f35392183bc6e61f064f1c298f529f23a7d356d622
3
+ metadata.gz: e913a3b6a37362f81e34bae34ca1ccb2b03c830cf825ecc3af3d76482b34de3a
4
+ data.tar.gz: a294ea2f480cf906f80180ea3dfc351097c69f5a2f25725c858f0380b13f52a3
5
5
  SHA512:
6
- metadata.gz: e9f5d70b9483a20908898da0142cccb579cf3034ac18d53ff251e9b48fc632b1a5bbdbe6b4e341be52ba13fe9329018028b21e288239aff4569f790710823818
7
- data.tar.gz: 4a108b85e0434399ef97ecd13c77535a499f67695edf38de2b26a8ccb1fdb741c33a9ced7f22a326fcb557c6a5806af90d06e7aa5b640598002fdc9703453f71
6
+ metadata.gz: b4785975e8288571beccccee257c98f12d6ea88803c328c7df625d0bf0499ae2d7c6832d999553e39db9f82bbfe00238f732af749c1e1889af0ac53f58846517
7
+ data.tar.gz: 43834bc4842e447c6badab7de4ae9bb1854213be4041d0a2d38c240faad13bb4ae50c504b68538beb39afea1e2674e5cc81f94917964420c71b8e8dcee2386f6
@@ -7,7 +7,7 @@ module Lhj
7
7
  self.summary = '更新yapi请求cookie'
8
8
  self.description = '更新 ~/.lhj/yapi.yml 文件配置'
9
9
 
10
- def request_cookie(url)
10
+ def request_cookie(url, qr_code_key)
11
11
  options = Selenium::WebDriver::Chrome::Options.new(args: %w[start-maximized])
12
12
  driver = Selenium::WebDriver.for(:chrome, capabilities: options)
13
13
  driver.get url
@@ -31,25 +31,22 @@ module Lhj
31
31
  res[:token] = cookie[:value] if cookie[:name] == '_yapi_token'
32
32
  end
33
33
  if need_notify
34
- time = Time.now
35
- file_name = "#{time.strftime('%Y%m%d%H%M%S')}.png"
36
- # file_name = 'qrcode.png'
37
- file = File.join(Lhj::Config.instance.home_dir, file_name)
38
- driver.save_screenshot(file)
39
- callback_param = gen_http_body("#{Lhj::OSS::Helper.instance.url_path}/#{file_name}")
40
- Lhj::OSS::Helper.instance.upload_file_callback(file_name, file, callback_param)
34
+ upload_file = File.join(Lhj::Config.instance.home_dir, qr_code_key)
35
+ driver.save_screenshot(upload_file)
36
+ callback_param = generate_callback_param("#{Lhj::OSS::Helper.instance.url_path}/#{qr_code_key}")
37
+ Lhj::OSS::Helper.instance.upload_file_callback(qr_code_key, upload_file, callback_param)
41
38
  need_notify = false
42
39
  end
43
40
  return res if res.values.count == 3
44
41
  end
45
42
  end
46
43
 
47
- def gen_http_body(url)
44
+ def generate_callback_param(url)
48
45
  template = Lhj::ErbTemplateHelper.load('yapi_qr_code_notify')
49
46
  output = Lhj::ErbTemplateHelper.render(template, { url: url }, nil)
50
47
  body = Lhj::Dingtalk.http_body_message('yapi qrcode', output)
51
48
  {
52
- url: robot_url,
49
+ url: 'https://oapi.dingtalk.com/robot/send',
53
50
  query: { access_token: 'fe879fd3e7a3b5e59d5719b2384845b7884901919be5a78fe443cbf777869807' },
54
51
  body: body,
55
52
  content_type: 'application/json'
@@ -57,7 +54,7 @@ module Lhj
57
54
  end
58
55
 
59
56
  def robot_url
60
- 'https://oapi.dingtalk.com/robot/send'
57
+ 'https://oapi.dingtalk.com/robot/send?access_token=fe879fd3e7a3b5e59d5719b2384845b7884901919be5a78fe443cbf777869807'
61
58
  end
62
59
 
63
60
  def notify_robot(url)
@@ -94,17 +91,26 @@ module Lhj
94
91
  end
95
92
 
96
93
  def handle
94
+ time = Time.now
95
+ qr_code_name = "#{time.strftime('%Y%m%d%H%M%S')}.png"
97
96
  config = load_config(config_file) if File.exist?(config_file)
98
97
  # base_url: 'http://yapi.xx.com'
99
- cookie = request_cookie(config['base_url'])
98
+ cookie = request_cookie(config['base_url'], qr_code_name)
100
99
  if cookie && config
101
100
  config['__wpkreporterwid_'] = cookie[:wid]
102
101
  config['_yapi_uid'] = cookie[:uid].to_i
103
102
  config['_yapi_token'] = cookie[:token]
103
+ # save user info
104
104
  save_user({ '__wpkreporterwid_' => cookie[:wid], '_yapi_uid' => cookie[:uid].to_i, '_yapi_token' => cookie[:token] })
105
+ # save config
105
106
  file_to_save = File.open(config_file, 'w+')
106
107
  YAML.dump(config, file_to_save)
107
108
  file_to_save.close
109
+ # remove temp file
110
+ qr_code_image = File.join(Lhj::Config.instance.home_dir, qr_code_name)
111
+ FileUtils.rm qr_code_image if File.exist?(qr_code_image)
112
+ # remove oss
113
+ Lhj::OSS::Helper.instance.delete(qr_code_name)
108
114
  end
109
115
  end
110
116
  end
@@ -29,8 +29,32 @@ module Lhj
29
29
  Net::HTTP.post(URI(robot_url), http_body, 'Content-Type' => 'application/json')
30
30
  end
31
31
 
32
+ def self.post_action_card_message_robot(robot_url, title, message, btns)
33
+ http_body = action_card_body_message(title, message, btns, :vertical)
34
+ Net::HTTP.post(URI(robot_url), http_body, 'Content-Type' => 'application/json')
35
+ end
36
+
32
37
  def self.http_body_message(title, message)
33
- { 'msgtype' => 'markdown', 'markdown' => { 'title' => title, 'text' => message } }.to_json
38
+ markdown_body_message(title, message)
39
+ end
40
+
41
+ def self.markdown_body_message(title, message)
42
+ {
43
+ 'msgtype' => 'markdown',
44
+ 'markdown' => { 'title' => title, 'text' => message }
45
+ }.to_json
46
+ end
47
+
48
+ # btns: [{'title'=>'内容不错', 'actionURL'=>'https://www.baidu.com'}]
49
+ def self.action_card_body_message(title, message, btns, orientation = :vertical)
50
+ btn_orientation = orientation == :vertical ? '1' : '0'
51
+ {
52
+ 'msgtype' => 'actionCard',
53
+ 'actionCard' => { 'title' => title,
54
+ 'text' => message },
55
+ 'btnOrientation' => btn_orientation,
56
+ 'btns' => btns
57
+ }.to_json
34
58
  end
35
59
 
36
60
  def self.fetch_branch
@@ -100,7 +100,7 @@ module Lhj
100
100
  Actions.sh(update_cmd.join(' '), log: false, error_callback: nil)
101
101
  end
102
102
 
103
- def render_with_template(template_name = 'pgyer')
103
+ def render_with_template(template_name)
104
104
  if @result.is_a? Hash
105
105
  temp = Lhj::ErbTemplateHelper.load(template_name)
106
106
  Lhj::ErbTemplateHelper.render(temp, @result, nil)
@@ -108,5 +108,9 @@ module Lhj
108
108
  @result
109
109
  end
110
110
  end
111
+
112
+ def app_download_url
113
+ "https://www.pgyer.com/#{@result['appShortcutUrl']}"
114
+ end
111
115
  end
112
116
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lhj
4
4
  module Tools
5
- VERSION = "0.1.91"
5
+ VERSION = "0.1.92"
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.91
4
+ version: 0.1.92
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-28 00:00:00.000000000 Z
11
+ date: 2023-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj