lhj-tools 0.2.59 → 0.2.61

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: 0b1d113183468cf58d8ce14ef22990c96a507f33716a2da088f56a4157c3d433
4
- data.tar.gz: 8972b208acd3e14c5ebc9a5b208485de017524be9e93fdd5643e1fb0528f3898
3
+ metadata.gz: 17f381f8a5e810d3d6455d7ffc07c21edb457deca5822d55ec75c49151cf1499
4
+ data.tar.gz: d12cd89e36ba62322d1f941829fc53ce69c66b3d11e27863a277bf8f767baec4
5
5
  SHA512:
6
- metadata.gz: b47948cc96591c7b6d717b6f9c755448deac600b113fb31407b72e43d5272d2273a8f79af1b8679abfc3c1a35ba53a680b9ae73a7bb7236c290dcd00283f5724
7
- data.tar.gz: 79283d6caab2cdb57db0b0cf80096e7aaf1ad114f198fc40e3ff49a542ed679aa38ef87ab15e457ba3b10783c8f62d4e461fdd5971f5cf5e98dc99e38f85db2a
6
+ metadata.gz: '091917f41e4d3e47781159cbccc9e9fdec220900a60ca25fc226bdab0c7039dfb7803f113c4d230ef13a85137e895e90b538bc05e8e9d589e51bf5d8153add0b'
7
+ data.tar.gz: 13394220af4f61305c6e1659cfa040f1129ddb140a9df027750eb17a819aea502b88dfb713b233e86d5a857296e6af398685936f2028c48204694515a8c26fe0
@@ -10,7 +10,7 @@ require_relative 'tb_config'
10
10
  module Lhj
11
11
  # pgyer upload
12
12
  class Pgyer
13
- API_HOST = 'https://upload.pgyer.com/apiv1/app/upload'
13
+ API_HOST = 'https://www.xcxwo.com/apiv2/app'
14
14
 
15
15
  attr_reader :api_key, :user_key, :password, :result
16
16
 
@@ -46,30 +46,76 @@ module Lhj
46
46
  # @param [upload file] file
47
47
  # @param [desc] des
48
48
  def upload_with_path(path, file, des)
49
- params = {
49
+ request_params = {
50
50
  '_api_key' => @api_key,
51
- 'uKey' => @user_key,
52
- 'password' => @password,
53
- 'updateDescription' => des,
54
- 'installType' => 2,
55
- 'file' => Faraday::UploadIO.new(file, 'application/octet-stream')
51
+ 'buildPassword' => @password,
52
+ 'buildUpdateDescription' => des,
53
+ 'buildType' => 'ios',
54
+ 'buildInstallType' => 2
56
55
  }
57
- begin
58
- puts 'begin upload...'
59
- upload_with_type(path, file) unless path.empty?
60
- response = http_client.post API_HOST, params
61
- @result = response.body
62
- puts @result
63
- Actions.sh('git restore ./', log: false) if File.exist?(File.expand_path('./.git'))
64
- puts 'upload success'
65
- # if @result['data'] && @result['data']['appUpdateDescription'] && @env == :uat
66
- # str = Lhj::TbHelper.trans_tb(@result['data']['appUpdateDescription'])
67
- # str = Lhj::VikaHelper.trans_vika(str)
68
- # @result['data']['appUpdateDescription'] = str
69
- # end
70
- rescue Faraday::TimeoutError
71
- puts 'upload fail'
72
- FileUtils.rm_r Dir.glob("#{path}/archive*.zip")
56
+ conn_options = {
57
+ request: {
58
+ timeout: 1000,
59
+ open_timeout: 300
60
+ }
61
+ }
62
+ pgyer_client = Faraday.new(nil, conn_options) do |builder|
63
+ builder.request :multipart
64
+ builder.request :url_encoded
65
+ builder.response :json, content_type: /\bjson$/
66
+ builder.adapter :net_http
67
+ end
68
+
69
+ puts 'begin upload...'
70
+ upload_with_type(path, file) unless path.empty?
71
+ response = pgyer_client.post "#{API_HOST}/getCOSToken", request_params
72
+ info = response.body
73
+
74
+ if info["code"] != 0
75
+ UI.user_error!("Get token is failed, info: #{info}")
76
+ end
77
+
78
+ key = info['data']['key']
79
+ endpoint = info['data']['endpoint']
80
+ request_params = info['data']['params']
81
+ if key.nil? || endpoint.nil? || request_params.nil?
82
+ UI.user_error!('Get token is failed')
83
+ end
84
+ request_params['file'] = Faraday::UploadIO.new(file, 'application/octet-stream')
85
+
86
+ response = pgyer_client.post endpoint, request_params
87
+
88
+ if response.status != 204
89
+ UI.user_error!("PGYER Plugin Upload Error: #{response.body}")
90
+ end
91
+
92
+ @result = checkPublishStatus(pgyer_client, API_HOST, @api_key, key)
93
+
94
+ puts @result
95
+ Actions.sh('git restore ./', log: false) if File.exist?(File.expand_path('./.git'))
96
+ puts 'upload success'
97
+ end
98
+
99
+ def checkPublishStatus(client, api_host, api_key, buildKey)
100
+ url = "#{api_host}/buildInfo"
101
+ UI.message "checkPublishStatus url: #{url}"
102
+ response = client.post "#{api_host}/buildInfo", { :_api_key => api_key, :buildKey => buildKey }
103
+ info = response.body
104
+ code = info['code']
105
+ if code == 0
106
+ UI.success "Upload success. BuildInfo is #{info['data']}."
107
+ shortUrl = info["data"]["buildShortcutUrl"]
108
+ if shortUrl.nil? || shortUrl == ""
109
+ shortUrl = info["data"]["buildKey"]
110
+ end
111
+ info["data"]["fastlaneAddedWholeVisitUrl"] = "https://wwww.xcxwo.com/#{shortUrl}"
112
+ UI.success "Upload success. Visit this URL to see: #{info["data"]["fastlaneAddedWholeVisitUrl"]}"
113
+ return info["data"]
114
+ elsif code == 1246 || code == 1247
115
+ sleep 3
116
+ checkPublishStatus(client, api_host, api_key, buildKey)
117
+ else
118
+ UI.user_error!("PGYER Plugin Published Error: #{info} buildKey: #{buildKey}")
73
119
  end
74
120
  end
75
121
 
@@ -111,7 +157,7 @@ module Lhj
111
157
  end
112
158
 
113
159
  def app_download_url
114
- "https://www.pgyer.com/#{@result['data']['appKey']}"
160
+ "https://www.xcxwo.com/#{@result['data']['appKey']}"
115
161
  end
116
162
  end
117
163
  end
@@ -7,7 +7,7 @@ require 'lhj/helper/pgyer_config'
7
7
  module Lhj
8
8
  # pgyer upload
9
9
  class PgyerShortcut
10
- API_SHORTCUT_HOST = 'https://www.pgyer.com/apiv2/app/getByShortcut'
10
+ API_SHORTCUT_HOST = 'https://www.xcxwo.com/apiv2/app/getByShortcut'
11
11
 
12
12
  attr_reader :api_key, :user_key, :password, :shortcut_url
13
13
 
data/lib/lhj/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lhj
4
- VERSION = '0.2.59'
4
+ VERSION = '0.2.61'
5
5
  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.2.59
4
+ version: 0.2.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-22 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj