pindo 5.4.0 → 5.5.0

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.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pindo/base/pindocontext.rb +42 -31
  3. data/lib/pindo/client/aws3sclient.rb +2 -2
  4. data/lib/pindo/client/httpclient.rb +1 -2
  5. data/lib/pindo/command/android/autobuild.rb +40 -18
  6. data/lib/pindo/command/android/build.rb +37 -16
  7. data/lib/pindo/command/android/debug.rb +34 -20
  8. data/lib/pindo/command/appstore/iap.rb +15 -1
  9. data/lib/pindo/command/appstore/itcapp.rb +15 -1
  10. data/lib/pindo/command/appstore/metadata.rb +15 -1
  11. data/lib/pindo/command/appstore/screenshots.rb +15 -1
  12. data/lib/pindo/command/appstore/upload.rb +15 -1
  13. data/lib/pindo/command/deploy/build.rb +35 -20
  14. data/lib/pindo/command/deploy/bundleid.rb +15 -1
  15. data/lib/pindo/command/deploy/cert.rb +19 -2
  16. data/lib/pindo/command/deploy/check.rb +15 -1
  17. data/lib/pindo/command/deploy/configproj.rb +15 -1
  18. data/lib/pindo/command/deploy/confusecode.rb +15 -1
  19. data/lib/pindo/command/deploy/confuseproj.rb +11 -1
  20. data/lib/pindo/command/deploy/fabric.rb +10 -1
  21. data/lib/pindo/command/deploy/getitcinfo.rb +11 -1
  22. data/lib/pindo/command/deploy/iap.rb +12 -1
  23. data/lib/pindo/command/deploy/initconfig.rb +11 -1
  24. data/lib/pindo/command/deploy/itcinfo.rb +12 -1
  25. data/lib/pindo/command/deploy/pullconfig.rb +11 -1
  26. data/lib/pindo/command/deploy/pushconfig.rb +11 -1
  27. data/lib/pindo/command/deploy/quswark.rb +12 -1
  28. data/lib/pindo/command/deploy/quswauth.rb +10 -1
  29. data/lib/pindo/command/deploy/reportbug.rb +11 -1
  30. data/lib/pindo/command/deploy/resign.rb +12 -1
  31. data/lib/pindo/command/deploy/updateconfig.rb +11 -1
  32. data/lib/pindo/command/deploy/uploadipa.rb +11 -1
  33. data/lib/pindo/command/env/dreamstudio.rb +13 -1
  34. data/lib/pindo/command/env/quarkenv.rb +13 -1
  35. data/lib/pindo/command/env/swarkenv.rb +13 -1
  36. data/lib/pindo/command/env/workhard.rb +13 -1
  37. data/lib/pindo/command/gplay/iap.rb +21 -5
  38. data/lib/pindo/command/gplay/itcapp.rb +19 -5
  39. data/lib/pindo/command/gplay/metadata.rb +23 -5
  40. data/lib/pindo/command/gplay/screenshots.rb +23 -5
  41. data/lib/pindo/command/gplay/upload.rb +21 -5
  42. data/lib/pindo/command/gplay.rb +8 -8
  43. data/lib/pindo/command/ios/adhoc.rb +18 -3
  44. data/lib/pindo/command/ios/autobuild.rb +22 -7
  45. data/lib/pindo/command/ios/autoresign.rb +18 -3
  46. data/lib/pindo/command/ios/build.rb +18 -4
  47. data/lib/pindo/command/ipa/autoresign.rb +35 -4
  48. data/lib/pindo/command/ipa/import.rb +19 -1
  49. data/lib/pindo/command/ipa/output.rb +39 -4
  50. data/lib/pindo/command/{pgyer → jps}/apptest.rb +35 -24
  51. data/lib/pindo/command/jps/bind.rb +191 -0
  52. data/lib/pindo/command/{pgyer → jps}/comment.rb +19 -19
  53. data/lib/pindo/command/{pgyer → jps}/download.rb +20 -20
  54. data/lib/pindo/command/{pgyer → jps}/login.rb +9 -9
  55. data/lib/pindo/command/{pgyer → jps}/resign.rb +40 -25
  56. data/lib/pindo/command/{pgyer → jps}/upload.rb +60 -43
  57. data/lib/pindo/command/jps.rb +18 -0
  58. data/lib/pindo/command/lib/forcepush.rb +15 -1
  59. data/lib/pindo/command/lib/push.rb +15 -1
  60. data/lib/pindo/command/lib/update.rb +15 -1
  61. data/lib/pindo/command/repo/clone.rb +11 -1
  62. data/lib/pindo/command/repo/create.rb +13 -1
  63. data/lib/pindo/command/repo/login.rb +14 -3
  64. data/lib/pindo/command/repo/search.rb +14 -2
  65. data/lib/pindo/command/unity/apk.rb +14 -28
  66. data/lib/pindo/command/unity/autobuild.rb +13 -13
  67. data/lib/pindo/command/unity/ipa.rb +15 -29
  68. data/lib/pindo/command/unity/web.rb +15 -15
  69. data/lib/pindo/command/utils/boss.rb +19 -2
  70. data/lib/pindo/command/utils/clearcert.rb +18 -2
  71. data/lib/pindo/command/utils/device.rb +19 -2
  72. data/lib/pindo/command/utils/icon.rb +20 -2
  73. data/lib/pindo/command/utils/renewcert.rb +28 -3
  74. data/lib/pindo/command/utils/renewproj.rb +25 -2
  75. data/lib/pindo/command/utils/tgate.rb +28 -3
  76. data/lib/pindo/command/utils/xcassets.rb +20 -2
  77. data/lib/pindo/command/web/autobuild.rb +18 -3
  78. data/lib/pindo/command.rb +8 -2
  79. data/lib/pindo/module/pgyer/pgyerhelper.rb +185 -85
  80. data/lib/pindo/version.rb +1 -1
  81. metadata +30 -12
  82. data/lib/pindo/client/pgyer_feishu_oauth_cli.rb +0 -669
  83. data/lib/pindo/client/pgyerclient.rb +0 -466
  84. data/lib/pindo/client/pgyeruploadclient.rb +0 -517
  85. data/lib/pindo/command/pgyer.rb +0 -18
@@ -0,0 +1,191 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+
5
+ module Pindo
6
+ class Command
7
+ class Jps < Command
8
+ class Bind < Jps
9
+
10
+ self.summary = '将编译的包与工作流绑定'
11
+
12
+ self.description = <<-DESC
13
+ 将编译的包与工作流绑定。
14
+
15
+ 支持功能:
16
+
17
+ * 绑定编译包到指定工作流
18
+
19
+ * 管理包与工作流的关联关系
20
+
21
+ * 支持多个工作流配置
22
+
23
+ * 自动验证绑定状态
24
+
25
+ 使用示例:
26
+
27
+ $ pindo jps bind # 绑定当前目录的包到默认工作流
28
+
29
+ $ pindo jps bind --proj=demo # 绑定指定项目到工作流
30
+
31
+ $ pindo jps bind --workflow=release # 绑定到指定的工作流
32
+
33
+ $ pindo jps bind --list # 列出所有可用的工作流
34
+ DESC
35
+
36
+ self.arguments = [
37
+
38
+ ]
39
+
40
+ def self.options
41
+ [
42
+ ['--proj', '指定要绑定的项目名称'],
43
+ ['--workflow', '指定要绑定的工作流名称'],
44
+ ['--list', '列出所有可用的工作流'],
45
+ ['--unbind', '解除包与工作流的绑定'],
46
+ ['--status', '查看当前绑定状态']
47
+ ].concat(super)
48
+ end
49
+
50
+ def initialize(argv)
51
+ @args_proj_name = argv.option('proj')
52
+ @args_workflow_name = argv.option('workflow')
53
+ @args_list_flag = argv.flag?('list', false)
54
+ @args_unbind_flag = argv.flag?('unbind', false)
55
+ @args_status_flag = argv.flag?('status', false)
56
+
57
+ super
58
+ @additional_args = argv.remainder!
59
+ end
60
+
61
+ def validate!
62
+ super
63
+ if @args_list_flag || @args_status_flag
64
+ # 列出或查看状态时不需要其他参数
65
+ return
66
+ end
67
+
68
+ if @args_unbind_flag && @args_workflow_name.nil?
69
+ help! '解除绑定时需要指定工作流名称'
70
+ end
71
+ end
72
+
73
+ def run
74
+ if @args_list_flag
75
+ list_workflows
76
+ elsif @args_status_flag
77
+ show_bind_status
78
+ elsif @args_unbind_flag
79
+ unbind_workflow
80
+ else
81
+ bind_to_workflow
82
+ end
83
+ end
84
+
85
+ private
86
+
87
+ def list_workflows
88
+ puts "\n可用的工作流列表:"
89
+ puts "─────────────────────────────"
90
+
91
+ # TODO: 从配置或API获取工作流列表
92
+ workflows = [
93
+ { name: "dev", description: "开发环境工作流" },
94
+ { name: "test", description: "测试环境工作流" },
95
+ { name: "staging", description: "预发布环境工作流" },
96
+ { name: "release", description: "正式发布工作流" }
97
+ ]
98
+
99
+ workflows.each do |workflow|
100
+ puts " • #{workflow[:name].ljust(12)} - #{workflow[:description]}"
101
+ end
102
+ puts "─────────────────────────────\n"
103
+ end
104
+
105
+ def show_bind_status
106
+ puts "\n当前绑定状态:"
107
+ puts "─────────────────────────────"
108
+
109
+ # TODO: 从配置或API获取当前绑定状态
110
+ proj_name = @args_proj_name || get_current_project_name
111
+
112
+ if proj_name
113
+ puts " 项目名称: #{proj_name}"
114
+ puts " 绑定状态: 已绑定"
115
+ puts " 工作流: release"
116
+ puts " 绑定时间: #{Time.now.strftime('%Y-%m-%d %H:%M:%S')}"
117
+ puts " 最后构建: #123"
118
+ else
119
+ puts " 当前没有绑定任何工作流"
120
+ end
121
+ puts "─────────────────────────────\n"
122
+ end
123
+
124
+ def bind_to_workflow
125
+ proj_name = @args_proj_name || get_current_project_name
126
+ workflow_name = @args_workflow_name || "dev"
127
+
128
+ if proj_name.nil? || proj_name.empty?
129
+ raise Informative, "无法确定项目名称,请使用 --proj 参数指定"
130
+ end
131
+
132
+ puts "\n正在绑定包到工作流..."
133
+ puts " 项目: #{proj_name}"
134
+ puts " 工作流: #{workflow_name}"
135
+
136
+ # TODO: 调用JPS API进行实际绑定
137
+ # result = JpsClient.bind_workflow(
138
+ # project: proj_name,
139
+ # workflow: workflow_name
140
+ # )
141
+
142
+ puts "\n✅ 绑定成功!"
143
+ puts " 包 '#{proj_name}' 已成功绑定到工作流 '#{workflow_name}'"
144
+ puts " 下次构建将自动触发该工作流"
145
+ end
146
+
147
+ def unbind_workflow
148
+ proj_name = @args_proj_name || get_current_project_name
149
+ workflow_name = @args_workflow_name
150
+
151
+ if proj_name.nil? || proj_name.empty?
152
+ raise Informative, "无法确定项目名称,请使用 --proj 参数指定"
153
+ end
154
+
155
+ puts "\n正在解除绑定..."
156
+ puts " 项目: #{proj_name}"
157
+ puts " 工作流: #{workflow_name}"
158
+
159
+ # TODO: 调用JPS API进行解除绑定
160
+ # result = JpsClient.unbind_workflow(
161
+ # project: proj_name,
162
+ # workflow: workflow_name
163
+ # )
164
+
165
+ puts "\n✅ 解除绑定成功!"
166
+ puts " 包 '#{proj_name}' 已从工作流 '#{workflow_name}' 解除绑定"
167
+ end
168
+
169
+ def get_current_project_name
170
+ # 尝试从当前目录获取项目名称
171
+ current_dir = Dir.pwd
172
+
173
+ # 1. 尝试从git仓库名获取
174
+ if File.directory?(File.join(current_dir, ".git"))
175
+ git_config = File.join(current_dir, ".git", "config")
176
+ if File.exist?(git_config)
177
+ config_content = File.read(git_config)
178
+ if config_content =~ /url = .*[\/:]([^\/]+?)(?:\.git)?$/
179
+ return $1
180
+ end
181
+ end
182
+ end
183
+
184
+ # 2. 尝试从目录名获取
185
+ File.basename(current_dir)
186
+ end
187
+
188
+ end
189
+ end
190
+ end
191
+ end
@@ -5,14 +5,14 @@ require 'pindo/module/pgyer/pgyerhelper'
5
5
 
6
6
  module Pindo
7
7
  class Command
8
- class Pgyer < Command
9
- class Comment < Pgyer
8
+ class Jps < Command
9
+ class Comment < Jps
10
10
 
11
- self.summary = '修改pgyer中已经上传安装包的备注信息'
11
+ self.summary = '修改jps中已经上传安装包的备注信息'
12
12
 
13
13
  self.description = <<-DESC
14
- 修改pgyer中已经上传安装包的备注信息。
15
-
14
+ 修改jps中已经上传安装包的备注信息。
15
+
16
16
  支持功能:
17
17
 
18
18
  * 修改版本备注
@@ -21,11 +21,11 @@ module Pindo
21
21
 
22
22
  使用示例:
23
23
 
24
- $ pindo pgyer comment # 修改当前目录项目的最新版本备注
25
-
26
- $ pindo pgyer comment --proj=demo # 修改指定项目的版本备注
27
-
28
- $ pindo pgyer comment --list # 列出历史版本供选择修改
24
+ $ pindo jps comment # 修改当前目录项目的最新版本备注
25
+
26
+ $ pindo jps comment --proj=demo # 修改指定项目的版本备注
27
+
28
+ $ pindo jps comment --list # 列出历史版本供选择修改
29
29
  DESC
30
30
 
31
31
  self.arguments = [
@@ -34,10 +34,10 @@ module Pindo
34
34
 
35
35
  def self.options
36
36
  [
37
- ['--login', '强制再次登录pgyer网站'],
38
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer comment --proj=prancksoundv4'],
39
- ['--list', '列出上传记录并选择,用法:pindo pgyer comment --list'],
40
-
37
+ ['--login', '强制再次登录jps网站'],
38
+ ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo jps comment --proj=prancksoundv4'],
39
+ ['--list', '列出上传记录并选择,用法:pindo jps comment --list'],
40
+
41
41
  ].concat(super)
42
42
  end
43
43
 
@@ -59,21 +59,21 @@ module Pindo
59
59
  end
60
60
 
61
61
  def run
62
-
62
+
63
63
  PgyerHelper.share_instace.setForeLogin(beforeLogin:@args_login_flag)
64
64
  app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
65
65
 
66
66
  if app_info_obj.nil?
67
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
67
+ raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, jps网站没有该App"
68
68
  end
69
69
 
70
-
70
+
71
71
  version_item_obj = PgyerHelper.share_instace.get_versioon_history_item(app_info_obj:app_info_obj, list_select_flat:@args_list_flag)
72
72
 
73
73
  if version_item_obj.nil?
74
74
  raise Informative, "没有找到上传记录"
75
75
  end
76
-
76
+
77
77
  PgyerHelper.share_instace.modify_coment(app_info_obj:app_info_obj, version_item_obj:version_item_obj)
78
78
 
79
79
  end
@@ -81,4 +81,4 @@ module Pindo
81
81
  end
82
82
  end
83
83
  end
84
- end
84
+ end
@@ -6,14 +6,14 @@ require 'open-uri'
6
6
 
7
7
  module Pindo
8
8
  class Command
9
- class Pgyer < Command
10
- class Download < Pgyer
9
+ class Jps < Command
10
+ class Download < Jps
11
11
 
12
12
 
13
- self.summary = '从pgyer下载指定app的安装包'
13
+ self.summary = '从jps下载指定app的安装包'
14
14
 
15
15
  self.description = <<-DESC
16
- pgyer下载指定app的安装包。
16
+ jps下载指定app的安装包。
17
17
 
18
18
  支持功能:
19
19
 
@@ -23,11 +23,11 @@ module Pindo
23
23
 
24
24
  使用示例:
25
25
 
26
- $ pindo pgyer download # 下载当前目录项目的最新版本
27
-
28
- $ pindo pgyer download --proj=demo # 下载指定项目的安装包
29
-
30
- $ pindo pgyer download --list # 列出历史版本供选择下载
26
+ $ pindo jps download # 下载当前目录项目的最新版本
27
+
28
+ $ pindo jps download --proj=demo # 下载指定项目的安装包
29
+
30
+ $ pindo jps download --list # 列出历史版本供选择下载
31
31
  DESC
32
32
 
33
33
  self.arguments = [
@@ -36,9 +36,9 @@ module Pindo
36
36
 
37
37
  def self.options
38
38
  [
39
- ['--login', '强制再次登录pgyer网站'],
40
- ['--list', '列出上传记录并选择,用法:pindo pgyer download --list'],
41
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer download --proj=prancksoundv4'],
39
+ ['--login', '强制再次登录jps网站'],
40
+ ['--list', '列出上传记录并选择,用法:pindo jps download --list'],
41
+ ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo jps download --proj=prancksoundv4'],
42
42
  ].concat(super)
43
43
  end
44
44
 
@@ -65,7 +65,7 @@ module Pindo
65
65
  app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
66
66
 
67
67
  if app_info_obj.nil?
68
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
68
+ raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, jps网站没有该App"
69
69
  end
70
70
 
71
71
  version_item_obj = PgyerHelper.share_instace.get_versioon_history_item(app_info_obj:app_info_obj, list_select_flat:@args_list_flag)
@@ -73,10 +73,10 @@ module Pindo
73
73
  if version_item_obj.nil?
74
74
  raise Informative, "没有找到上传记录"
75
75
  end
76
-
76
+
77
77
  download_url = version_item_obj["cdnUrl"]
78
78
 
79
- base_name = [app_info_obj["appName"], version_item_obj["appVersion"], version_item_obj["incId"]].join("_")
79
+ base_name = [app_info_obj["projectName"], version_item_obj["projectVersion"], version_item_obj["incId"]].join("_")
80
80
  base_name = base_name + File.extname(download_url)
81
81
  # key_proj_name = proj_name.downcase.strip.gsub(/[\s\-_]/, '')
82
82
  base_name = base_name.strip.gsub(/[\s]/, '').downcase
@@ -84,7 +84,7 @@ module Pindo
84
84
  puts "文件名: #{file_name}"
85
85
  puts "下载中..."
86
86
  # File.binwrite(file_name, FastlaneCore::Helper.open_uri(download_url).read)
87
-
87
+
88
88
 
89
89
 
90
90
  # 使用选项参数
@@ -98,17 +98,17 @@ module Pindo
98
98
 
99
99
  URI.open(download_url, :content_length_proc => lambda { |total|
100
100
  total_num = total
101
- total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
101
+ total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
102
102
  }, :progress_proc => lambda { |index_num|
103
103
 
104
104
  progress_str = sprintf("%.2f", 100.0 * index_num / total_num )
105
- total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
105
+ total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
106
106
  index = 40.0 * index_num / total_num
107
107
  download_message = "已下载:#{progress_str}\%【" + (char_in * (index/1).floor).ljust(40.0, char_out) + "】Total: #{total_size} M"
108
108
  Funlog.instance.fancyinfo_update(download_message)
109
109
 
110
110
  }) do |file|
111
- File.binwrite(file_name, file.read)
111
+ File.binwrite(file_name, file.read)
112
112
  end
113
113
 
114
114
  Funlog.instance.fancyinfo_success(download_message)
@@ -119,4 +119,4 @@ module Pindo
119
119
  end
120
120
  end
121
121
  end
122
- end
122
+ end
@@ -5,14 +5,14 @@ require 'pindo/module/pgyer/pgyerhelper'
5
5
 
6
6
  module Pindo
7
7
  class Command
8
- class Pgyer < Command
8
+ class Jps < Command
9
9
 
10
- class Login < Pgyer
10
+ class Login < Jps
11
11
 
12
- self.summary = '登录pgyer测试平台'
12
+ self.summary = '登录jps测试平台'
13
13
 
14
14
  self.description = <<-DESC
15
- 登录pgyer测试平台。
15
+ 登录jps测试平台。
16
16
 
17
17
  支持功能:
18
18
 
@@ -22,9 +22,9 @@ module Pindo
22
22
 
23
23
  使用示例:
24
24
 
25
- $ pindo pgyer login # 登录pgyer
26
-
27
- $ pindo pgyer login --force # 强制重新登录
25
+ $ pindo jps login # 登录jps
26
+
27
+ $ pindo jps login --force # 强制重新登录
28
28
  DESC
29
29
 
30
30
  self.arguments = [
@@ -33,7 +33,7 @@ module Pindo
33
33
 
34
34
  def self.options
35
35
  [
36
- ['--force', '强制重新登录pgyer'],
36
+ ['--force', '强制重新登录jps'],
37
37
  ].concat(super)
38
38
  end
39
39
 
@@ -67,4 +67,4 @@ module Pindo
67
67
  end
68
68
  end
69
69
  end
70
- end
70
+ end
@@ -4,14 +4,14 @@ require 'pindo/module/pgyer/pgyerhelper'
4
4
 
5
5
  module Pindo
6
6
  class Command
7
- class Pgyer < Command
8
- class Resign < Pgyer
7
+ class Jps < Command
8
+ class Resign < Jps
9
9
 
10
10
 
11
- self.summary = '重签名pgyer中的安装包'
11
+ self.summary = '重签名jps中的安装包'
12
12
 
13
13
  self.description = <<-DESC
14
- 重签名pgyer中的安装包。
14
+ 重签名jps中的安装包。
15
15
 
16
16
  支持功能:
17
17
 
@@ -21,15 +21,15 @@ module Pindo
21
21
 
22
22
  使用示例:
23
23
 
24
- $ pindo pgyer resign # 重签名当前项目最新版本
25
-
26
- $ pindo pgyer resign --proj=demo # 重签名指定项目
27
-
28
- $ pindo pgyer resign --list # 列出历史版本供选择
29
-
30
- $ pindo pgyer resign --certid=xxx # 使用指定证书重签名
31
-
32
- $ pindo pgyer resign --send # 重签名后发送测试信息
24
+ $ pindo jps resign # 重签名当前项目最新版本
25
+
26
+ $ pindo jps resign --proj=demo # 重签名指定项目
27
+
28
+ $ pindo jps resign --list # 列出历史版本供选择
29
+
30
+ $ pindo jps resign --certid=xxx # 使用指定证书重签名
31
+
32
+ $ pindo jps resign --send # 重签名后发送测试信息
33
33
  DESC
34
34
 
35
35
  self.arguments = [
@@ -38,11 +38,11 @@ module Pindo
38
38
 
39
39
  def self.options
40
40
  [
41
- ['--login', '强制再次登录pgyer网站'],
42
- ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo pgyer resign --proj=prancksoundv4'],
43
- ['--list', '列出上传记录并选择,用法:pindo pgyer resign --list'],
44
- ['--send', '上传到之后是否发送测试信息,用法:pindo pgyer resign --send'],
45
- ['--certid', '设置重签名的正式id,用法:pindo pgyer resign --resignid=com.test.bundleid'],
41
+ ['--login', '强制再次登录jps网站'],
42
+ ['--proj', '指定哪个项目(忽略大小写空格等等字符),用法:pindo jps resign --proj=prancksoundv4'],
43
+ ['--list', '列出上传记录并选择,用法:pindo jps resign --list'],
44
+ ['--send', '发送消息到项目群(注意:不带此参数也会发送给自己),用法:pindo jps resign --send'],
45
+ ['--certid', '设置重签名的正式id,用法:pindo jps resign --resignid=com.test.bundleid'],
46
46
  ].concat(super)
47
47
  end
48
48
 
@@ -70,7 +70,7 @@ module Pindo
70
70
  app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:@args_proj_name)
71
71
 
72
72
  if app_info_obj.nil?
73
- raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
73
+ raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, jps网站没有该App"
74
74
  end
75
75
 
76
76
 
@@ -102,7 +102,7 @@ module Pindo
102
102
 
103
103
 
104
104
 
105
- result = PgyerHelper.share_instace.resign(version_id:version_item_obj["id"], cert_id:cert_item["id"])
105
+ result = PgyerHelper.share_instace.resign(package_id:version_item_obj["id"], cert_id:cert_item["id"])
106
106
 
107
107
  if result
108
108
  version_item_obj = PgyerHelper.share_instace.get_versioon_history_item(app_info_obj:app_info_obj, list_select_flat:false)
@@ -110,11 +110,26 @@ module Pindo
110
110
  if version_item_obj.nil?
111
111
  raise Informative, "没有找到上传记录"
112
112
  end
113
- msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:version_item_obj)
114
- PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
115
-
113
+ PgyerHelper.share_instace.print_app_version_info(
114
+ app_info_obj: app_info_obj,
115
+ app_version_info_obj: version_item_obj
116
+ )
117
+
118
+ # 始终发送给自己
119
+ PgyerHelper.share_instace.send_apptest_msg(
120
+ app_info_obj: app_info_obj,
121
+ app_version_info_obj: version_item_obj,
122
+ receiveType: "self"
123
+ )
124
+
125
+ # 如果有 --send 参数,额外发送到测试群
116
126
  if @args_send_flag
117
- PgyerHelper.share_instace.send_apptest_wechat_msg(msg_data:msg_data, wechat_url:app_info_obj["prodWeComUrl"])
127
+ PgyerHelper.share_instace.send_apptest_msg(
128
+ app_info_obj: app_info_obj,
129
+ app_version_info_obj: version_item_obj,
130
+ chatEnv: "DevTest",
131
+ receiveType: "chat"
132
+ )
118
133
  end
119
134
  end
120
135
 
@@ -126,4 +141,4 @@ module Pindo
126
141
  end
127
142
  end
128
143
  end
129
- end
144
+ end