pindo 4.6.9 → 4.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/aeshelper.rb +75 -0
  3. data/lib/pindo/base/funlog.rb +89 -0
  4. data/lib/pindo/base/githelper.rb +35 -18
  5. data/lib/pindo/base/plaininformative.rb +3 -0
  6. data/lib/pindo/base/standarderror.rb +1 -0
  7. data/lib/pindo/base/xcodeconst.rb +251 -0
  8. data/lib/pindo/client/applovinclient.rb +6 -3
  9. data/lib/pindo/client/aws3sclient.rb +33 -46
  10. data/lib/pindo/client/bossclient.rb +1 -1
  11. data/lib/pindo/client/bossconfigclient.rb +3 -3
  12. data/lib/pindo/client/pgyerclient.rb +159 -100
  13. data/lib/pindo/command/appstore/iap.rb +43 -0
  14. data/lib/pindo/command/appstore/itcapp.rb +41 -0
  15. data/lib/pindo/command/appstore/metadata.rb +43 -0
  16. data/lib/pindo/command/appstore/screenshots.rb +43 -0
  17. data/lib/pindo/command/appstore/upload.rb +40 -0
  18. data/lib/pindo/command/appstore.rb +17 -0
  19. data/lib/pindo/command/deploy/build.rb +109 -0
  20. data/lib/pindo/{deploy → command/deploy}/bundleid.rb +1 -1
  21. data/lib/pindo/command/deploy/cert.rb +183 -0
  22. data/lib/pindo/command/deploy/configproj.rb +105 -0
  23. data/lib/pindo/{deploy → command/deploy}/getitcinfo.rb +1 -1
  24. data/lib/pindo/{deploy → command/deploy}/iap.rb +30 -9
  25. data/lib/pindo/{deploy → command/deploy}/itcapp.rb +0 -1
  26. data/lib/pindo/{deploy → command/deploy}/itcinfo.rb +2 -3
  27. data/lib/pindo/{deploy → command/deploy}/pem.rb +3 -2
  28. data/lib/pindo/{deploy → command/deploy}/resign.rb +14 -63
  29. data/lib/pindo/command/deploy.rb +44 -0
  30. data/lib/pindo/{dev → command/dev}/autobuild.rb +28 -76
  31. data/lib/pindo/{dev → command/dev}/autoresign.rb +21 -64
  32. data/lib/pindo/command/dev/build.rb +94 -0
  33. data/lib/pindo/{dev → command/dev}/createbuild.rb +0 -2
  34. data/lib/pindo/{dev → command/dev}/debug.rb +6 -2
  35. data/lib/pindo/command/dev/pgyercert.rb +75 -0
  36. data/lib/pindo/command/dev.rb +26 -0
  37. data/lib/pindo/command/env.rb +17 -0
  38. data/lib/pindo/{ipa → command/ipa}/autoresign.rb +22 -70
  39. data/lib/pindo/{ipa → command/ipa}/import.rb +48 -103
  40. data/lib/pindo/{ipa → command/ipa}/output.rb +43 -135
  41. data/lib/pindo/command/ipa.rb +16 -0
  42. data/lib/pindo/{lib → command/lib}/update.rb +23 -14
  43. data/lib/pindo/command/lib.rb +16 -0
  44. data/lib/pindo/{pgyer → command/pgyer}/apptest.rb +7 -29
  45. data/lib/pindo/{pgyer → command/pgyer}/comment.rb +7 -30
  46. data/lib/pindo/{pgyer → command/pgyer}/download.rb +35 -30
  47. data/lib/pindo/{pgyer → command/pgyer}/login.rb +3 -4
  48. data/lib/pindo/command/pgyer/resign.rb +111 -0
  49. data/lib/pindo/command/pgyer/upload.rb +123 -0
  50. data/lib/pindo/command/pgyer.rb +18 -0
  51. data/lib/pindo/{repo.rb → command/repo.rb} +4 -4
  52. data/lib/pindo/{utils → command/utils}/applovin.rb +43 -33
  53. data/lib/pindo/{utils → command/utils}/boss.rb +3 -3
  54. data/lib/pindo/command/utils/icon.rb +81 -0
  55. data/lib/pindo/{utils → command/utils}/renewproj.rb +1 -0
  56. data/lib/pindo/command/utils.rb +26 -0
  57. data/lib/pindo/command.rb +23 -26
  58. data/lib/pindo/config/pindoconfig.rb +27 -0
  59. data/lib/pindo/module/appselect.rb +9 -8
  60. data/lib/pindo/module/build/swarkhelper.rb +95 -0
  61. data/lib/pindo/module/cert/certhelper.rb +187 -0
  62. data/lib/pindo/module/cert/keychainhelper.rb +150 -0
  63. data/lib/pindo/module/{pemcreate.rb → cert/pemhelper.rb} +3 -1
  64. data/lib/pindo/module/cert/provisioninghelper.rb +137 -0
  65. data/lib/pindo/module/cert/xcodecerthelper.rb +326 -0
  66. data/lib/pindo/module/{pgyerhelper.rb → pgyer/pgyerhelper.rb} +246 -36
  67. data/lib/pindo/module/xcode/xcodeappconfig.rb +188 -0
  68. data/lib/pindo/module/xcode/xcodebuildconfig.rb +12 -0
  69. data/lib/pindo/module/xcode/xcodebuildhelper.rb +312 -0
  70. data/lib/pindo/module/xcode/xcoderesconstant.rb +248 -0
  71. data/lib/pindo/module/xcode/xcodereshandler.rb +198 -0
  72. data/lib/pindo/module/xcode/xcodereshelper.rb +119 -0
  73. data/lib/pindo/options/appconfigoptions.rb +1 -0
  74. data/lib/pindo/options/deployoptions.rb +38 -42
  75. data/lib/pindo/version.rb +1 -1
  76. metadata +110 -97
  77. data/lib/pindo/deploy/Fastfile +0 -233
  78. data/lib/pindo/deploy/build.rb +0 -167
  79. data/lib/pindo/deploy/cert.rb +0 -508
  80. data/lib/pindo/deploy/configproj.rb +0 -89
  81. data/lib/pindo/deploy.rb +0 -44
  82. data/lib/pindo/dev.rb +0 -23
  83. data/lib/pindo/env/flutter.rb +0 -59
  84. data/lib/pindo/env/flutter.sh +0 -116
  85. data/lib/pindo/env.rb +0 -17
  86. data/lib/pindo/ipa.rb +0 -22
  87. data/lib/pindo/lib.rb +0 -18
  88. data/lib/pindo/module/buildconfighelper.rb +0 -13
  89. data/lib/pindo/module/buildhelper.rb +0 -76
  90. data/lib/pindo/module/config_project.sh +0 -143
  91. data/lib/pindo/module/configprojhelper.rb +0 -631
  92. data/lib/pindo/module/icon_contents.json +0 -116
  93. data/lib/pindo/module/imessage_icon.json +0 -91
  94. data/lib/pindo/module/imgset_contents.json +0 -21
  95. data/lib/pindo/module/launchimg_contents.json +0 -21
  96. data/lib/pindo/module/xcodebuildpre.rb +0 -258
  97. data/lib/pindo/pgyer/upload.rb +0 -234
  98. data/lib/pindo/pgyer.rb +0 -17
  99. data/lib/pindo/utils/icon.rb +0 -91
  100. data/lib/pindo/utils/icon.sh +0 -133
  101. data/lib/pindo/utils/podindex.rb +0 -56
  102. data/lib/pindo/utils/podindex.sh +0 -30
  103. data/lib/pindo/utils.rb +0 -29
  104. /data/lib/pindo/{deploy → command/deploy}/check.rb +0 -0
  105. /data/lib/pindo/{deploy → command/deploy}/confusecode.rb +0 -0
  106. /data/lib/pindo/{deploy → command/deploy}/confuseproj.rb +0 -0
  107. /data/lib/pindo/{deploy → command/deploy}/fabric.rb +0 -0
  108. /data/lib/pindo/{deploy → command/deploy}/initconfig.rb +0 -0
  109. /data/lib/pindo/{deploy → command/deploy}/pullconfig.rb +0 -0
  110. /data/lib/pindo/{deploy → command/deploy}/pushconfig.rb +0 -0
  111. /data/lib/pindo/{deploy → command/deploy}/quswark.rb +0 -0
  112. /data/lib/pindo/{deploy → command/deploy}/quswauth.rb +0 -0
  113. /data/lib/pindo/{deploy → command/deploy}/reportbug.rb +0 -0
  114. /data/lib/pindo/{deploy → command/deploy}/tag.rb +0 -0
  115. /data/lib/pindo/{deploy → command/deploy}/updateconfig.rb +0 -0
  116. /data/lib/pindo/{deploy → command/deploy}/uploadipa.rb +0 -0
  117. /data/lib/pindo/{dev → command/dev}/confusecode.rb +0 -0
  118. /data/lib/pindo/{dev → command/dev}/confuseproj.rb +0 -0
  119. /data/lib/pindo/{dev → command/dev}/pub.rb +0 -0
  120. /data/lib/pindo/{dev → command/dev}/renewcert.rb +0 -0
  121. /data/lib/pindo/{env → command/env}/dreamstudio.rb +0 -0
  122. /data/lib/pindo/{env → command/env}/quarkenv.rb +0 -0
  123. /data/lib/pindo/{env → command/env}/swarkenv.rb +0 -0
  124. /data/lib/pindo/{env → command/env}/workhard.rb +0 -0
  125. /data/lib/pindo/{lib → command/lib}/forcepush.rb +0 -0
  126. /data/lib/pindo/{lib → command/lib}/lint.rb +0 -0
  127. /data/lib/pindo/{lib → command/lib}/push.rb +0 -0
  128. /data/lib/pindo/{repo → command/repo}/clone.rb +0 -0
  129. /data/lib/pindo/{repo → command/repo}/create.rb +0 -0
  130. /data/lib/pindo/{repo → command/repo}/login.rb +0 -0
  131. /data/lib/pindo/{repo → command/repo}/search.rb +0 -0
  132. /data/lib/pindo/{setup.rb → command/setup.rb} +0 -0
  133. /data/lib/pindo/{upgrade.rb → command/upgrade.rb} +0 -0
  134. /data/lib/pindo/{utils → command/utils}/clearcert.rb +0 -0
  135. /data/lib/pindo/{utils → command/utils}/device.rb +0 -0
  136. /data/lib/pindo/{utils → command/utils}/tgate.rb +0 -0
  137. /data/lib/pindo/{utils → command/utils}/xcassets.rb +0 -0
  138. /data/lib/pindo/{utils → command/utils}/xcassets.sh +0 -0
  139. /data/lib/pindo/module/{appstore_in_app_purchase.rb → appstore/appstore_in_app_purchase.rb} +0 -0
  140. /data/lib/pindo/module/{appstore_metadata_connect_api_helper.rb → appstore/appstore_metadata_connect_api_helper.rb} +0 -0
  141. /data/lib/pindo/module/{appstore_metadata_fastlane_helper.rb → appstore/appstore_metadata_fastlane_helper.rb} +0 -0
  142. /data/lib/pindo/module/{iap_tier.json → appstore/iap_tier.json} +0 -0
  143. /data/lib/pindo/module/{commonconfuseproj.rb → build/commonconfuseproj.rb} +0 -0
  144. /data/lib/pindo/module/{xcodehelper.rb → xcode/xcodehelper.rb} +0 -0
