pindo 5.4.1 → 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.
- checksums.yaml +4 -4
- data/lib/pindo/client/aws3sclient.rb +2 -2
- data/lib/pindo/client/httpclient.rb +1 -2
- data/lib/pindo/command/android/autobuild.rb +40 -18
- data/lib/pindo/command/android/build.rb +37 -16
- data/lib/pindo/command/android/debug.rb +34 -20
- data/lib/pindo/command/appstore/iap.rb +15 -1
- data/lib/pindo/command/appstore/itcapp.rb +15 -1
- data/lib/pindo/command/appstore/metadata.rb +15 -1
- data/lib/pindo/command/appstore/screenshots.rb +15 -1
- data/lib/pindo/command/appstore/upload.rb +15 -1
- data/lib/pindo/command/deploy/build.rb +35 -20
- data/lib/pindo/command/deploy/bundleid.rb +15 -1
- data/lib/pindo/command/deploy/cert.rb +19 -2
- data/lib/pindo/command/deploy/check.rb +15 -1
- data/lib/pindo/command/deploy/configproj.rb +15 -1
- data/lib/pindo/command/deploy/confusecode.rb +15 -1
- data/lib/pindo/command/deploy/confuseproj.rb +11 -1
- data/lib/pindo/command/deploy/fabric.rb +10 -1
- data/lib/pindo/command/deploy/getitcinfo.rb +11 -1
- data/lib/pindo/command/deploy/iap.rb +12 -1
- data/lib/pindo/command/deploy/initconfig.rb +11 -1
- data/lib/pindo/command/deploy/itcinfo.rb +12 -1
- data/lib/pindo/command/deploy/pullconfig.rb +11 -1
- data/lib/pindo/command/deploy/pushconfig.rb +11 -1
- data/lib/pindo/command/deploy/quswark.rb +12 -1
- data/lib/pindo/command/deploy/quswauth.rb +10 -1
- data/lib/pindo/command/deploy/reportbug.rb +11 -1
- data/lib/pindo/command/deploy/resign.rb +12 -1
- data/lib/pindo/command/deploy/updateconfig.rb +11 -1
- data/lib/pindo/command/deploy/uploadipa.rb +11 -1
- data/lib/pindo/command/env/dreamstudio.rb +13 -1
- data/lib/pindo/command/env/quarkenv.rb +13 -1
- data/lib/pindo/command/env/swarkenv.rb +13 -1
- data/lib/pindo/command/env/workhard.rb +13 -1
- data/lib/pindo/command/gplay/iap.rb +21 -5
- data/lib/pindo/command/gplay/itcapp.rb +19 -5
- data/lib/pindo/command/gplay/metadata.rb +23 -5
- data/lib/pindo/command/gplay/screenshots.rb +23 -5
- data/lib/pindo/command/gplay/upload.rb +21 -5
- data/lib/pindo/command/gplay.rb +8 -8
- data/lib/pindo/command/ios/adhoc.rb +18 -3
- data/lib/pindo/command/ios/autobuild.rb +22 -7
- data/lib/pindo/command/ios/autoresign.rb +18 -3
- data/lib/pindo/command/ios/build.rb +18 -4
- data/lib/pindo/command/ipa/autoresign.rb +35 -4
- data/lib/pindo/command/ipa/import.rb +19 -1
- data/lib/pindo/command/ipa/output.rb +39 -4
- data/lib/pindo/command/{pgyer → jps}/apptest.rb +35 -24
- data/lib/pindo/command/jps/bind.rb +191 -0
- data/lib/pindo/command/{pgyer → jps}/comment.rb +19 -19
- data/lib/pindo/command/{pgyer → jps}/download.rb +20 -20
- data/lib/pindo/command/{pgyer → jps}/login.rb +9 -9
- data/lib/pindo/command/{pgyer → jps}/resign.rb +40 -25
- data/lib/pindo/command/{pgyer → jps}/upload.rb +60 -43
- data/lib/pindo/command/jps.rb +18 -0
- data/lib/pindo/command/lib/forcepush.rb +15 -1
- data/lib/pindo/command/lib/push.rb +15 -1
- data/lib/pindo/command/lib/update.rb +15 -1
- data/lib/pindo/command/repo/clone.rb +11 -1
- data/lib/pindo/command/repo/create.rb +13 -1
- data/lib/pindo/command/repo/login.rb +14 -3
- data/lib/pindo/command/repo/search.rb +14 -2
- data/lib/pindo/command/unity/apk.rb +14 -28
- data/lib/pindo/command/unity/autobuild.rb +13 -13
- data/lib/pindo/command/unity/ipa.rb +15 -29
- data/lib/pindo/command/unity/web.rb +15 -15
- data/lib/pindo/command/utils/boss.rb +19 -2
- data/lib/pindo/command/utils/clearcert.rb +18 -2
- data/lib/pindo/command/utils/device.rb +19 -2
- data/lib/pindo/command/utils/icon.rb +20 -2
- data/lib/pindo/command/utils/renewcert.rb +28 -3
- data/lib/pindo/command/utils/renewproj.rb +25 -2
- data/lib/pindo/command/utils/tgate.rb +28 -3
- data/lib/pindo/command/utils/xcassets.rb +20 -2
- data/lib/pindo/command/web/autobuild.rb +18 -3
- data/lib/pindo/command.rb +1 -1
- data/lib/pindo/module/pgyer/pgyerhelper.rb +185 -85
- data/lib/pindo/version.rb +1 -1
- metadata +30 -12
- data/lib/pindo/client/pgyer_feishu_oauth_cli.rb +0 -669
- data/lib/pindo/client/pgyerclient.rb +0 -466
- data/lib/pindo/client/pgyeruploadclient.rb +0 -517
- data/lib/pindo/command/pgyer.rb +0 -18
@@ -4,9 +4,12 @@ require 'fileutils'
|
|
4
4
|
require 'json'
|
5
5
|
require 'faraday'
|
6
6
|
require "rqrcode"
|
7
|
-
require '
|
8
|
-
|
9
|
-
require 'pindo/
|
7
|
+
require 'jpsclient'
|
8
|
+
require 'pindo/config/pindoconfig'
|
9
|
+
require 'pindo/config/pindouserlocalconfig'
|
10
|
+
require 'pindo/base/pindocontext'
|
11
|
+
require 'pindo/base/funlog'
|
12
|
+
require 'pindo/base/githelper'
|
10
13
|
|
11
14
|
|
12
15
|
module Pindo
|
@@ -25,9 +28,11 @@ module Pindo
|
|
25
28
|
end
|
26
29
|
|
27
30
|
|
28
|
-
def initialize()
|
31
|
+
def initialize(config_file: nil)
|
29
32
|
@force_login = false
|
30
33
|
@has_login = false
|
34
|
+
# PgyerHelper 提供默认配置路径
|
35
|
+
@config_file = config_file || File.join(File::expand_path(Pindoconfig.instance.pindo_common_configdir), "jps_client_config.json")
|
31
36
|
end
|
32
37
|
|
33
38
|
def setForeLogin(beforeLogin:nil)
|
@@ -35,7 +40,7 @@ module Pindo
|
|
35
40
|
end
|
36
41
|
|
37
42
|
def login
|
38
|
-
@pgyer_client =
|
43
|
+
@pgyer_client = JPSClient::Client.new(config_file: @config_file)
|
39
44
|
if @force_login || !@has_login
|
40
45
|
@has_login = @pgyer_client.do_login(force_login:@force_login)
|
41
46
|
@force_login = false
|
@@ -152,7 +157,7 @@ module Pindo
|
|
152
157
|
raise Informative, "#{upload_proj_name} 名称错误, 请输入正确的App代号,Pgyer网站没有该App!!!"
|
153
158
|
else
|
154
159
|
# 记录上次上传的项目
|
155
|
-
PindoUserLocalConfig.instance.write_last_work_project(proj_name:app_info_obj["
|
160
|
+
PindoUserLocalConfig.instance.write_last_work_project(proj_name:app_info_obj["projectName"])
|
156
161
|
end
|
157
162
|
|
158
163
|
|
@@ -165,6 +170,22 @@ module Pindo
|
|
165
170
|
|
166
171
|
def start_upload(app_info_obj:nil, ipa_file_upload:nil, description:nil)
|
167
172
|
|
173
|
+
# 根据文件扩展名判断包类型
|
174
|
+
package_type = nil
|
175
|
+
if ipa_file_upload
|
176
|
+
ext = File.extname(ipa_file_upload).downcase
|
177
|
+
case ext
|
178
|
+
when '.ipa'
|
179
|
+
package_type = 'ipa'
|
180
|
+
when '.apk'
|
181
|
+
package_type = 'apk'
|
182
|
+
when '.aab'
|
183
|
+
package_type = 'apk' # AAB也归类为apk类型
|
184
|
+
when '.zip', '.html', '.app'
|
185
|
+
package_type = 'zip'
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
168
189
|
if !ipa_file_upload.nil? &&
|
169
190
|
File.extname(ipa_file_upload).eql?(".app") &&
|
170
191
|
File.extname(ipa_file_upload).eql?(".apk")
|
@@ -254,13 +275,13 @@ module Pindo
|
|
254
275
|
end
|
255
276
|
|
256
277
|
puts
|
257
|
-
puts "上传项目: #{app_info_obj["
|
278
|
+
puts "上传项目: #{app_info_obj["projectName"]}"
|
258
279
|
print "上传备注: "
|
259
280
|
puts description
|
260
281
|
|
261
282
|
|
262
283
|
# aws_client = AWSS3Client.new
|
263
|
-
aws_client =
|
284
|
+
aws_client = JPSClient::UploadClient.new(@pgyer_client)
|
264
285
|
upload_res = aws_client.upload_file(binary_file:ipa_file_upload)
|
265
286
|
puts upload_res
|
266
287
|
attach_key_url = nil
|
@@ -284,12 +305,17 @@ module Pindo
|
|
284
305
|
|
285
306
|
puts attachFileUrls
|
286
307
|
|
287
|
-
result_data = @pgyer_client.
|
308
|
+
result_data = @pgyer_client.upload_project_package(projectId:app_info_obj["id"], params:{
|
288
309
|
description: description,
|
289
|
-
|
310
|
+
packageUrl: upload_res,
|
290
311
|
attachFileUrls:attachFileUrls
|
291
312
|
})
|
292
313
|
|
314
|
+
# 将package_type信息附加到返回结果中
|
315
|
+
if result_data && result_data["data"]
|
316
|
+
result_data["package_type"] = package_type
|
317
|
+
end
|
318
|
+
|
293
319
|
return result_data
|
294
320
|
else
|
295
321
|
raise Informative, "上传失败!"
|
@@ -314,45 +340,106 @@ module Pindo
|
|
314
340
|
wechat_msg_url
|
315
341
|
end
|
316
342
|
|
317
|
-
def send_apptest_msg(
|
343
|
+
def send_apptest_msg(app_info_obj:nil, app_version_info_obj:nil, receiveType:"self", chatEnv:nil)
|
344
|
+
# 发送飞书测试消息
|
345
|
+
# 参数:
|
346
|
+
# - app_info_obj: 项目信息对象
|
347
|
+
# - app_version_info_obj: 版本信息对象
|
348
|
+
# - receiveType: 接收类型 ("self" 或 "chat")
|
349
|
+
# - chatEnv: 聊天环境
|
318
350
|
|
319
|
-
|
320
|
-
result = @pgyer_client.post_message(appId:appId, appVersionId:appVersionId, chatEnv: chatEnv, receiveType:receiveType)
|
351
|
+
return false if app_info_obj.nil? || app_version_info_obj.nil?
|
321
352
|
|
322
|
-
|
323
|
-
|
353
|
+
projectId = app_info_obj["id"]
|
354
|
+
packageId = app_version_info_obj["id"]
|
355
|
+
indexNo = app_version_info_obj["incId"]
|
356
|
+
|
357
|
+
if projectId.nil? || packageId.nil?
|
358
|
+
Funlog.instance.fancyinfo_error("缺少必要的项目ID或包ID")
|
359
|
+
return false
|
360
|
+
end
|
361
|
+
|
362
|
+
# 根据接收类型显示不同的提示信息
|
363
|
+
if receiveType == "self"
|
364
|
+
Funlog.instance.fancyinfo_start("正在发送飞书消息给个人...")
|
365
|
+
elsif receiveType == "chat"
|
366
|
+
if chatEnv == "DevTest"
|
367
|
+
Funlog.instance.fancyinfo_start("正在发送飞书消息到开发测试群组...")
|
368
|
+
elsif chatEnv == "PreFavTest"
|
369
|
+
Funlog.instance.fancyinfo_start("正在发送飞书消息到预发布群组...")
|
370
|
+
else
|
371
|
+
Funlog.instance.fancyinfo_start("正在发送飞书消息到项目群组...")
|
372
|
+
end
|
373
|
+
else
|
374
|
+
Funlog.instance.fancyinfo_start("正在发送飞书消息到项目群组...")
|
375
|
+
end
|
376
|
+
|
377
|
+
# 注意:当前版本的 jpsclient 可能不支持 indexNo 参数
|
378
|
+
result = @pgyer_client.send_project_package_message(
|
379
|
+
projectId: projectId,
|
380
|
+
packageId: packageId,
|
381
|
+
chatEnv: chatEnv,
|
382
|
+
receiveType: receiveType,
|
383
|
+
indexNo: indexNo
|
384
|
+
)
|
385
|
+
|
386
|
+
if !result.nil? && (result["code"] == 200 || result["code"].to_s == "200")
|
387
|
+
# 如果返回码是200,无论data是什么都认为成功
|
388
|
+
if receiveType == "self"
|
389
|
+
Funlog.instance.fancyinfo_success("测试信息已发送到飞书(个人)!")
|
390
|
+
elsif receiveType == "chat"
|
391
|
+
if chatEnv == "DevTest"
|
392
|
+
Funlog.instance.fancyinfo_success("测试信息已发送到飞书开发测试群组!")
|
393
|
+
elsif chatEnv == "PreFavTest"
|
394
|
+
Funlog.instance.fancyinfo_success("测试信息已发送到飞书预发布群组!")
|
395
|
+
else
|
396
|
+
Funlog.instance.fancyinfo_success("测试信息已发送到飞书项目群组!")
|
397
|
+
end
|
398
|
+
else
|
399
|
+
Funlog.instance.fancyinfo_success("测试信息已发送到飞书项目群组!")
|
400
|
+
end
|
324
401
|
return true
|
325
402
|
else
|
326
|
-
|
403
|
+
if result.nil?
|
404
|
+
Funlog.instance.fancyinfo_error("未发送飞书测试信息!错误: 请求失败")
|
405
|
+
elsif result["msg"] && !result["msg"].empty?
|
406
|
+
Funlog.instance.fancyinfo_error("未发送飞书测试信息!错误: #{result["msg"]}")
|
407
|
+
elsif result["message"] && !result["message"].empty?
|
408
|
+
Funlog.instance.fancyinfo_error("未发送飞书测试信息!错误: #{result["message"]}")
|
409
|
+
else
|
410
|
+
Funlog.instance.fancyinfo_error("未发送飞书测试信息!错误: 响应码 #{result["code"]}")
|
411
|
+
end
|
327
412
|
return false
|
328
413
|
end
|
329
414
|
|
330
415
|
end
|
331
416
|
|
332
|
-
def send_apptest_wechat_msg(
|
417
|
+
def send_apptest_wechat_msg(app_info_obj:nil, app_version_info_obj:nil, wechat_url:nil)
|
418
|
+
|
419
|
+
# 发送企业微信消息
|
420
|
+
return false if app_info_obj.nil? || app_version_info_obj.nil?
|
333
421
|
|
334
422
|
wechat_msg_url = wechat_url
|
335
423
|
if wechat_msg_url.nil? || wechat_msg_url.empty?
|
336
424
|
wechat_msg_url = get_user_local_wechat_url()
|
337
425
|
end
|
338
426
|
|
339
|
-
if
|
340
|
-
|
341
|
-
else
|
427
|
+
if wechat_msg_url.nil? || wechat_msg_url.empty?
|
342
428
|
puts "企业微信Wechat Url无效"
|
429
|
+
return false
|
343
430
|
end
|
344
431
|
|
345
432
|
begin
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
bundle_id =
|
351
|
-
app_version =
|
352
|
-
index_num =
|
353
|
-
upload_time =
|
354
|
-
description =
|
355
|
-
msg_from =
|
433
|
+
# 从对象提取信息
|
434
|
+
app_name = app_info_obj["projectName"]
|
435
|
+
download_password = app_info_obj["password"]
|
436
|
+
download_url = "#{app_info_obj["downloadUrl"]}?id=#{app_version_info_obj["id"]}"
|
437
|
+
bundle_id = app_version_info_obj["bundleId"]
|
438
|
+
app_version = app_version_info_obj["projectVersion"]
|
439
|
+
index_num = app_version_info_obj["incId"]
|
440
|
+
upload_time = app_version_info_obj["updateTime"]
|
441
|
+
description = app_version_info_obj["description"]
|
442
|
+
msg_from = @pgyer_client.token["username"] || " "
|
356
443
|
|
357
444
|
|
358
445
|
# current_dir = current_dir = Dir.pwd
|
@@ -418,9 +505,44 @@ module Pindo
|
|
418
505
|
|
419
506
|
end
|
420
507
|
|
421
|
-
def print_app_version_info(
|
508
|
+
def print_app_version_info(app_info_obj:nil, app_version_info_obj:nil)
|
509
|
+
# 打印应用版本信息和二维码
|
510
|
+
return if app_info_obj.nil? || app_version_info_obj.nil?
|
422
511
|
|
423
|
-
|
512
|
+
# 从对象提取信息
|
513
|
+
app_name = app_info_obj["projectName"]
|
514
|
+
download_password = app_info_obj["password"]
|
515
|
+
download_url = "#{app_info_obj["downloadUrl"]}?id=#{app_version_info_obj["id"]}"
|
516
|
+
bundle_id = app_version_info_obj["bundleId"]
|
517
|
+
project_version = app_version_info_obj["projectVersion"]
|
518
|
+
build_version = app_version_info_obj["build"]
|
519
|
+
index_no = app_version_info_obj["indexNo"] || app_version_info_obj["incId"]
|
520
|
+
update_time = app_version_info_obj["updateTime"]
|
521
|
+
description = app_version_info_obj["description"]
|
522
|
+
app_size = app_version_info_obj["appSize"]
|
523
|
+
|
524
|
+
# 格式化上传时间(时间戳转换为可读格式)
|
525
|
+
if update_time
|
526
|
+
if update_time.is_a?(String) && update_time =~ /^\d+$/
|
527
|
+
# 如果是字符串格式的时间戳
|
528
|
+
update_time = update_time.to_i
|
529
|
+
end
|
530
|
+
if update_time.is_a?(Integer)
|
531
|
+
# 将毫秒时间戳转换为秒
|
532
|
+
update_time = update_time / 1000 if update_time > 9999999999
|
533
|
+
formatted_time = Time.at(update_time).strftime("%Y-%m-%d %H:%M:%S")
|
534
|
+
else
|
535
|
+
formatted_time = update_time
|
536
|
+
end
|
537
|
+
else
|
538
|
+
formatted_time = "未知"
|
539
|
+
end
|
540
|
+
|
541
|
+
# appSize已经是格式化后的字符串,直接使用
|
542
|
+
formatted_size = app_size
|
543
|
+
|
544
|
+
# 生成二维码
|
545
|
+
qrcode = RQRCode::QRCode.new(download_url)
|
424
546
|
svg = qrcode.as_ansi(
|
425
547
|
light: "\033[47m", dark: "\033[40m",
|
426
548
|
fill_character: " ",
|
@@ -430,13 +552,15 @@ module Pindo
|
|
430
552
|
puts "\r\n\r\n\r\n\r\n"
|
431
553
|
puts svg
|
432
554
|
puts
|
433
|
-
puts "#{
|
434
|
-
puts "Bundle Id: #{
|
435
|
-
puts "版本号: #{
|
436
|
-
puts "
|
437
|
-
puts "
|
438
|
-
puts "
|
439
|
-
puts "
|
555
|
+
puts "#{app_name} 测试"
|
556
|
+
puts "Bundle Id: #{bundle_id}"
|
557
|
+
puts "版本号: #{project_version} (Build #{build_version})"
|
558
|
+
puts "序号: #{index_no}"
|
559
|
+
puts "包大小: #{formatted_size}" if formatted_size
|
560
|
+
puts "安装密码: #{download_password}"
|
561
|
+
puts "上传时间: #{formatted_time}"
|
562
|
+
puts "链接: #{download_url}"
|
563
|
+
puts "说明: #{description}"
|
440
564
|
puts "\r\n\r\n\r\n\r\n"
|
441
565
|
|
442
566
|
end
|
@@ -455,7 +579,8 @@ module Pindo
|
|
455
579
|
|
456
580
|
app_info_list = Pindoconfig.instance.get_pgyerapps_info_list()
|
457
581
|
app_info_obj = app_info_list&.find do |app_info_item|
|
458
|
-
|
582
|
+
# 新 API 使用 projectName 字段
|
583
|
+
app_info_item_name = app_info_item["projectName"].to_s.downcase.strip.gsub(/[\s\-_]/, '')
|
459
584
|
app_info_item_name.eql?(key_proj_name)
|
460
585
|
end
|
461
586
|
|
@@ -464,9 +589,12 @@ module Pindo
|
|
464
589
|
app_info_obj
|
465
590
|
end
|
466
591
|
|
467
|
-
def get_app_version(
|
592
|
+
def get_app_version(projectId:nil, app_version_index:nil, latest_version:true, package_type:nil)
|
468
593
|
|
469
|
-
|
594
|
+
params = {}
|
595
|
+
params[:nativePackageType] = package_type if package_type
|
596
|
+
|
597
|
+
version_data = @pgyer_client.get_project_package_list(projectId:projectId, params:params)
|
470
598
|
|
471
599
|
version_item_obj = nil
|
472
600
|
if latest_version
|
@@ -492,7 +620,7 @@ module Pindo
|
|
492
620
|
|
493
621
|
app_info_list = Pindoconfig.instance.get_pgyerapps_info_list()
|
494
622
|
if app_info_list.nil?
|
495
|
-
res_data = @pgyer_client.
|
623
|
+
res_data = @pgyer_client.get_project_list(params:params)
|
496
624
|
# puts JSON.pretty_generate(res_data)
|
497
625
|
if !res_data["data"].nil? && res_data["data"].size > 0
|
498
626
|
app_info_list = res_data["data"]
|
@@ -501,7 +629,7 @@ module Pindo
|
|
501
629
|
end
|
502
630
|
|
503
631
|
if app_info_list.nil?
|
504
|
-
res_data = @pgyer_client.
|
632
|
+
res_data = @pgyer_client.get_project_list(params:params)
|
505
633
|
# puts JSON.pretty_generate(res_data)
|
506
634
|
if !res_data["data"].nil? && res_data["data"].size > 0
|
507
635
|
app_info_list = res_data["data"]
|
@@ -518,13 +646,18 @@ module Pindo
|
|
518
646
|
return app_info_list
|
519
647
|
end
|
520
648
|
|
521
|
-
def get_versioon_history_item(app_info_obj:nil, list_select_flat:false)
|
649
|
+
def get_versioon_history_item(app_info_obj:nil, list_select_flat:false, package_type:nil)
|
522
650
|
|
523
651
|
Funlog.instance.fancyinfo_start("正在拉取app上传记录...")
|
524
652
|
|
525
|
-
|
526
|
-
# puts "
|
527
|
-
|
653
|
+
projectId = app_info_obj["id"]
|
654
|
+
# puts "projectId #{projectId}"
|
655
|
+
|
656
|
+
params = {}
|
657
|
+
params[:nativePackageType] = package_type if package_type
|
658
|
+
params[:pageSize] = 25 # 增加默认返回数量
|
659
|
+
|
660
|
+
version_data = @pgyer_client.get_project_package_list(projectId:projectId, params:params) || {}
|
528
661
|
|
529
662
|
Funlog.instance.fancyinfo_success("拉取app上传记录完成!")
|
530
663
|
|
@@ -540,7 +673,7 @@ module Pindo
|
|
540
673
|
#获取version_data 最后10个的incId, bundleId, updateTime组成新数组
|
541
674
|
version_array_temp = version_data["data"].take(list_num).map do |item|
|
542
675
|
{
|
543
|
-
"appVersion" => item["
|
676
|
+
"appVersion" => item["projectVersion"] + "(build " + item["build"] + " )",
|
544
677
|
"incId" => item["incId"],
|
545
678
|
"bundleId" => item["bundleId"],
|
546
679
|
"updateTime" => item["updateTime"]
|
@@ -677,7 +810,7 @@ module Pindo
|
|
677
810
|
Funlog.instance.fancyinfo_error("没有找到git备注信息,无法修改pgyer备注!")
|
678
811
|
else
|
679
812
|
Funlog.instance.fancyinfo_start("开始修复pgyer备注...")
|
680
|
-
@pgyer_client.
|
813
|
+
@pgyer_client.update_project_package(projectId:app_info_obj["id"], id:version_item_obj["id"], comment:comment_str.strip)
|
681
814
|
Funlog.instance.fancyinfo_start("pgyer备注已经修改!")
|
682
815
|
end
|
683
816
|
|
@@ -697,10 +830,10 @@ module Pindo
|
|
697
830
|
|
698
831
|
end
|
699
832
|
|
700
|
-
def resign(
|
833
|
+
def resign(package_id:nil, cert_id:nil)
|
701
834
|
|
702
835
|
Funlog.instance.fancyinfo_start("正在重签名...")
|
703
|
-
result = @pgyer_client.
|
836
|
+
result = @pgyer_client.sign_project_package(packageId:package_id, certId:cert_id)
|
704
837
|
if !result.nil? && result["code"] == 200 && result["data"] == "success"
|
705
838
|
Funlog.instance.fancyinfo_success("重签名成功!")
|
706
839
|
return true
|
@@ -710,39 +843,6 @@ module Pindo
|
|
710
843
|
end
|
711
844
|
|
712
845
|
end
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
def make_msg_data(app_info_obj:nil, app_version_info_obj:nil)
|
717
|
-
|
718
|
-
msg_from = @pgyer_client.token["username"]
|
719
|
-
|
720
|
-
app_name = app_info_obj["appName"]
|
721
|
-
download_password = app_info_obj["password"]
|
722
|
-
download_url = app_info_obj["downloadUrl"] + "?" + "id=" + app_version_info_obj["id"]
|
723
|
-
bundle_id = app_version_info_obj["bundleId"]
|
724
|
-
app_version = app_version_info_obj["appVersion"]
|
725
|
-
index_num = app_version_info_obj["incId"]
|
726
|
-
time = app_version_info_obj["updateTime"]
|
727
|
-
description = app_version_info_obj["description"]
|
728
|
-
msg_from = msg_from || " "
|
729
|
-
msg_data ={
|
730
|
-
app_name: app_name,
|
731
|
-
download_password: download_password,
|
732
|
-
download_url: download_url,
|
733
|
-
bundle_id: bundle_id,
|
734
|
-
app_version: app_version,
|
735
|
-
index_num: index_num,
|
736
|
-
time: time,
|
737
|
-
description: description,
|
738
|
-
msg_from:msg_from
|
739
|
-
}
|
740
|
-
|
741
|
-
return msg_data
|
742
|
-
|
743
|
-
end
|
744
|
-
|
745
|
-
|
746
846
|
end
|
747
847
|
|
748
848
|
end
|
data/lib/pindo/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pindo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wade
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-09-
|
10
|
+
date: 2025-09-21 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: claide
|
@@ -109,6 +109,26 @@ dependencies:
|
|
109
109
|
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: 0.1.9
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: jpsclient
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - "~>"
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: 0.2.0
|
119
|
+
- - ">="
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 0.2.0
|
122
|
+
type: :runtime
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
requirements:
|
126
|
+
- - "~>"
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 0.2.0
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.2.0
|
112
132
|
- !ruby/object:Gem::Dependency
|
113
133
|
name: rqrcode
|
114
134
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,9 +311,6 @@ files:
|
|
291
311
|
- lib/pindo/client/feishuclient.rb
|
292
312
|
- lib/pindo/client/giteeclient.rb
|
293
313
|
- lib/pindo/client/httpclient.rb
|
294
|
-
- lib/pindo/client/pgyer_feishu_oauth_cli.rb
|
295
|
-
- lib/pindo/client/pgyerclient.rb
|
296
|
-
- lib/pindo/client/pgyeruploadclient.rb
|
297
314
|
- lib/pindo/client/tgateclient.rb
|
298
315
|
- lib/pindo/command.rb
|
299
316
|
- lib/pindo/command/android.rb
|
@@ -361,18 +378,19 @@ files:
|
|
361
378
|
- lib/pindo/command/ipa/autoresign.rb
|
362
379
|
- lib/pindo/command/ipa/import.rb
|
363
380
|
- lib/pindo/command/ipa/output.rb
|
381
|
+
- lib/pindo/command/jps.rb
|
382
|
+
- lib/pindo/command/jps/apptest.rb
|
383
|
+
- lib/pindo/command/jps/bind.rb
|
384
|
+
- lib/pindo/command/jps/comment.rb
|
385
|
+
- lib/pindo/command/jps/download.rb
|
386
|
+
- lib/pindo/command/jps/login.rb
|
387
|
+
- lib/pindo/command/jps/resign.rb
|
388
|
+
- lib/pindo/command/jps/upload.rb
|
364
389
|
- lib/pindo/command/lib.rb
|
365
390
|
- lib/pindo/command/lib/forcepush.rb
|
366
391
|
- lib/pindo/command/lib/lint.rb
|
367
392
|
- lib/pindo/command/lib/push.rb
|
368
393
|
- lib/pindo/command/lib/update.rb
|
369
|
-
- lib/pindo/command/pgyer.rb
|
370
|
-
- lib/pindo/command/pgyer/apptest.rb
|
371
|
-
- lib/pindo/command/pgyer/comment.rb
|
372
|
-
- lib/pindo/command/pgyer/download.rb
|
373
|
-
- lib/pindo/command/pgyer/login.rb
|
374
|
-
- lib/pindo/command/pgyer/resign.rb
|
375
|
-
- lib/pindo/command/pgyer/upload.rb
|
376
394
|
- lib/pindo/command/repo.rb
|
377
395
|
- lib/pindo/command/repo/clone.rb
|
378
396
|
- lib/pindo/command/repo/create.rb
|