@@ -2,9 +2,9 @@
2
2
  require 'uri'
3
3
  require 'json'
4
4
  require 'faraday'
5
- require 'pindo/base/aeshelper'
6
5
  require "aws-sdk-s3"
7
6
  require 'securerandom'
7
+ require 'pindo/base/aeshelper'
8
8
 
9
9
  module Pindo
10
10
 
@@ -115,64 +115,51 @@ module Pindo
115
115
  object_key = upload_path + file_uuid + extension
116
116
 
117
117
  puts "上传路径: #{object_key}"
118
-
118
+ puts
119
+
119
120
  upload_result = nil
121
+
122
+
123
+ Funlog.instance.fancyinfo_start("开始上传...")
124
+
120
125
  begin
121
-
122
-
123
- obj = Aws::S3::Object.new(@bucket_name, object_key)
124
126
 
125
- progress = Proc.new do |bytes, totals|
126
- set_progress(bytes.sum, totals.sum)
127
+ obj = Aws::S3::Object.new(@bucket_name, object_key)
128
+ progress = Proc.new do |bytes, totals|
129
+ set_progress(bytes.sum, totals.sum)
130
+ end
131
+
132
+ if isAttach
133
+ obj.upload_file(binary_file, progress_callback: progress, content_disposition:content_disposition)
134
+ else
135
+ obj.upload_file(binary_file, progress_callback: progress)
136
+ end
137
+
138
+ upload_result = object_key
139
+
140
+ Funlog.instance.fancyinfo_success(@upload_message)
141
+ Funlog.instance.fancyinfo_success("#{binary_file} 上传成功!")
142
+ rescue => ex
143
+ Funlog.instance.fancyinfo_error("#{binary_file} 上传失败!")
127
144
  end
128
-
129
-
130
- if isAttach
131
- puts
132
- puts "正在上传附件..."
133
- obj.upload_file(binary_file, progress_callback: progress, content_disposition:content_disposition)
134
- else
135
- puts
136
- puts "正在上传安装包..."
137
- obj.upload_file(binary_file, progress_callback: progress)
138
- end
139
-
140
- upload_result = object_key
141
-
142
- # bucket = find_bucket!()
143
- # details = {
144
- # # acl: 'private'
145
- # key: object_key,
146
- # body: bytes
147
- # }
148
- # obj = bucket.put_object(details)
149
- # # When you enable versioning on a S3 bucket,
150
- # # writing to an object will create an object version
151
- # # instead of replacing the existing object.
152
- # # http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/ObjectVersion.html
153
- # if obj.kind_of?(Aws::S3::ObjectVersion)
154
- # obj = obj.object
155
- # end
156
-
157
- # # Return public url
158
- # puts obj.public_url.to_s
159
- # upload_result = object_key
160
- rescue => ex
161
- puts ex.to_s
162
- puts "Upload S3 failed !!!"
163
- end
164
145
 
165
146
  return upload_result
166
147
  end
167
148
 
168
149
 
169
- def set_progress(index_num, total_num, char = '=')
150
+ def set_progress(index_num, total_num, char ='>' )
170
151
  progress_str = sprintf("%.2f", 100.0 * index_num / total_num )
171
152
  total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
172
153
  index = 100.0 * index_num / total_num
173
154
 
174
- $stdout.print " 已上传: #{progress_str} \% ", (char * (index/1).floor).ljust(100, ' '), " Total: #{total_size} M \r"
175
- $stdout.flush
155
+ # (char * (index/1).floor).ljust(100, ' ')
156
+
157
+ upload_message = "已上传:#{progress_str}\%【" + (char * (index/1).floor).ljust(100, '_') + "】Total: #{total_size} M"
158
+ @upload_message = upload_message
159
+ Funlog.instance.fancyinfo_update(upload_message)
160
+ # @spinner.reset
161
+ # $stdout.print " 已上传: #{progress_str} \% ", (char * (index/1).floor).ljust(100, ' '), " Total: #{total_size} M \r"
162
+ # $stdout.flush
176
163
  # print " 已上传: #{progress_str} \% ", (char * (index/1).floor).ljust(100, ' '), " Total: #{total_size} M \r"
177
164
  # $stdout.flush
178
165
  end
@@ -24,7 +24,7 @@ module Pindo
24
24
  attr_accessor :base_url
25
25
 
26
26
 
27
- def initialize(app_type:"FancyApp", is_dev:true, base_url:nil)
27
+ def initialize(app_type:"FunnyApp", is_dev:true, base_url:nil)
28
28
 
29
29
  #
30
30
  @app_type = app_type
@@ -133,10 +133,10 @@ module Pindo
133
133
 
134
134
  # all_cookies = res['set-cookie']
135
135
  all_cookies = File.read("/Users/wade/Desktop/cookie.txt")
136
- puts "111"
137
- puts all_cookies
136
+ # puts "111"
137
+ # puts all_cookies
138
138
  cookies_array = parse_cookie(all_cookies)
139
- puts JSON.pretty_generate(cookies_array)
139
+ # puts JSON.pretty_generate(cookies_array)
140
140
 
141
141
 
142
142
  end
@@ -6,9 +6,9 @@ require 'pindo/client/httpclient'
6
6
 
7
7
 
8
8
  module Pindo
9
-
10
9
 
11
- class PgyerClient
10
+
11
+ class PgyerClient
12
12
 
13
13
 
14
14
  attr_accessor :use_local_wechat_url
@@ -23,7 +23,7 @@ module Pindo
23
23
  @pgyer_token_file = File.join(File::expand_path(Pindoconfig.instance.pindo_dir), ".pgyer_token")
24
24
  config_file = File.join(File::expand_path(Pindoconfig.instance.pindo_common_configdir), "pgyer_client_config.json")
25
25
  config_json = JSON.parse(File.read(config_file))
26
-
26
+
27
27
  @use_local_wechat_url = config_json["use_local_wechat_url"]
28
28
  @baseurl = config_json["pgyerapps_base_url"]
29
29
  @request_config = config_json["pgyerapps_req_config"]
@@ -31,7 +31,7 @@ module Pindo
31
31
 
32
32
  rescue => error
33
33
  raise Informative, "加载pgyer配置文件失败, 需要执行 pindo setup 或者pindo env dreamstudio"
34
- end
34
+ end
35
35
 
36
36
  end
37
37
 
@@ -39,17 +39,18 @@ module Pindo
39
39
 
40
40
  end
41
41
 
42
-
42
+
43
43
  def do_login(force_login:false)
44
44
 
45
- login_success = false
46
45
 
47
- @token = load_token()
46
+
47
+ login_success = false
48
+ @token = load_token()
48
49
  if !@token.nil? && !@token["token"].nil? && !force_login
49
50
  login_success = true
50
51
 
51
- puts "用户#{@token["username"]}登录pgyer成功!!!"
52
- puts
52
+ # puts "用户#{@token["username"]}登录pgyer成功!!!"
53
+ # puts
53
54
 
54
55
  else
55
56
  username = nil
@@ -57,41 +58,45 @@ module Pindo
57
58
  username = @token["username"]
58
59
  checksum_password = nil
59
60
  if !@token["password"].nil?
60
- checksum_password = @token["password"]
61
+ checksum_password = @token["password"]
61
62
  end
62
63
  end
63
- token = do_login_req(username:username, checksum_password:checksum_password)
64
+ token = do_login_req(username:username, checksum_password:checksum_password)
64
65
  if !token.nil? && !token["token"].nil?
65
66
  @token = token
66
67
  login_success = true
67
- end
68
- end
68
+ end
69
+ end
70
+
69
71
  return login_success
70
72
  end
71
73
 
72
74
  def do_login_req(username:nil, checksum_password:nil)
73
- puts "do logn pgyer --- "
74
-
75
-
75
+
76
+
76
77
  login_name = username
77
- if login_name.nil?
78
+ if login_name.nil? || login_name.empty?
78
79
  login_name = ask('请输入pgger网站的usernmae:') || nil
79
80
  end
80
81
 
81
- puts "usernmae: #{login_name} "
82
+ checksum_pass = checksum_password
83
+ if checksum_pass.nil? || checksum_pass.empty?
84
+ login_passwork = ask('请输入pgger网站的密码:') || nil
85
+ checksum_pass = Digest::MD5.hexdigest(login_passwork)
86
+ end
82
87
 
83
- result_data = do_send_code(username:login_name)
88
+ if !login_name.nil? && !login_name.empty? && !checksum_pass.nil? && !checksum_pass.empty?
84
89
 
85
- puts "验证码: #{result_data["msg"]}"
90
+ else
91
+ raise Informative, "请输入正确的用户名和密码!"
92
+ end
86
93
 
87
94
 
88
- checksum_pass = checksum_password
89
- if checksum_pass.nil?
90
- login_passwork = ask('请输入pgger网站的密码:') || nil
91
- checksum_pass = Digest::MD5.hexdigest(login_passwork)
92
- end
95
+ Funlog.instance.fancyinfo_start("正在登录pgyer...")
96
+
97
+
98
+ result_data = do_send_code(username:login_name)
93
99
 
94
- # puts "passwork: #{checksum_pass}"
95
100
 
96
101
  boss_url = @baseurl + @request_config["do_login"]
97
102
  body_params = {
@@ -106,39 +111,42 @@ module Pindo
106
111
 
107
112
  begin
108
113
 
109
- con = HttpClient.create_instance_with_proxy
110
- res = con.post do |req|
111
- req.url boss_url
112
- req.headers['Content-Type'] = 'application/json'
113
- req.body = body_params.to_json
114
- end
114
+ con = HttpClient.create_instance_with_proxy
115
+ res = con.post do |req|
116
+ req.url boss_url
117
+ req.headers['Content-Type'] = 'application/json'
118
+ req.body = body_params.to_json
119
+ end
115
120
 
116
-
117
- if !res.body.nil?
118
- login_response_data = JSON.parse(res.body)
119
- end
121
+ if !res.body.nil?
122
+
123
+ login_response_data = JSON.parse(res.body)
124
+ end
120
125
 
121
126
  rescue => error
127
+ Funlog.instance.fancyinfo_error("pgyer登录失败!")
122
128
  puts "登录失败,请重试!!!"
123
- end
129
+ end
130
+
124
131
 
125
132
 
126
-
127
133
  # puts JSON.pretty_generate(login_response_data)
128
134
 
129
135
  if !login_response_data.nil? && !login_response_data["code"].nil? && login_response_data["code"].to_s.eql?("200")
130
- puts "登录成功!!!"
131
136
 
132
137
  token = {}
133
138
  token= login_response_data["data"]
134
139
  token["password"] = checksum_pass
135
140
  # puts JSON.pretty_generate(token)
136
141
  store_token(token:token)
142
+
143
+ Funlog.instance.fancyinfo_success("用户:#{@token["username"]}登录pgyer成功!")
144
+
137
145
  else
138
146
  if File.exist?(@pgyer_token_file)
139
- FileUtils.rm_rf(@pgyer_token_file)
147
+ FileUtils.rm_rf(@pgyer_token_file)
140
148
  end
141
- puts "登录失败,请重试!!!"
149
+ Funlog.instance.fancyinfo_error("pgyer登录失败!")
142
150
  end
143
151
 
144
152
  return token
@@ -148,47 +156,48 @@ module Pindo
148
156
  def load_token()
149
157
 
150
158
  @token = nil
159
+ Funlog.instance.fancyinfo_success("正在读取pgyer token...")
151
160
  if File.exist?(@pgyer_token_file)
152
161
  begin
153
- data = File.read(@pgyer_token_file)
162
+ data = File.read(@pgyer_token_file)
154
163
 
155
164
  data_string = AESHelper::aes_128_ecb_decrypt(@pgyer_aes_key, data)
156
165
  temp_token = data_string
157
166
  temp_token = JSON.parse(data_string)
158
167
  if !temp_token.nil? && !temp_token["token"].nil? && !temp_token["username"].nil?
159
168
  @token = temp_token
160
- # puts "加载pgyer token 成功!!! "
161
- end
169
+ Funlog.instance.fancyinfo_success("读取pgyer token成功!")
170
+ end
162
171
  rescue => error
163
172
  puts error
164
173
  # puts "加载pgyer token 失败!!! "
165
174
  if File.exist?(@pgyer_token_file)
166
- FileUtils.rm_rf(@pgyer_token_file)
175
+ FileUtils.rm_rf(@pgyer_token_file)
167
176
  end
177
+ Funlog.instance.fancyinfo_error("pgyer token文件不存在!")
168
178
  @token = nil
169
- end
179
+ end
170
180
  else
171
- # puts "load pgyer token ---- fail !!! "
172
- end
181
+ Funlog.instance.fancyinfo_error("pgyer token文件不存在!")
182
+ end
173
183
 
174
- return @token
184
+ return @token
175
185
  end
176
186
 
177
187
  def store_token(token:nil)
178
188
 
179
189
  begin
180
190
  @token = token
181
-
191
+
182
192
  data_string = AESHelper::aes_128_ecb_encrypt(@pgyer_aes_key, @token.to_json)
183
193
  File.open(@pgyer_token_file, "w") do |f|
184
194
  f.write(data_string)
185
195
  end
186
- puts "store pgyer token---- sucess !!!"
196
+ Funlog.instance.fancyinfo_success("token 存储成功!")
197
+ # puts "store pgyer token---- sucess !!!"
187
198
  rescue => error
188
- puts
189
- puts "store pgyer token---- sucess !!!"
190
- puts error
191
- end
199
+ Funlog.instance.fancyinfo_error("token存储失败!")
200
+ end
192
201
  end
193
202
 
194
203
  def do_send_code(username:nil)
@@ -201,7 +210,7 @@ module Pindo
201
210
  }
202
211
  # puts JSON.pretty_generate(body_params)
203
212
 
204
- con = HttpClient.create_instance_with_proxy
213
+ con = HttpClient.create_instance_with_proxy
205
214
  res = con.post do |req|
206
215
  req.url boss_url
207
216
  req.headers['Content-Type'] = 'application/json'
@@ -210,13 +219,13 @@ module Pindo
210
219
 
211
220
  result_date = nil
212
221
  if !res.body.nil?
213
- result_date = JSON.parse(res.body)
222
+ result_date = JSON.parse(res.body)
214
223
  end
215
-
224
+
216
225
  # puts JSON.pretty_generate(result_date)
217
226
 
218
227
  if !result_date.nil? && !result_date["code"].nil? && result_date["code"].to_s.eql?("200")
219
-
228
+
220
229
 
221
230
  res = con.post do |req|
222
231
  req.url boss_url
@@ -225,14 +234,14 @@ module Pindo
225
234
  end
226
235
 
227
236
  if !res.body.nil?
228
- result_date = JSON.parse(res.body)
237
+ result_date = JSON.parse(res.body)
229
238
  end
230
-
239
+
231
240
  end
232
241
 
233
-
242
+
234
243
  # puts JSON.pretty_generate(result_date)
235
-
244
+
236
245
  return result_date
237
246
 
238
247
  end
@@ -253,9 +262,9 @@ module Pindo
253
262
  }
254
263
 
255
264
  params.each { |key,value| get_params[key] = value }
256
-
257
265
 
258
- con = HttpClient.create_instance_with_proxy
266
+
267
+ con = HttpClient.create_instance_with_proxy
259
268
  res = con.get do |req|
260
269
  req.url boss_url
261
270
  req.headers['Content-Type'] = 'application/json'
@@ -265,22 +274,17 @@ module Pindo
265
274
 
266
275
  result_date = nil
267
276
  if !res.body.nil?
268
- result_date = JSON.parse(res.body)
277
+ result_date = JSON.parse(res.body)
269
278
 
270
279
  if !result_date["code"].nil? && result_date["code"].to_s.eql?("401")
271
280
  do_login(force_login:true)
272
281
  end
273
282
  end
274
-
275
-
276
- # puts JSON.pretty_generate(result_date)
277
-
278
- return result_date
279
283
 
280
- end
281
284
 
282
- def do_request(method, params)
285
+ # puts JSON.pretty_generate(result_date)
283
286
 
287
+ return result_date
284
288
 
285
289
  end
286
290
 
@@ -296,9 +300,9 @@ module Pindo
296
300
  return
297
301
  end
298
302
  params.each { |key,value| body_params[key] = value }
299
-
300
303
 
301
- con = HttpClient.create_instance_with_proxy
304
+
305
+ con = HttpClient.create_instance_with_proxy
302
306
  res = con.post do |req|
303
307
  req.url boss_url
304
308
  req.headers['Content-Type'] = 'application/json'
@@ -309,18 +313,18 @@ module Pindo
309
313
 
310
314
  result_date = nil
311
315
  if !res.body.nil?
312
- result_date = JSON.parse(res.body)
316
+ result_date = JSON.parse(res.body)
313
317
  end
314
-
315
-
318
+
319
+
316
320
  # puts JSON.pretty_generate(result_date)
317
-
321
+
318
322
  return result_date
319
323
 
320
324
  end
321
325
 
322
326
 
323
-
327
+
324
328
  # def post_app_update_binary(appId:nil, key_id:nil, description:nil)
325
329
  def post_app_update_binary(appId:nil, params:nil)
326
330
 
@@ -336,14 +340,14 @@ module Pindo
336
340
  }
337
341
 
338
342
  # puts body_params.to_json
339
- #
343
+ #
340
344
 
341
345
  params.each { |key,value| body_params[key] = value }
342
346
  # puts body_params.to_json
343
-
347
+
344
348
  # puts JSON.pretty_generate(body_params)
345
349
  # puts "111"
346
- con = HttpClient.create_instance_with_proxy
350
+ con = HttpClient.create_instance_with_proxy
347
351
  res = con.post do |req|
348
352
  req.url boss_url
349
353
  req.headers['Content-Type'] = 'application/json'
@@ -354,12 +358,12 @@ module Pindo
354
358
 
355
359
  result_date = nil
356
360
  if !res.body.nil?
357
- result_date = JSON.parse(res.body)
361
+ result_date = JSON.parse(res.body)
358
362
  end
359
-
360
-
363
+
364
+
361
365
  # puts JSON.pretty_generate(result_date)
362
-
366
+
363
367
  return result_date
364
368
 
365
369
  end
@@ -374,11 +378,11 @@ module Pindo
374
378
  pageNo:1,
375
379
  pageSize:20,
376
380
  }
377
-
381
+
378
382
  params.each { |key,value| get_params[key] = value }
379
-
380
383
 
381
- con = HttpClient.create_instance_with_proxy
384
+
385
+ con = HttpClient.create_instance_with_proxy
382
386
  res = con.get do |req|
383
387
  req.url boss_url
384
388
  req.headers['Content-Type'] = 'application/json'
@@ -388,12 +392,12 @@ module Pindo
388
392
 
389
393
  result_date = nil
390
394
  if !res.body.nil?
391
- result_date = JSON.parse(res.body)
395
+ result_date = JSON.parse(res.body)
392
396
  end
393
-
394
-
397
+
398
+
395
399
  # puts JSON.pretty_generate(result_date)
396
-
400
+
397
401
  return result_date
398
402
 
399
403
  end
@@ -412,7 +416,7 @@ module Pindo
412
416
  }
413
417
 
414
418
 
415
- con = HttpClient.create_instance_with_proxy
419
+ con = HttpClient.create_instance_with_proxy
416
420
 
417
421
  res = con.post do |req|
418
422
  req.url boss_url
@@ -424,16 +428,71 @@ module Pindo
424
428
 
425
429
  result_date = nil
426
430
  if !res.body.nil?
427
- result_date = JSON.parse(res.body)
431
+ result_date = JSON.parse(res.body)
428
432
  end
429
-
430
-
433
+
434
+
431
435
  # puts JSON.pretty_generate(result_date)
432
-
436
+
437
+ return result_date
438
+
439
+ end
440
+
441
+ def get_cert_list( )
442
+
443
+ params = {} if params.nil?
444
+ boss_url = @baseurl + @request_config["get_cert_list"]
445
+
446
+ con = HttpClient.create_instance_with_proxy
447
+ res = con.get do |req|
448
+ req.url boss_url
449
+ req.headers['Content-Type'] = 'application/json'
450
+ req.headers['token'] = @token["token"]
451
+ end
452
+
453
+ result_date = nil
454
+ if !res.body.nil?
455
+ result_date = JSON.parse(res.body)
456
+ end
457
+
458
+
459
+ # puts JSON.pretty_generate(result_date)
460
+
461
+ return result_date
462
+
463
+ end
464
+
465
+ def post_resign(appVersionId:nil, certId:nil)
466
+
467
+ boss_url = @baseurl + @request_config["post_resign"]
468
+
469
+ body_params = {
470
+ appVersionId:appVersionId,
471
+ certId:certId
472
+ }
473
+
474
+
475
+ con = HttpClient.create_instance_with_proxy
476
+
477
+ res = con.post do |req|
478
+ req.url boss_url
479
+ req.headers['Content-Type'] = 'application/json'
480
+ req.headers['token'] = @token["token"]
481
+ req.body = body_params.to_json
482
+ end
483
+
484
+
485
+ result_date = nil
486
+ if !res.body.nil?
487
+ result_date = JSON.parse(res.body)
488
+ end
489
+
490
+
491
+ # puts JSON.pretty_generate(result_date)
492
+
433
493
  return result_date
434
494
 
435
495
  end
436
496
 
437
497
  end
438
498
  end
439
-
@@ -0,0 +1,43 @@
1
+ require 'highline/import'
2
+ require 'xcodeproj'
3
+ require 'find'
4
+ require 'fileutils'
5
+
6
+ module Pindo
7
+ class Command
8
+ class Appstore < Command
9
+ class Iap < Appstore
10
+
11
+
12
+ self.summary = 'Appstore中iap相关操作'
13
+
14
+ self.description = <<-DESC
15
+ Appstore中iap相关操作,配置目录下执行:pindo appstore iap, 默认创建iap购买项
16
+ DESC
17
+
18
+ self.arguments = [
19
+ CLAide::Argument.new('path/to/config.json', false),
20
+ ]
21
+
22
+ def self.options
23
+ [
24
+ ['--download', '下载app的所有购买项,用法:pindo ipa output --download'],
25
+ ].concat(super)
26
+ end
27
+
28
+ def initialize(argv)
29
+
30
+ @args_download_name = argv.option('download')
31
+
32
+ super
33
+ end
34
+
35
+
36
+ def run
37
+
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end